Topic: SOLVED: mounting initial filesystem from ISO on multiboot LiveUSB
The following post contains 2 sections:
Section=`background` describes what I'm trying to do; it can probably be skipped by anyone who is expert on Linux LiveUSBs, ISOs, GRUB2, etc (which I suspect the GParted team are, but that material may be useful to others). Basically I'm creating a multiboot/multi-ISO Linux LiveUSB and trying to boot GParted from that.
Section=`problem` (now omitted :-) described what was not working for me, which was (in summary):
on 2 different legacy BIOS machines, my LiveUSB correctly boots several other ISOs ([including both Casper- and Live-based ISOs)
on my 64-bit legacy BIOS machine, my LiveUSB fails to boot `gparted-live-0.22.0-2-amd64.iso`, with console spew indicating problems mounting the initial RAMdisk (initrd/initramfs)
Section=`solution` described what is now working for me.
background
I'm setting up a multiboot/multi-ISO Linux LiveUSB as detailed here, which I intend for use on multiple hosts (i.e., any arbitrary PC I decide I need to boot).
solution
I'm testing my LiveUSB on 2 laptops, both legacy BIOS:
a 6-year-old 64-bit Clevo M762TUN
My LiveUSB currently has
GParted ISO=`gparted-live-0.22.0-2-amd64.iso` at the following path relative to the LiveUSB filesystem's root: `/ISOs/gparted-live-0.22.0-2-amd64.iso`
/boot/grub/grub.cfg containing the following `menuentry` (et al), which correctly boots it on the 64-bit test host:
menuentry 'GParted 64-bit ISO' {
set gfxpayload=text # ~= vga='normal'
# isofile_abspath is relative to LiveUSB root.
set isofile_abspath='/ISOs/gparted-live-0.22.0-2-amd64.iso'
# isofile_devpath is relative to (and begins with) '/dev'
set isofile_devpath="${devroot}${isofile_abspath}"
# "mount" the ISO
loopback loop "(${root})${isofile_abspath}"
# Following line adapted from https://wiki.archlinux.org/index.php/Multiboot_USB_drive#GParted_Live
linux '(loop)/live/vmlinuz' boot='live' union='overlay' username='user' config components noswap noeject toram='filesystem.squashfs' ip='' nosplash findiso="${isofile_abspath}"
initrd '(loop)/live/initrd.img'
}