Last update:Tuesday,August 8th,11:32
New!Click here to go to the tutorial that explains how to install Slackware Linux on a SATA harddisk.
I've been asked for the link to the original files I used to make the patches so here it is.
Link to a tutorial for installing Fedora Core 5 on a PC with only a SATA drive here.
You can now find a plugin for GAIM to display the current xmms song here.
Diff files made against the patched files.
How to solve the VT8251 SATA Linux problem
Quick solution(if you know how to compile a kernel and set up lilo or grub):
Download the files ahci.c and sata_via.c by right clicking them and using the "Save Link as" option from the menu.
- For those of you who are interested:
I will also include here the ahci.c.diff and sata.c.diff
files I obtained
after applying the diff -pu (unified diffs) command on the ahci.c and sata_via.c files from the
kernel downloaded from ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2
. I posted a link on this page for that kernel.
After saving them, download the 2.6.16 kernel sources and unpack them(I think
that the driver might also work with any newer than 2.6.16 kernel). Replace the file
(kernel_source_extraction_path)/drivers/scsi/ahci.c and
(kernel_source_extraction_path)/drivers/scsi/sata_via.c with the files you downloaded
from this site. Now recompile your kernel and choose
CONFIG_SCSI_SATA=y
CONFIG_SCSI_SATA_AHCI=y
CONFIG_SCSI_SATA_VIA=y
Now all you have to do is to recompile your kernel and your VIA SATA controller
will be recognized during the startup process.
Details and other information for newbies
The files available here for download were written mainly by Jeff Garzik. Still, the kernel module he wrote won't recognize the VT8251 SATA controller found on motherboards such as A8V-MX or A7V-MX. (Skip to useful information) I first bumped into this problem on the 24th of April 2006 when one of my coleague at the Polithenics University of Timisoara where I study at the Computer Science and Automation and Systems Engineering department bought one of these motherboards (the A8V-MX type). We bought the PC piece by piece and assambled it ourselves, and after that we tried to install Linux Slackware 10.2. He only bought one harddisk and it was a SATA harddisk. We had the very unpleasant surprise to see that none of the installation kernels recognized the harddisk. Which was worse was that he didn't buy a floppy disk unit because we both considered that they are obsolete and wouldn't have any chance to use them anyway because it's much easier with the Internet. I then tried to compile a new kernel and boot from a flash memory but the problem was that the harddisk still continued not to be recognized by the new kernel and it was a 2.6.14 kernel which seemed strange. We then went to see about this problem on the Internet and that's when we discovered that LinuxQuestions.org KernelTrap and the ViaArena site was full of posts regarding this problem and that it wasn't quite resolved yet.
What we saw was that in fact there was no general kernel support for this chipset. In fact one message actually said something like "cheap for a reason" about this motherboard. Which is something that seems quite upsetting to me at least: is the free software comunity only making drivers for expensive drivers? Why should it do so? Is free software only for the rich? I hope that there is another explanation available.
Anyway, this is what I managed to find out: VIA prides itself for supporting free operating software so there is a precompiled module and a diff file for these two files I included available for download on www.viaarena.com. The problem is that the diff files were made for the SMP kernel of Fedora Core 4 and they did not apply succesfully to any other kernel. I succeded in downloading and installing Fedora Core 4 on my friend's PC and used the precompiled module. The SATA harddisk was recognized but we had to install Fedora on another ATA harddisk because the kernel from the installation DVD of Fedora did not detect the harddisk during the installation process. So we were nowere because at some point we would have to remove that ATA harddisk.
Useful informationSo, I took the .diff files and analyzed them line by line comparing them to the ahci.c and sata_via.c files from the kernel 2.6.16 sources. A applied a sort of "patching by hand". The thing is that I had to do more than just add and delete a few lines. First of all there weren't just "a few" lines it was more like lots of lines and secondly, and this was the hardest part as I expected some kernel implemented functions and defines evolved and were diffrent from the functions and defines used in the .diff files so I had to dig up those functions and make the necesary replacements. If you would like to see what replacements I needed to to in order to make the new drivers compile then click here. These are diffs made from the patched by hand files to the ones that compile After this the ahci and sata_via drivers compiled. And those modified files are what you downloaded. I will try to get in touch with Mr Jeff Garzik and see if he is willing to include these files permanently in the kernel sources, because they are still 99% his code and I can't really and would not like to take credit for work that is truly his not mine.
Now how to solve the problem of installing a Linux system on the SATA harddisk? The solution I found was to compile a kernel with SATA support for VIA on my PC and make another installation CD for Slackware which included my kernel. This was because he did not have a floppy unit but I guess you could esentially only make a boot disk with this kernel and install Slackware using this disk. The way I did this is explained here. For any other questions write an email on [email protected] and I will try to answer or, if the question could be of interest to others, I will update this page.
Installing support for Realtek ALC653 Audio on Linux
First make sure that your system does not load the snd-via82xx module or any other via sound module. If you have them compiled with builtin support in the kernel you will have to recompile your kernel so that they are either modules or simply not compiled. If you have them as modules and already inserted the first thing you must do is to run "rmmod snd-via82xx"
This is a little bit trickier:
First you will have to go to the Via Arena webpage
and then go to the Download section. Download the viaudiocombo-3.0 driver.
From the Download section from Via Arena you must go to the audio drivers section
and download the file
linux_audio_driver_v30.zip(or you could simply click this and it will download
the driver directly from the VIA site). Inside this package
you will find eventualy a file named viaudiocombo-3.0.tar.gz. Extract this file somewere
and then go inside that directory. Again, there is a function that we must tweak:
You must do one of the following
I would like to point out that modprobe wont't work unless you make other changes so it's easier if we simply don't use modprobe for now. Also this is a OSS driver not ALSA so you must set your sound applications to use oss not alsa (in most cases this is not necesary because most applications still need OSS compatibility). Also to automate the process do this:
If by some reason after you made all this the sound still hangs you must do one more thing. Restart your system, and press DELETE to bring up the BIOS setup utility. In the Advanced section go to PCI/PnP Settings. Set the Plug And Play O/S setting on [Yes]. The driver will probably work now. If not verify that your kernel was compiled with support for Plug And Play Bios'es.
Slackware installation tutorial for SATA harddisks
Following popular demand I decided to write a tutorial on how to install Slackware Linux on a PC that has only one SATA harddisk. I would like to point out that this tutorial may be of use to all that want to install a Slackware Linux distribution on PC's that use technology only the latest kernels offer and need to create a custom installation Slackware CD.
First, you must have a valid Slackware installation CD. We only need CD1, which is the booting CD. On this CD you should have three folders: isolinux, kernels and slackware. In this tutorial we are only interested in tweaking the first two. The idea is to make the CD capable of booting using a kernel compiled by yourself which includes support for your desired components. So, let's start :).
We must perform the following steps. (If you know what you're doing then the order is not compulsory)
You were visitor number: