This article is from a FAQ concerning SCO operating systems. While some of the information may be applicable to any OS, or any Unix or Linux OS, it may be specific to SCO Xenix, Open There is lots of Linux, Mac OS X and general Unix info elsewhere on this site: Search this site is the best way to find anything.
Unless you are moving to a RAID-5 config from a single disk, you can do this without wiping out and restoring data.
However, you should ALWAYS have good backups prior to something as drastic as this.
The first step is to be sure the current drive geometry has been recorded on the drive. Ordinarily, your SCSI BIOS decides what the geometry should be, and that's the problem: the BIOS on the new controller may have a different concept of geometry and if it does, you will not be able to boot. However, if the drive has been "stamped" with a particular geometry, the new controller will respect and use those settings.
Check the geometry. You can see it in "hwconfig", and "dparam" will also tell you what it is. For example,
# dparam /dev/rhd00 2213 255 0 0 0 0 0 63
That's a drive with 2213 cylinders, 255 heads, and 63 sectors per track. The middle five 0's refer to wrt_reduce, precomp, ecc and controller type and landing zone (it's common for those to be zero on modern drives)
Now write it:
dparam -w /dev/rhd00 dparam /dev/rhd00 2213 255 0 0 0 0 0 63
The next step is to install the drivers for the new controller if they aren't already in the kernel. If, for example, these are provided as a BTLD on a floppy, you'd use btldinstall:
mount /dev/fd0 /mnt btldinstall /mnt
That lets you install the driver, but hasn't told the system to USE that driver.
Identify the current disk driver by
grep Sdsk /etc/conf/cf.d/mscsi
Your current driver will in column 2- examples "alad", "arad", "blad"
Identify what driver you need by examining /etc/default/scsihas (if you used a btld, it's whatever you installed)
cd /etc/conf/sdevice.dEdit the current driver file and change the "Y"'s to "N" in the first column. For example, if your current driver is alad, you edit /etc/conf/sdevice.d/alad.
Edit the NEW driver file and change "N" to Y. Example, your new driver is "blad", you edit /etc/conf/sdevice.d/blad.
Next, cd /etc/conf/cf.d and edit mscsi. Change the driver column to match your NEW controller. For example, changing from alad to blad with vi:
btmnt -w cp /stand/unix /stand/unix.good btmnt -d ./link_unixAnswer yes to boot by default and to rebuild kernel environment.
Shut system down and install new controller. If any problem, put back good controller and boot "unix.good" (type unix.good at Boot: prompt).
Got something to add? Send me email.