openbsd-ports/sysutils/grub/pkg
..
DESCR
PLIST
README
UNMESSAGE

$OpenBSD: README,v 1.2 2011/06/02 13:41:41 ajacoutot Exp $

+-----------------------------------------------------------------------
| Running ${FULLPKGNAME} on OpenBSD
+-----------------------------------------------------------------------

GRUB's configuration file is /grub/menu.lst which is described in detail
in GRUB's info page. A minimal menu.lst looks like this:

	default 0
	timeout 5

	title OpenBSD
	root (hd0,3)
	chainloader +1

GRUB is currently not able to directly load the OpenBSD kernel, so you have
to use the chainloader. To activate GRUB, you have to run grub-install like
this:

	# grub-install --no-floppy hd0

It will install GRUB in the MBR of your first harddrive. grub-install will
run very slowly if the floppy drive is probed without disk in it.

See GRUB's info page for further details and caveats(!) of this method.

To completely deinstall GRUB, you have to delete /grub and install a new
bootloader into your bootdisk's MBR (look at fdisk(8)'s -u option).

Booting multiple OpenBSD instances from the same disk

When setting up multiple instances of OpenBSD on a single disk, you have
to make sure OpenBSD is installed into primary partitions only. These have
to end on cylinder boundaries like this

# fdisk sd0
Disk: sd0       geometry: 17873/255/63 [287129745 Sectors]
Offset: 0       Signature: 0xAA55
         Starting       Ending       LBA Info:
 #: id    C   H  S -    C   H  S [       start:      size   ]
------------------------------------------------------------------------
 0: A6 11751   0  1 - 15667 254 63 [   188779815:    62926605 ] OpenBSD
 1: A6 7834   0  1 - 11750 254 63 [   125853210:    62926605 ] OpenBSD
 2: A6 3917   0  1 - 7833 254 63 [    62926605:    62926605 ] OpenBSD
*3: A6    0   1  1 - 3916 254 63 [          63:    62926542 ] OpenBSD

When booting, the kernel will use the disklabel from the first OpenBSD
partition found, therefor grub has to set the partition type of unused
partitions to another value as can be seen in
${TRUEPREFIX}/share/examples/grub/menu.lst. The type of the last
partition, in this case partition 3, has to stay at 0xa6 in all cases,
otherwise grub won't be able to find its /grub/menu.lst file. This means
you have to install grub in the OpenBSD partition with the largest number.