Triple-boot (Linux, hai/Genode, Haiku)

A recurrent theme in alt-OS forums is the “multi boot” topic, whereby posters compete with each other to see how many Operating Systems you can cram on an HDD, whilst multi-booting them with e.g. the Grub boot menu.
I’m not looking to break any records in this post, in fact there’s just two systems that are of interest to me, plus a third one which is a “necessary standard” for handling the other two :slight_smile: .

The below describes the steps to replicate my setup. This is mainly for myself, in case I change my hard-drive again (but who knows if this might inspire someone else ?).

Anyway I’m now setup on my T410’s newer/secondary HDD with:

  • Linux (Debian), ext4fs partition + swap partition
  • NTFS partition for h/o/g (not actually booting off that one directly, instead I boot h/o/g from a USB thumbdrive which uses this partition as storage, but I’ll look into moving the boot-modules to the partition and integrating it in the GRUB menu at some point in the future)
  • Haiku R1/beta5, BFS partition

Haiku got installed in litterally less than a minute, once I (finally) got it to boot to the installer. That’s for doing a full install with optional packages and with the dev environment and GCC compiler. Quite a contrast with Linux. All those years, and I still can’t get over how fast it installs ^^. Well, SculptOS obviously takes even less time to be ‘flashed’ to a USB stick, but that comparison won’t be apples-to-apples until SculptOS is self hosted/has gcc on the image (and when it does, I’ll have high expectations :wink: ).

Anyway, the steps:

  1. install Debian in the first 100 GiB of the drive; then, thinking of the next step, try a manual re-config of the partition layout to add another partition, reserved for NTFS – I don’t remember for sure but that was possibly done after installing and rebooting… which seems to have upset linux or grub, as it now pauses after the BIOS for 30 seconds echoing strange messages, but I can live with that.
  2. format a second 100 GB partition as NTFS (using Debian), then reboot to h/o/g thumbdrive, launch GeDepot to make it download and install depot packages (Falkon etc).
  3. reboot to Haiku beta5 thumbdrive, launch DriveSetup to create a third 100 GiB partition, format it to BFS, install to it. Then figure out how to integrate Haiku in GRUB.

Resulting partition layout :

I won’t belabor #1 and #2 as they are relatively straightforward, ‘RTFM’ steps. However the last one is a step I should keep a trace of, in case I ever need to replicate it:

After step #3, one needs to reconfigure GRUB, otherwise that third partition remains unaccessible… I was a little apprehensive, but it turned out to be fairly easy. I just followed the “GRUB 2” instructions down this page.

One needs to find out the partition name first. How to determine if the partition to be configured in GRUB is “/dev/sda1” or “/dev/sda2” or whatever? In MATE I realized I just need to open it, in the desktop : when opened for the first time after boot-up, I get a dialog asking “Password required to mount /dev/sda4”. There it is!

Then I saw that the steps outlined in the “install guide” above can be simplified to just two:

sudo nano /etc/grub.d/40_custom  # see below
# I didn't need this step:  sudo nano /etc/default/grub
sudo update-grub

The first “sudo nano” was for appending this:

# Haiku on /dev/sda4 .............
menuentry "Haiku" {
  set root=(hd0,4)
  chainloader +1
}

That’s it. There is now a “Haiku” line in the GRUB boot menu, below the Debian ones, which works as intended. Later I’ll try to configure a dev environment for building Genode from source (you can never have too many of those ^^).

EDIT: Debian just crashed on me (the desktop, that is). I was re-arranging screenshot files etc and browsing them, after editing this post… All of a sudden I got a blank/black screen, then a few seconds later the login screen… Typed my login/pwd, the desktop was empty of FireFox etc. I guess coding a Desktop is still a challenge (in some cases) in this day and age still ^^

1 Like