boot0/BIOS problem...

Brian Szymanski ski at
Mon May 30 05:57:10 PDT 2005


I'm having a problem with boot0. All of my hard drives have the freebsd
boot manager (aka boot0) installed so I can select which disk to boot off
of (I have 4 hard disks, 2 of which have bootable slices).

When I boot up, I can only boot to my /altroot partition. boot0 only lets
me toggle through 3 drives - 2 nonbootables and my /altroot.

For clarity, here's the layout:
MoboATA (atapci2) -------ch1-(ata0)--> PATA HD 1 (ad0:  non-bootable)
                       \-ch2-(ata1)--> PATA HD 2 (ad2:  non-bootable)
PCIATA card (atapci0) ---ch1-(ata2)--> PATA DVD drive (acd0, would be ad4)
                       \-ch2-(ata3)--> (empty)
MoboSATA (atapci1) ------ch1-(ata4)--> SATA HD 1 (ad8:  this should be /)
                       \-ch2-(ata5)--> SATA HD 2 (ad10: /altroot )

Or the equivalent in dmesg-ese:
atapci0: <SiI 0680 UDMA133 controller> port
0xa800-0xa80f,0xb000-0xb003,0xb400-0xb407,0xb800-0xb803,0xd000-0xd007 mem
0xec000000-0xec0000ff irq 17 at device 14.0 on pci0
ata2: channel #0 on atapci0
ata3: channel #1 on atapci0
atapci1: <VIA 6420 SATA150 controller> port
irq 20 at device 15.0 on pci0
ata4: channel #0 on atapci1
ata5: channel #1 on atapci1
atapci2: <VIA 8237 UDMA133 controller> port
0x8400-0x840f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 15.1 on pci0
ata0: channel #0 on atapci2
ata1: channel #1 on atapci2
ad0: 239372MB <Maxtor 6Y250P0/YAR41BW0> [486344/16/63] at ata0-master UDMA133
ad2: 239372MB <Maxtor 6Y250P0/YAR41BW0> [486344/16/63] at ata1-master UDMA133
acd0: DVDR <SAMSUNG CDRW/DVD SM-332B/T404> at ata2-master UDMA33
ad8: 238475MB <WDC WD2500JD-00GBB0/02.05D02> [484521/16/63] at ata4-master
ad10: 238418MB <WDC WD2500JD-75HBB0/08.02D08> [484406/16/63] at
ata5-master SATA150

If I reboot, and cycle through the available drives by repeatedly pressing
F5, I can access all the Hard Drives except the one I want, namely the
first SATA HD (ad8, which is master on ata4).

This exact same setup used to work when I had a different PCIATA card
attached to my DVD drive (namely, an iTE board which I had to patch the
kernel to get it to recognize it - I now have an adaptec SiI 0680 UDMA133
controller). The iTE board was also detected as atapci0 and gave ata2 and

Of course this is all irrelevant because we don't even get to the kernel.
So I'm a bit stumped as to what the problem is here. Is it possible that
boot0 is making some weird call to the bios to figure out what the list of
bootable devices are, and that my bios is the one who's really confused
about the new card?

I'm running 5.3-p15 (can't go to 5.4, because I need vinum R5 to at least
partially work! sigh...)

Thanks in advance,
Brian Szymanski
Software and Systems Developer
Media Matters for America
ski at

More information about the freebsd-stable mailing list