Archive for the 'Thomas Alombro' Category

Reinstalling RocketRaid drivers after updating FreeBSD

Tuesday, August 19th, 2008

After going through the steps to update FreeBSD via cvsup, 3 of the servers didn’t come back up after reboot as fast as the other servers I updated did. After 10 minutes, of the server not coming back up, I realized something likely happened to the raid controller driver that these 3 servers use.

Once I got to the datacenter and hooked up a monitor and keyboard, I saw that I was correct, the raid controllers were not loading properly. Luckily I had the documentation, driver disk and floppy that was used to install them originally.

If you don’t have these items anymore, start here:

1. Make a driver disk with a floppy using the driver on the cd.
a. On a Windows machine, make the boot disk with rawrite.exe from the FreeBSD cd.
i. Use the image on the driver cd: freebsd_6.x.img
b. On a FreeBSD machine, make the boot disk with this command:
i. Dd if=freebsd_6.x.img of=/dev/fd0

Those steps are from the documentation that came with the raid controller, but they did not work properly for me, so I started here:

2. Boot the server from the FreeBSD cd, select option 6 for a boot prompt when you get to the menu
3. Insert the driver disk you made then use these commands to load the driver:
a. load disk0:rr172x-6.2.ko (or the filename for the driver you are loading)
b. set boot_askname
c. boot

The documentation also talked about going into the FreeBSD setup and hitting alt-F4 to get to a loader prompt, but that also didn’t see to work for me. After a few tries and several Google searches that didnt not result in telling me how to start booting from cd and finish from the hard drive, I fiddled around in the boot prompt options until I came across the boot_askname option.
After the boot process is started, you will be prompted for the boot partition.

4. Server will continue to boot into FreeBSD then pause to prompt for boot partition
a. Enter ufs:da0s1a

The server will continue booting from here as if nothing was wrong. Now you can get back into your system and get the raid controller drivers back in place. I checked /boot/kernel before this step and found that the driver was no longer on the server.

5. Once server is finished booting, copy the driver from the floppy to the boot dir:
a. mount -o ro /dev/fd0 /mnt
b. cp /mnt/rr172x-6.2.ko /boot/kernel/rr172x.ko
c. umount /mnt
6. Add RocketRaid driver to /boot/loader.conf
a. echo ‘rr172x_load=”YES”’ >> /boot/loader.conf
7. Remove boot cd and driver floppy then reboot

After this reboot, everything will be same as before you updated the server.