[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: boot multiple Gnu/Linux Distributions from one USB key

From: Tobias Geerinckx-Rice
Subject: Re: boot multiple Gnu/Linux Distributions from one USB key
Date: Tue, 12 Mar 2019 11:34:18 +0100

gnuforever (yay!),

gnuforever wrote:
I configured a usb stick to boot multiple Gnu/Linux Distributions by
following this tutorial:
It works for Tails, PureOS, Trisquel and Parabola

It works because these distributions have specific support for loopback booting, which is a non-trivial amount of work. You'll note the following in the GRUB menu entry for ‘pclinuxos’:

 linux … bootfromiso=/boot-isos/pclinuxos64-kde-2014.05.iso …

This tells the pclinuxos early user space (initramfs) that it should do some loop mounting and other magic before mounting the root partition. You'll also note that Debian-based distributions use a completely different magic word:

 linux … iso-scan/filename=$isofile …

because none of this is standardised or transparent. It's an explicit distro feature that needs to be implemented somewhere in the init code.

I am trying to add GuixSD.

Unfortunately, the Guix System doesn't implement anything like that yet.

For the menuentry, I always start from the grub.cfg embedded in the
iso file.
I add or remove options if needed.

For GuixSD, I came up with this configuration:
I used label instead of uuid.

    ## GUIXSD
    menuentry "GUIXSD - Gnu/Linux" {
set isofile="/boot-isos/guixsd-install-0.16.0.x86_64-linux.iso"
        loopback loop (hd0,1)$isofile
        search --label --set GUIXSD_IMAGE

It doesn't work.

Well, it works up to and including booting the kernel, which is still pretty cool when you think about it :-)

Unfortunately, all off GRUB's loopback magic is local to GRUB. You can't use it to make virtual drives appear in other operating systems. (Well, maybe DOS, but that's more D than OS anyway.)

I get the following error message:

waiting for partition 'GUIXSD_IMAGE' to appear...

Once the kernel boots, Guix's early userspace only looks for real partititions. It won't peek inside random files to see if they contain a file system. And there's currently no way to tell it to.

I wonder if MAPPED-DEVICES could be a solution here, with a bit (heh) of extra code…

Is there any other way to configure multiple Gnu/Linux distros to boot
from one usb?

TL;DR: there is no one reliable way, only distro-specific support.

Kind regards,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]