From: Tobias Geerinckx-Rice <somebody@not-sent-or-endorsed-by.tobias.gr>
To: gnuforever <help@tuyizere.org>
Cc: guix-devel@gnu.org
Subject: Re: boot multiple Gnu/Linux Distributions from one USB key
Date: Tue, 12 Mar 2019 11:34:18 +0100 [thread overview]
Message-ID: <8736nsjs9h.fsf@nckx> (raw)
In-Reply-To: <774d552beb6266a199523203e1ce6b8c@tuyizere.org>
gnuforever (yay!),
gnuforever wrote:
> I configured a usb stick to boot multiple Gnu/Linux
> Distributions by
> following this tutorial:
> https://community.linuxmint.com/tutorial/view/1846
> 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
> linux
> (loop)/gnu/store/0zajbn9q39yva4l0zzrcshlll8qikzba-linux-libre-4.19.6/bzImage9
> --root=GUIXSD_IMAGE
> --system=(loop)/gnu/store/l4hgd4l7acrqwi3imav9akcvv4sbj85j-system
> --load=(loop)/gnu/store/l4hgd4l7acrqwi3imav9akcvv4sbj85j-system/boot
> initrd
> (loop)/gnu/store/9nqaksx40zh5d6cg5rim3f3spy56bfb9-raw-initrd/initrd.cpio.gz
> }
>
> 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,
T G-R
next prev parent reply other threads:[~2019-03-12 10:50 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-11 21:00 boot multiple Gnu/Linux Distributions from one USB key gnuforever
2019-03-12 10:34 ` Tobias Geerinckx-Rice [this message]
2019-03-12 13:05 ` Ricardo Wurmus
2019-03-12 18:56 ` Vagrant Cascadian
2019-03-13 5:24 ` gnuforever
2019-03-23 16:57 ` Tobias Geerinckx-Rice
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8736nsjs9h.fsf@nckx \
--to=somebody@not-sent-or-endorsed-by.tobias.gr \
--cc=guix-devel@gnu.org \
--cc=help@tuyizere.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).