boot0/1 problems

John Baldwin jhb at FreeBSD.org
Wed Oct 22 12:26:08 PDT 2003


On 22-Oct-2003 Dan Strick wrote:
> I seem to have stubbed my toe on another nasty little bootstrap problem.
> My Gigabyte motherboard AWARD BIOS passes the wrong drive number in the
> %dl register when it invokes the MBR bootstrap program, boot0.
> This forces me to configure the MBR bootstrap with the setdrv option.
> The noupdate option must also be set because otherwise I risk writing
> the MBR partition table back to the wrong disk and that would be a major
> disaster.
> 
> Here is the problem: the boot1 program depends on the boot0 program
> setting the active partition flag in the MBR partition table.  This
> doesn't happen if the boot0 noupdate option is set.
> 
> The boot1 program always boots the active FreeBSD slice (or the first
> FreeBSD slice if there is no active FreeBSD slice).
> If you have multiple FreeBSD slices on a disk whose boot0 program is
> configured with the noupdate option, YOU CAN ONLY BOOT ONE OF THE
> SLICES.
> 
> I have release 4.9-RCx and 5.1 slices on the same disk.  If the 5.1
> slice is active, the system wedges hard if I attempt to boot the
> 4.9-RCx slice.  If the 4.9-RCx slice is active, the system resets
> if I attempt to boot the 5.1 slice.
> 
> This really sucks.
> 
> Can someone who knows how the bootx programs are supposed to work
> verify that my understanding of the problem is probably correct?

Yes, it is correct.

> Can someone suggest a workaround?

You can change the device you load the kernel from by changing the
'cuurdev' variable.  Thus, if you do 'set currdev=disk1s2a' you can
switch from the first slice to the second.  You can set the device to
mount your root filesystem from by using
'set vfs.root.mountfrom="ufs:/dev/ad0s2a"'.  You might be able to use
the beastie menu in current and hack it to add a menu item for booting
your 4.x slice and then always boot into the current loader and pick
4.x from the menu.

-- 

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


More information about the freebsd-hackers mailing list