This weekend finally RH9 is up and running on my new box. Interesting part is to get the SATA drive working with RH9. This is also applicable to any distribution, which is based on a 2.4.x kernel (less than 2.4.27 [which is not yet out]). Following is the procedure you can follow to get these distributions running with SATA.
- Set the SATA drive to compatible mode in BIOS so that older OSs recognize them as conventional IDE drives.
- Install the Linux
- Grab the latest release candidate of 2.4.27 kernel (rc4 at this point of time). Version 2.4.27 has the SATA drivers.
- Compile the new kernel, things to look for are
+ Enable the your serial ATA controller in ATA settings (mine was Intel ICH5 i.e Intel PIIX support option)
+ Enable serial ATA option in SCSI low-level drivers
- Install the Kernel (modify your grub configuration adding the new kernel option)
- Now the important thing before rebooting and enabling SATA in BIOS is that the drive name for your hard disk is going to change when you enable the SATA option in BIOS. So you have to specify the correct device name for ROOT partition in kernel boot parameters present in grub configuration file & modify your
/etc/fstab to reflect the new drive name.
- Ok. How do I find new drive name? The BIOS maps the SATA channels as extra IDE channels, so when BISO setting is in SATA your hard disk appears in IDE channel 3 (connected to 1st SATA channel). This is assuming that you have only primary and secondary IDE channels. By this SATA disk on third IDE channel becomes
hde (
hda[master],
hdb[slave] for primary,
hdc[master],
hdd[slave] for Secondary). Note that if you have connected your SATA disk to the second SATA channel leaving the first one empty this will go to IDE channel 4 and drive name becomes
hdg. So you can calculate this before and change your grub configuration and
/etc/fstab accordingly. When installing Linux in compatible mode the disk on SATA moves to one of the disks in Primary or Secondary channels that is the reason we need to do all this.
If you are unable to calculate this properly, use trail and error method by modifying the kernel command line options at grub startup screen. Once you get it right update the configuration files and also update the grub device map which is present in
/boot/grub/device.map by running
grub --device-map=device.map
Then every thing will work fine but if you want to boot your old kernel any time you need to take care of
/etc/fstab.