The mini-pc is used to showcase rare Operating Systems. It currently hosts: - [Chimera Linux](https://en.wikipedia.org/wiki/Chimera_Linux): Linux with musl as libc, apk as package manager and FreeBSD userspace utilities - [Haiku](https://en.wikipedia.org/wiki/Haiku_%28operating_system%29): Fast operating system written in C++, continuation of [BeOS](https://en.wikipedia.org/wiki/BeOS) - [9front](https://9front.org/): Continuation of [Plan 9](https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs) - [DragonflyBSD](https://en.wikipedia.org/wiki/DragonFly_BSD): Fork of FreeBSD Disk layout (GPT): - Partition 1: Chimera /boot/efi, FAT32 - Partition 2: Chimera /boot, FAT32 - Partition 3: Chimera /, ext4 - Partition 4: Haiku /, Be File System - Partition 5: 9front, custom subpartition - Partition 6: Dragonfly, custom bsd subpartition ## Troubleshooting By default the machine should boot in GRUB with no countdown timer, leaving you time to choose which OS you want to boot. If this isn’t the case, put Chimera Linux on a USB drive, boot on it (RAM mode), then: ``` # mount /dev/sda3 /mnt # mount /dev/sda2 /mnt/boot # mount /dev/sda1 /mnt/boot/efi # chimera-chroot /mnt # grub-install /dev/sda # update-grub ``` ## Reinstall guide In case something broke real bad or the SSD is getting upgraded, here is how to reinstall the system: - Start with Chimera Linux for the initial partition table. Follow its documentation. - The Haiku installation is straightforward, follow one of the many tutorials or videos online. Note that this will override GRUB. Follow the Troubleshooting section above if you want to recover it at this point. - 9front: *TODO: remember the painpoints*. Note that this will override GRUB. Follow the Troubleshooting section above if you want to recover it at this point. - The default DragonflyBSD installer won’t let you install it on part of the disk. Follow [this very manual installation guide](https://www.dragonflybsd.org/docs/handbook/Installation/#index7h1) to get around that. ### GRUB configuration - Set `GRUB_TIMEOUT` to `-1` in `/etc/default/grub` - Add the following to `/etc/grub.d/40_custom`: ``` menuentry "Haiku" { set root=(hd0,gpt1) chainloader ($root)/EFI/BOOT/HAIKU.EFI } menuentry "9front" { set root=(hd0,gpt5) chainloader ($root)/efi/boot/bootx64.efi } menuentry "Dragonfly BSD" { set root=(hd0,gpt1) chainloader ($root)/EFI/BOOT/DFLY.EFI } ```