MINIX 3 uses a close derivative of NetBSD boot loader and MBR boot code. Just as with NetBSD, it can coexist on a hard disk with installations of NetBSD, Windows, or Linux; by installing the extended boot code, it is possible to choose one or another partition and then boot the corresponding operating system without disturbing the others.
GRUB 2 stores its configuration in a file called grub.cfg (usually /boot/grub/grub.cfg) but you shouldn't edit it directly as it is generated with the information given in /etc/default/grub and the files in /etc/grub.d.
To boot MINIX 3 with GRUB 2 there's two alternatives:
Edit /etc/grub.d/40_custom (you will probably have to be root to do so) and add the following code:
menuentry "MINIX 3" { set root=(hdX,Y) chainloader +1 }
Here are some examples of GRUB's naming convention for the disks and partitions:
<!> Note: GRUB 1 and GRUB 2 have different naming conventions for partitions.
Alternatively, if you want to use GRUB to boot MINIX directly:
The entry should have this shape:
menuentry "Minix Latest" { set root=(hd0,3,1) multiboot /boot/minix_latest/kernel rootdevname=c0d0p2s0 module /boot/minix_latest/mod01_ds.gz module /boot/minix_latest/mod02_rs.gz module /boot/minix_latest/mod03_pm.gz module /boot/minix_latest/mod04_sched.gz module /boot/minix_latest/mod05_vfs.gz module /boot/minix_latest/mod06_memory.gz module /boot/minix_latest/mod07_log.gz module /boot/minix_latest/mod08_tty.gz module /boot/minix_latest/mod09_mfs.gz module /boot/minix_latest/mod10_vm.gz module /boot/minix_latest/mod11_pfs.gz module /boot/minix_latest/mod12_init.gz }
If your disk is configured as a native SATA (AHCI) device, you will need to include the line set ahci=yes
in the entry.
Edit /etc/default/grub and change GRUB_HIDDEN_TIMEOUT=0
to # GRUB_HIDDEN_TIMEOUT=0
.
(You can also press shift during GRUB's startup to show the boot menu.)
Run grub-mkconfig
as root to rewiew the new configuration.
Run grub-mkconfig -o /boot/grub/grub.cfg
as root to overwrite your old grub.cfg with the new configuration.
(change the path to your grub.cfg if it differs from the one given above)
To have GRUB1 boot MINIX, you can just add the following lines to your GRUB config file (typically /boot/grub/menu.lst):
title Minix rootnoverify (hdX,Y) # (hdX,Y) is the disk and partition where you install Minix chainloader +1 # tells GRUB to call Minix's boot loader
Here are some examples of GRUB's naming convention for the disks and partitions:
<!> Note: GRUB 1 and GRUB 2 have different naming conventions for partitions.
If you don't want to use a multiboot loader, you can use the MINIX 3 CD-ROM to boot MINIX.
Don't forget to change the Boot Order in your BIOS if necessary. You want to boot from the CD before booting from disk.
:
is on the key right to L):dev hd0i:
to boot from the operating system image file on BIOS drive 0, first MINIX sub-partition. If your installation is complex or if you are unsure, use:
dev
to list all the recognized partitions.
*
is shifted 8 key, _
is the shifted key right to 0, and /
is at lower right):load_mods /boot/minix_latest/mod* multiboot /boot/minix_latest/kernel rootdevname=c0d0p0s0
assuming you want to boot the latest image of MINIX and to use the root file system found by MINIX at controller 0, drive 0, partition 0, subpartition 0; append
ahci=yes
if your system uses SATA disks; any other boot monitor parameter can also be appended.
MINIX used to have other ways to coexist with other operating systems, and many people wrote about it. You can find some pointers on the previous version of this wiki page. However, much of it is outdated and does not apply directly to current versions of MINIX3.