|Steps to create the Driver Disk (Dated: July 15, 2006): As promised earlier, I have written the steps, that I took, in creating the driver disk. You can find it here.|
Kubuntu Live CD for VT8251: (Dated: July 15, 2006): James Muir has built a new Live CD (Kubuntu 6.06 with 18.104.22.168 kernel) to recognize VT8251 controlled SATA drives. Though I have not tried it, you can check it here.
NOTE: This is an external site. Please contact the author for any info/help/disclaimer regarding this Live CD.
|Updated Driver Disk (Dated: June 24, 2006): Some persons have reported that the driver disk is not working in their setup. Hence, I have re-compiled the drivers and made few changes to the driver disk files. Few steps to use the driver disk has changed - please see below. I checked the new driver disk on few PCs with VT8251 SATA Controller & it is working fine. Please mail me your experience if you try it out.|
We recently received 54 new PCs having VIA® VT8251 SATA controller and AMD® Athlon® 64 CPU and SATA Hard Disk. But when we tried to install Fedora® Core 5 x86_64 to it, we found that the SATA HDD is not detected.
After searching the Net, I found that the existing Linux® kernel does not support this controller. VIA website has a patch for it, but it is for FC4.
Rajahuroman has painstakingly patched the ahci.c and sata_via.c (originally written by Jeff Garzik) source by hand so that it compiles in the latest kernels. I downloaded the two source files from his website and recompiled the FC5 x86_64 kernel with these two files. After inserting libata and the new sata_via modules, the SATA HDD was recognized properly.
Both the above two methods require an additional PATA HDD to first install the OS to it, then recompile the kernel and load the new modules. To install the OS directly, I needed either a Driver Disk or an Installation CD with the new kernel.
Petr Sulla has a very nice howto describing the steps required to build a custom Red Hat® Linux driver disk. Though it is dated 2001, it still worked in the latest Fedora version. After trying for some time, FC5 finally accepted my version as a driver disk ;-). The SATA HDD was detected during installation with this (so called) driver disk and the OS was finally installed without the help of any other HDD.
But the problem did not end there. The freshly installed OS refused to boot from the SATA HDD when I rebooted the PC after installation. Definitely, there is some mistake on my part. But as I had spent quite some time making the driver disk, I looked for some other options to make it work. I booted the PC into rescue mode along with the driver floppy, copied the module to the HDD, issued depmod and recreated the initrd image.
Finally, FC5 came to life using the existing SATA HDD. (Thank God!!!)
Though, this is not a good solution, I am nevertheless giving the driver disk and the steps, hoping that it will be of some use to people like me, until further help arrives.
boot: linux dd
boot: linux rescue dd
# mkdir /tmp/ramfs/floppy # mount /dev/fd0 /tmp/ramfs/floppy/ # cp /tmp/ramfs/floppy/x86_64/ahci.ko /mnt/sysimage/lib/modules/2.6.15-1.2054_FC5/kernel/drivers/scsi/ # cp /tmp/ramfs/floppy/x86_64/sata_via.ko /mnt/sysimage/lib/modules/2.6.15-1.2054_FC5/kernel/drivers/scsi/ # chroot /mnt/sysimage # cd boot/ # depmod -av # mv initrd-2.6.15-1.2054_FC5.img initrd-2.6.15-1.2054_FC5.img.old # mkinitrd initrd-2.6.15-1.2054_FC5.img 2.6.15-1.2054_FC5
I have given the files and the steps here, so that it may be useful to someone. However, I shall not be responsible for any data loss, hardware loss, any kind of injury, waging of war etc. etc ;-) due to this work. Use entirely at your own risk!