On 06/24/11 16:51, Anand Buddhdev wrote:
> Hello list users,
> 
> I have a virtual server for testing, on which I have installed OpenBSD 4.8.
> The installation is on wd0a, and there's just a single / partition.
> 
> I then did a second installation, and setup OpenBSD 4.9 on wd0d, also with a
> single / partition.
> 
> At this point, I can reboot the server, and at the boot prompt, I can
> manually boot into one or the other system as follows:
> 
> boot> boot hd0a:/bsd (for OpenBSD 4.8)
> boot> boot hd0d:/bsd (for OpenBSD 4.9)
> 
> Next, I wished to make the 4.9 installation the default. Therefore, I did
> the following:
> 
> 1. Booted into 4.9
> 2. Logged in as root
> 3. cd /usr/mdec; ./installboot /boot ./biosboot wd0
> 4. echo 'boot hd0d:/bsd' > /etc/boot.conf
> 
> My expectation was that after a reboot, the OpenBSD booter would load up,
> look for wd0d:/etc/boot.conf, find the boot command in there, and boot
> automatically into 4.9. This is based on my reading of the boot.conf man
> page, section 5:
> 
> 5.   If the file */etc/boot.conf* exists on the filesystem *boot* was loaded
>           from, open and parse it.  This file may contain any commands *boot*
>           accepts at the interactive prompt.  Though default settings usually
>           suffice, they can be changed here.
> 
> However, this didn't happen. Instead, the server booted off hd0a:/bsd, and
> into 4.8.
> 
> Is this a bug, or have I missed something?


The output of installboot -v (-n) could be helpful.
Then read and understand boot_i386(8).
On i386 BIOS loads MBR, (which maybe loads another MBR, ) which loads
the PBR (biosboot), which loads second stage bootloader (/boot), which
loads kernel (/bsd).
Your problem is possibly that the MBR still loads the PBR/biosboot from
your wd0a disklabel partition. Thats because your MBR only knows one
OpenBSD MBR partition, which starts with your wd0a disklabel partition.

I see two possible solutions to achieve dualbooting:

- use only one OpenBSD biosboot and boot bootloader and install both on
  wd0a. You can configure this bootloader with /etc/boot.conf on wd0a.
- If you really, really want to load the bootloaders from wd0d, then
  create another MBR partition using fdisk having same size and
  location as your wd0d disklabel partition. Then you can dualboot by
  activating either your real OpenBSD partition, starting at wd0a or
  this fake partition starting at wd0d.


Christopher

Reply via email to