<!> When following the instructions in this manual you will install a bootloader, which may leave some or all of the operating systems installed on your computer unbootable if done incorrectly. Only continue if you know what you are doing, be sure to back up important data first.
There currently are no multi-boot compliant bootloaders that support the MINIX 3 filesystem and MINIX-style subpartitions. To Multiboot load MINIX kernel we need a patched version of GRUB. This page describes how to compile and install GRUB and Multiboot MINIX 3 with it. This procedure was tested on Ubuntu 10.4 (Lucid Lynx) 32-bit desktop edition; commands to install packages may be different on other distributions and GRUB 2 may not be installed on old versions (9.10/Karmic Koala should be ok though).
make world
(see TrackingCurrent). Or you can download and install the “current development” image, which already supports Multiboot itself. It's found here: http://www.minix3.org/download/sudo apt-get install bzr
) and typebzr branch -r 2547 http://bzr.savannah.gnu.org/r/grub/trunk/grub/
cd grub && wget -O - http://www.cs.vu.nl/~vdkouwe/minix/multiboot/grub_minix.patch | patch -p0
./INSTALL
in GRUB source; on Ubuntu the following should be enough to get all dependencies:sudo apt-get install gcc make bison gettext binutils flex libdevmapper-dev libncurses5-dev libusb-dev libsdl1.2-dev ruby python autoconf automake ./autogen.sh ./configure make sudo make install
a
into b
, c
, d
, … for other disks; you may need to replace the s
with h
on some systems):sudo grub-install /dev/sda
You can see the message “Installation finished. No error reported” if it's successful.
rootdev
in MINIX. For example if your installed MINIX in /dev/c0d0p1, the command is root (hd0,msdos2,msdos1). There are two potential pitfalls here: (1) GRUB 2 counts partitions starting at one, while MINIX and previous versions of GRUB counted from zero and (2) if the partition sequence in the partition table does not correspond with the on-disk sequence or if partion table slots are skipped, partition numbering differs between operating systems and bootloaders and may be hard to predict. root
command parameter, you can also try to press 'c' in GRUB menu to get a prompt, and type ls -l
to list all recognized partitions. The MINIX partitions will look like (hdY,msdosX,msdos1)
, (hdY,msdosX,msdos2)
and (hdY,msdosX,msdos3)
, where X
and Y
are arbitrary numbers and types of all three are minix3
. If you see partitions in this style, the listed (hdY,msdosX,msdos1)
should be the right parameter, try with it.sudo tee -a /usr/local/etc/grub.d/40_custom > /dev/null menuentry 'Multiboot kernel' { root (hd0,msdos1,msdos1) multiboot /boot/image_latest } <CTRL-D> sudo update-grub