Boot(1,2) issue on 4.8 Compaq System

Ed Powers ed at
Sun Jun 8 18:30:46 PDT 2003


I have a newly upgraded 4.8 system that I can no longer boot without
convincing.  I don't beleive the trouble arose due to the upgrade, which always
occurs without an issue at all.  The problem occured when I made alterations to
the Compaq BIOS settings that changed the order in which my drives are probed
and booted.

The following is the setup:

First Controller        - Seagate 4G    - Boot and Root

Second Controller       - Compaq 18G    - Data (Vinum RAID 5)
(Embedded)                Compaq 18G
                          Compaq 18G
                          Compaq 18G

Firing up the system shows the Seagate probed first, then the four drives in
the array. Originally things wee the other way around, but the Compaq BIOS
setup reversed this and I seem to be unable to get the system working again
the "old" way.  I decided I didn't really care what controller went first, so
long as the machine boots and does it's job.  Alas, I can't seem to find a way
to make it happy anymore.

The system goes through boot0 by grabbing mbr appropriately off of the seagate
(the only disk listed that has an mbr).  Then at boot1,2 I get the
"Invalid Partition" error showing that it was unable to find root / kernel  at

Because at this stage of the boot process da0 is still the first compaq drive
in the array - NOT the seagate.  If I manually enter 4:da(0,a)/kernel the
system boots and the system works ok - aside from all the issues that arise
from not using the loader to boot a kernel.

The thing is, when the system does come up is sees the disks at I would expect
it to:

# camcontrol devlist
<SEAGATE ST34572W 0784>            at scbus0 target 0 lun 0 (pass0,da0)
<COMPAQ                 >          at scbus1 target 0 lun 0 (pass1,da1)
<COMPAQ                 >          at scbus1 target 1 lun 0 (pass2,da2)
<COMPAQ                 >          at scbus1 target 2 lun 0 (pass3,da3)
<COMPAQ                 >          at scbus1 target 3 lun 0 (pass4,da4)
<HP C1537A L706>                   at scbus2 target 4 lun 0 (pass5,sa0)

# df | grep /$
/dev/da0s1a         64462   42230   17076    71%    /

I have altered the disklabels of each of the devices to reflect new positions,
so they too appear as how I think they should:

# foreach d (0 1 2 3 4)
  foreach? disklabel -r da$d | grep disk:
  foreach? end
disk: da0s1
disk: da1s1
disk: da2s1
disk: da3s1
disk: da4s1

So, I think the question is why is boot1,2 still thinking that my drives are
configured as they were originally (with the seagate at da4) but yet the BIOS
is providing the correct order and the OS - once it is installed - is also
seeing the config correctly.

Ed Powers

Get your free Verizonmail at

More information about the freebsd-questions mailing list