Friday, January 11, 2013

Quick Note on Multiple Linux Installs

Never mind the details, but I had reason to look into how to put a bunch of different Linux distributions on a single machine without virtualization. In my case I wanted Lubuntu, Arch, and Gentoo on my netbook, with room for more if needed. The things I learned:

  1. Do not share /boot across distributions, each distro you install should have it's own /boot for improved sanity.
  2. Do not share /home across distributions, each distro you install should have it's own /home for improved sanity.
  3. Pick one distro as the "safe and sound" one and install it first; you'll let this distro install GRUB2 and you'll use it to manage GRUB2 as you add more distros. So whatever you pick, make sure you know how to update GRUB2 correctly using that distro's configuration files and commands.
  4. Have a partition for shared data. Think of this as what you were trying to accomplish when you thought sharing /home was a good idea. When each distro boots, have the shared disk mounted at a fixed place like /share or maybe /home/user/share or something (this assumes that you're the only user, very true on my netbook).
  5. If you can avoid RAID, do so. If you can avoid LVM, do so. In fact, if you can avoid anything, avoid it. Try to keep things as simple as possible, but not simpler.
  6. Make sure that in each distro you know how to create a user account with the very same user and group id (this once again assumes that you're the only user).

If you were expecting detailed instructions on how to proceed: sorry! But it's really not too hard to figure out. I just wish someone had this list of high-level hints posted somewhere before I started trying to make this work. Now you don't have that excuse anymore. :-) The one thing I will share though is my decidedly non-GPT partitioning scheme. It's not perfect, but it's what works for me so far:

  • /dev/sda1 is the / for the "safe and sound" distro, Lubuntu in my case
  • /dev/sda2 is the swap partition that all installed distros will share
  • /dev/sda3 is the shared data partition that gets mounted under /home/user/share
  • /dev/sda5 is the / for Arch
  • /dev/sda6 is the / for Gentoo
  • ...

LVM would allow you to grow/shrink things later, but I didn't want to bother with the trouble. I have a 160GB disk in my netbook and it was easy to decide that 32GB for each distro would be okay, which leaves 64GB. Take away another 2GB of swap and 16GB of shared data and I have 40+GB left to grow. Not much, but not likely that I'll really need it either.

EDIT: In retrospect I think it would be a good idea to use a rolling release distro for the "safe and sound" one, so I'll probably switch to Arch for that eventually.