Starting with MineOS CRUX 0.4.9, MineOS comes with Lilo and Grub 0.97. Also with this version comes the option to entirely skip using a bootloader. Skipping the bootloader is the best option when doing dual-boot or multi-boot configurations that involve at least one other Linux distribution (e.g., Ubuntu, Linux Mint).
Background Information on Bootloaders
Bootloaders exist in several places on a hard drive, both in the drive's Master Boot Record (MBR) as well as an additional partition. For simplicity, the additional partition is typically the same as the Operating system.
Each physical hard drive has an MBR and only ONE will be accessed, which is typically HD(0,0) "grub-style" or sda/hda "lilo-style". MBRs also exist on flash media but that is beyond the scope of this wikipage.
Choosing a bootloader
The first thing to decide when multi-booting is which bootloader you prefer to use--in many cases, the bootloader that is manageable via Linux and a GUI is the best, or whichever is most current--in many cases, this would be GRUB2, which comes with distributions like Ubuntu and Linux Mint. For single boot systems, I recommend Lilo, which is the most straightforward bootloader of the two in MineOS.
Installing / Configuring the bootloader
Follow the instructions best describing your desired configuration.
Using Lilo on a single-boot system
If MineOS CRUX is the only operating system on your server computer, simply install Lilo from the installation script. The script will edit the /etc/lilo.conf file to match your provided answers during the first half of the MineOS installation.
Using GRUB 0.97 on a single-boot system
Grub is equally capable as a single operating-system bootloader and can be selected if you are more familiar with GRUB, simply just prefer it, or want a MineOS graphical splash screen. By selecting GRUB from the installation script, the script will generate the /boot/grub/grub.lst configuration file.
Adding MineOS CRUX to an existing Lilo installation
Boot into your existing Linux installation using the Lilo bootloader that is already installed.
Add the following entry to match your answers from the install script (/dev/sda3 must match the "bootable system partition"):
image=/boot/vmlinuz label=MineOS root=/dev/sda3 read-only append="quiet"
Then, again from the existing Linux installlation:
* Added YourOtherLinuxDistro Added MineOS
More than one line should be returned indicating each of the valid LILO-bootable partitions. If you have more partitions, more entries should be reported. Be sure NOT to restart the computer until all your partitions are 'added' especially looking out for any errors.
Adding MineOS CRUX to an existing GRUB2 installation
Adding MineOS CRUX is easy to an installation using GRUB2. To start, log into your other, non-MineOS distribution that installed GRUB2.
GRUB2 attempts to 'predict' the boot arguments based on any bootloader files that exist on the target partition. First, verify the bootloader files on the MineOS partition from within your non-MineOS distribution, and make the following changes if necessary. Assuming /dev/sda3 is the partition MineOS was installed to:
mount /dev/sda3 /mnt/mineosvi /mnt/mineos/etc/lilo.conf
The file must be changed to match the example below (assuming it was installed to /dev/sda and /dev/sda3):
boot=/dev/sda image=/boot/vmlinuz label=MineOS root=/dev/sda3 read-only append="quiet"
With a proper Lilo configuration file set, GRUB2 can convert it to a GRUB2 entry. Lilo is not necessary for GRUB2 to work, this is simply the most simple way to for GRUB2 to get all the boot information perfectly. Other methods can be used to add MineOS to an existing bootloader and instructions can be found in their respective documentations/guides.
Completing the GRUB2 configuration
grub-mkconfig -o /boot/grub/grub.cfg
Notice that the output file is to /boot/grub which is located on the current partition, rather than MineOS CRUX. When using an existing GRUB2 installation, the bootloader comes entirely from your existing Linux distribution's partition, but then simply loads the kernel and changes the root to the MineOS' partition.