(info summarized from
http://www.linuxnewbie.org/nhf/intel/hardware/udma66.html)
a Promise Ultra66 will work with E-Smith linux without any kernel patches or modifications. You can even install to a hard drive on the Ultra66 (or 100) controller.
Using a boot/root floppy, such as Tom's boot/root disk (
www.toms.net/rb/home.html), boot into a shell and run "cat /proc/pci"
You should see something like this in the output produced by this command, in addition to other junk.
Unknown mass storage controller: Promise Technology Unknown device (rev 1). Vendor id=105a. Device id=4d38.
Medium devsel. IRQ 5. Master Capable. Latency=64.
I/O at 0x1400 [0x1401].
I/O at 0x10f4 [0x10f5].
I/O at 0x10f8 [0x10f9].
I/O at 0x10f0 [0x10f1].
I/O at 0x1080 [0x1081].
Now Note down the values on those lines beginning with I/O, call them a, b, c, d (which in my case are 0x1400, 0x10f4, 0x10f8, 0x10f0). Ignore "e" (0x1080).
Then give the following command line argument to your kernel on the "lilo" prompt.
boot: accept ide2=a,b+2 ide3=c,d+2
Which in my case is:
boot: accept ide2=0x1400,0x10f6 ide3=0x10f8,0x10f2
(NB: The IDE controllers built into the motherboard are generally ide0 and ide1, and if you have a separate controller card, it probably will be ide2 and ide3)
You should see the drive through linux after that. To avoid having to type that command line arguments to kernel everytime, you can configure lilo to automatically do this for you. Just consult lilo doc about "append" option.
(this involves editing the /etc/lilo.conf file and then running the "lilo" command)
I used this procedure and installed E-smith 5.0 to two hard drives on a Promise ata-100 controller, and set them up for mirroring RAID (software RAID). It works great. See the article referenced above for more information, if needed.