OpenBSD Multi-booting

Devil head

This document applies only to i386 architecture.

This document has been imported to the OpenBSD Installation Guide. Please check there for more up-to-date information.

Boot Selectors

A Boot Selector (or boot switcher) selects among the various systems you might have installed on your disk and boots the one you want. My current favorite is extipl, which requires no configuration, installs from any bsd or linux, lives in the first track of the disk, and uses lba so it works on modern disks. Another favorite is osbs20b8, which also lives on the first track of the disk but does not use lba and requires DOS for installation. I tried Ranish Partition Manager once but it's confusing to use and needs a file system (FAT or ext2) to live on.

Installing and Using FreeBSD With Other Operating Systems is a good source of information about the booting process and multi-booting. FreeBSD uses a two stage boot instead of OpenBSD's three stage, but the principles are the same.

Other possibilities include Boot Easy, lilo, and grub, but these all require space on a file system, and must be configured and installed from a particular OS.

NT

I have been unable to get osbs to work with NT. Some people claim this will work if NT is booted from the first partition on the disk. I have not verified this. Instead, I use the NT loader. To multi-boot with NT, you need a copy of your OpenBSD pbr. After running installboot, you can copy it something like this:

dd if=/dev/rsd0a of=openbsd.pbr count=1

Now mount your NT root partition (or boot NT) and put openbsd.pbr in c:. Add a line like this (terminated with cr-nl, not just nl) to the end of c:\boot.ini:

c:\openbsd.pbr="OpenBSD"

When you reboot, you should be able to select OpenBSD from the NT loader menu. There is much more information available at the NTLDR Hacking Guide.

Do not ask me any questions about installboot. I will not answer them.

Windows 2000 and later

I have had reports that NTLDR in Windows 2000 and later won't boot OpenBSD, and other reports that it will. I no longer use Microsoft products so I can't verify.

Linux

Beware of recent GRUB based linux distros. Some of them do not use a PBR. If you do not have a PBR, you can't multiboot using anything other than the linux loader, usually lilo or grub. I believe both of these have options for installing a PBR but RedHat, for example, does not do this by default.

I have successfully used lilo to boot OpenBSD. Follow the instructions in "Booting FreeBSD using LILO", which is part of the Linux+FreeBSD mini-HOWTO.

GRUB is able to boot OpenBSD via chaining to the PBR. It is not capable (as of March 2005) of loading an OpenBSD elf kernel directly. GRUB was an interesting idea but you're never going to get all the OS vendors to agree on executable format and parameter passing. Better to just have your boot switcher chain to the PBR of each OS.

Jim Rees