Jan Leow's Blog Page

How To Build a Super Multi-Boot Linux OS

Having cleaned up several of my old PCs, I’ve decided to embark on my next project. To make a super multi-boot OS system with Linux, DOS, Windows XP and alternate operating systems. Dual-booting is fairly easy, but multi-booting with 10 OSes, now that would be a feat! In order to cram in so many OS, some prior preparation would be needed. Since these are old PCs with Pentium 4, Dual-Core and Core 2 Duo, I would need to look for pretty lightweight Linux. I also wanted some alternative non-linux, non-Windows OS.

Planning the multi-boot OS for Linux, DOS, Windows & alternate OS.

As I went along to build the multi-OS, I had to change my plans along the way to accommodate those OS that refused to play nice, gave up installing them and to find other alternatives. This took the better part a week to complete my project. You may be wondering why put in so many operating systems? For one, to see that it could be done, to learn a thing or two about GRUB 2 configuration and to show off! Haha! And a good way to explore the various OS installed in a hard drive, which is very different from running a live version. Two, it would be smoother to use and explore than compared with running it off from a DVD/CD-ROM player or a USB stick.

Additionally, having a separate hard drive would help to install OS that didn’t play nice with sharing partition space with other OS. Having played with various OS earlier, I had some fair idea on setting up the partition necessary and the installation steps to get it done.

Preparing the Hard Disk Drive

For the older PC, I stuck back with MBR (Master Boot Record) rather than GPT partitioning and of course no EFI booting. I haven’t gotten around to figuring out EFI booting and besides these were old PCs that didn’t support it.

An MBR partitioning only allows 4 main primary partitions. To have more partitions, I set up the last one as an extended partition to set up a whole lot more partitions. I understand it could go up to 60 partitions! However I’m unlikely to go that far. And besides the partition size would be too small to be of any use.

You would need to install certain OS in a particular order. The order would be:

  1. MS-DOS 6.22 + Windows 3.11
  2. Windows XP
  3. Linux OS

For a LibreElec Kodi media PC, then you will have to:

  1. Install LibreElec first
  2. Resize the rear partition smaller to accommodate other OS
  3. Install other linux OS and use other Linux GRUB2 to boot

I didn’t install any Microsoft OS for this hard drive, so I’m not sure whether I could install any DOS/Windows after installing LibreElec. However I did have a separate hard drive where I installed MS-DOS/Windows.

Note that each Linux GRUB2 boot loader should be installed in their own partition except for the main Linux install. The main Linux bootloader should be installed in the MBR.

MS-DOS and Windows XP

The first partition, I size to 1.95GB with FAT16 format. I would install the MS-DOS 6.22 here with Windows 3.11. I gave up using FreeDOS 1.5 because Windows 3.11 couldn’t work. There might be a way around it but I just couldn’t figure it out.

Next partition, I format it to NTFS with 30GB, this will be for installing the Windows XP. Of the many Windows versions, I chose this as it has a good balance for speed and functionality on an old PC. Besides that were the oldest drivers available for the motherboard that I could find. Though it could run Windows 7, but would require more CPU power and I didn’t have the last update unlike XP where I still kept my SP3 update. Without Windows support these versions, I no longer could get the updates anymore. And I wanted to play some old PC games, so this was it then!

On the third partition, I would choose my main Linux. I set up about 30GB~40GB partition space for it to provide sufficient space for some data storage as well. A good lightweight Linux choice includes MX Linux, Zorin OS, Linux Light, Linux Mint. Other worthy considerations include Peppermint, Ubuntu MATE. Giving each installs their own partition with about 30-40GB space would be just right. Basically I like Linux using XFCE desktop as it is light enough to handle on such an old PC and still have the familiar old Windows style navigation, which is still the best! The new Windows 10 menu did not give me a great experience as compared to Windows 7 and prior versions. So XFCE is one of my favourites!

GRUB2 menu entry for super multibooting Linux, Windows, OS.

Other interesting Linux OS to install include the UA Pack, Raspberry Pi Desktop version, Kali Linux. UA Pack is somewhat heavier but it aims to provide enough functionality for everyday usage. A desktop version of Raspberry Pi as a comparison to the RPi SBC version. And Kali Linux for learning a thing or two about intrusion protection.

And finally the super lightweight linuxes to install would be Puppy Linux (Fossapup version), Porteus, SliTaz, Slax, Tiny Core Plus. And a System Rescue ISO as well.

As for the alternate OS, I would install Haiku, KolibriOS and Chrome OS. I gave up trying to get these to dual boot: React OS, Solaris, Open Indiana and FreeBSD; although I could get Open Indiana to live boot, unfortunately it refused to install. AROS/Icaros was too rough on the edges and still needed work though the live version could work. As for Menuet OS, I still haven’t gotten around to give it a spin yet.

For Haiku, it uses its own proprietary BeOS filesystem which Linux couldn’t read (but UA Pack could!). So I set it as an unformatted partition to avoid Linux overwriting the partition. I gave Haiku about 20GB of partition space.

For Chrome OS, it is best to install on a separated hard drive. Unplug the other hard disk, while installing it to prevent damaging the other installed OS. Later hook back the main drive and use update-grub to make it part of the GRUB menuentry. I used the smallest capacity hard drive of 40GB that I have. Chrome OS is basically cloud based computing, so there isn’t much need for a large capacity hard drive. The Chrome OS version I used was from the Neverware Cloudready Chrome OS.

And finally the super lightweight linux (Fossapup, Porteus, SliTaz, Slax, Tiny Core Plus), System Rescue ISO, and Kolibri OS, I placed them all in the same partition as they can boot up in their own folder sharing the same partition. As they were super lightweight, I prepared a 10GB~15GB partition to house them all. For these OS, the GRUB2 entry has to be manually coded.

Most of the Linux OS I used were from the Debian branch as it has wider usage. I tried Fedora, a Red Hat branch, but it wanted to be the master and wouldn’t boot from another Linux GRUB2 menu. For the Arch Linux branch, I have Manjaro with a nice GUI desktop, since I wasn't too keen to develop Arch Linux from scratch. As for the Slackware branch, I haven’t come around to poke around for a suitable distro. There’s already too many versions to play about! Besides, on the surface level, most of the usage was just about the same. Though there are indeed differences between the distros when you try to use it in depth.

So my final super multi-boot OS system has 18 operating systems! More than enough OS to play around with and experiment! And that’s not the end, I proceeded to create a multi-boot OS for my other old PCs as well too!

No comments: