Serial ATA (SATA) Linux IDE Driver

Pre-compiled Linux kernels with driver support for the SiI3x12A SATA controller chip can be found on the Linux ATA development site: http://kernel.org/. You must use a kernel version of 2.4.18-14 or later to have SATA support for the SiI3x12. The open source Linux driver should be on the CD for the Linux distribution you have if your version already uses a kernel version later than 2.4.18-14.

Comments/Special Instructions:
For those who are not experienced Linux users, please be aware that you do not patch drivers into Linux the same way you patch drivers into Windows. You do not download a new driver patch and click install. When there is a new driver, you must recompile a new version of the kernel. This is just how Linux operates and is why you see a long list of all the kernel versions on http://kernel.org/. If you are not experienced with installing a new Linux kernel, we recommend that you consult with the appropriate documentation or have an experienced Linux user perform this update for you.

Below are some instructions on how to install the open source driver under Redhat.

Installing the SATA Open Source Driver under Redhat 8.0

If you have a Redhat 8.0 CD, when installing the OS on a SATA drive there is an important detail: The PCI scan order must be reversed if there are IDE devices on the motherboard. 

At boot time:

	Boot:  Linux ide=reverse   

at booting time this will assure the SATA drive becomes the target drive. 

At bootstrap configuration time:
	add ide=reverse  (graphical interface) or
	Insert an append=ide=reverse on lilo.conf

Seagate drives require:  (until Seagate fix is done)
	Boot: Linux ide=reverse ide=nodma  
	It automatically reverts to dma after installation

Here are the detailed instructions to build the kernel(s):    

1)  Make a copy (or move) the src.rpm to /usr/src/redhat/SRPMS
2)  cd /usr/src/redhat/SRPMS
3)  rpm i  kernel.2.4.18-src.rpm
4)  cd ../SPECS
5)  Note that the whole source tree kernel replaces (overlays) the old one. If you want to see the differences we suggest that you do
	a) mv kernel-2.4.18 kernel-2.4.18.ori on usr/src/redhat/BUILD before doing the rpmbuild
	b) diff urN kernel-2.4.18 kernel-2.4-18.ori > kernel.2.4.18.lad.patch
	c) mv usr/src/redhat/BUILD/kernel-2.4.18/linux /usr/src/linux-2.4.18

6)  rpmbuild ba  kernel-2.4.18-14.lad.spec or
    rpmbuild -ba --without smp --without debug --without bigmem --target \i686 kernel-2.4.18-3.lad.spec
(if you know which kernel you want)

7)  The new kernel tree will show up in  /usr/src/redhat/BUILD/kernel-2.4.18/linux
