How to Linux find a SATA Harddrive

I had problems to install Linux in a new machine with Dual-core processor, 2 GB of RAM and 160GB SATA Drive.

I was using CentOS 5.0 Linux (RedHat 5 Entrerprise like), and installer couldn't find my SATA DISK.

If you have the same problem, the following describe how i made the install works

Forcing Linux installer to find SATA disk
In installer boot prompt put this command

boot> linux all-generic-ide

Making the Linux kernel find SATA disk throw GRUB boot loader
After install of my linux, the first boot crash the system, so i not think twice. Boot the system again and in GRUB prompt, edited the current entry with e command and added the all-generic-ide in line:

module /vmlinuz-2.6.18-8.el5xen ro root=LABEL=/ rhgb quiet all-generic-ide

e with b command, boot the system without problems.

Made this change in GRUB forever
Edit the file /etc/grub.conf and add this option all-generic-ide like the following example.

# default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-8.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-8.el5 module /vmlinuz-2.6.18-8.el5xen ro root=LABEL=/ rhgb quiet all-generic-ide module /initrd-2.6.18-8.el5xen.img title CentOS-base (2.6.18-8.el5) root (hd0,0) kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet all-generic-ide initrd /initrd-2.6.18-8.el5.img
 * 1) grub.conf generated by anaconda
 * 1) Note that you do not have to rerun grub after making changes to this file
 * 2) NOTICE:  You have a /boot partition.  This means that
 * 3)          all kernel and initrd paths are relative to /boot/, eg.
 * 4)          root (hd0,0)
 * 5)          kernel /vmlinuz-version ro root=/dev/hda2
 * 6)          initrd /initrd-version.img
 * 7) boot=/dev/hda

If the problem persist
In my researchs, i found the folling options:

>> linux all-generic-ide irqpoll pci=nommconf

To me the all-generic-ide works fine, so i not test the others, maybe to you this options works.