1 (edited by TomRoche 2015-06-24 23:14:38)

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):

  1. on 2 different legacy BIOS machines, my LiveUSB correctly boots several other ISOs ([including both Casper- and Live-based ISOs)

  2. 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:

  1. a 10-year-old 32-bit ThinkPad

  2. a 6-year-old 64-bit Clevo M762TUN

My LiveUSB currently has

  1. 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`

  2. /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'
}

2

Re: SOLVED: mounting initial filesystem from ISO on multiboot LiveUSB

There is a newer GParted Live 0.22.0-3 in the testing branch you might try.

3

Re: SOLVED: mounting initial filesystem from ISO on multiboot LiveUSB

I have a fix! more in a bit after I update my docs ...

4

Re: SOLVED: mounting initial filesystem from ISO on multiboot LiveUSB

Excellent!  Please provide details of your fix.  This can help other users that might encounter the same problem.

5

Re: SOLVED: mounting initial filesystem from ISO on multiboot LiveUSB

gedakc wrote:

Please provide details of your fix.

I already did: see revised post above.

6

Re: SOLVED: mounting initial filesystem from ISO on multiboot LiveUSB

Thanks for pointing out the fix TomRoche.  I had not checked the first post.  'Hopefully this will help others who might encounter a similar situation.

7 (edited by Qypel 2015-06-29 15:15:31)

Re: SOLVED: mounting initial filesystem from ISO on multiboot LiveUSB

I think I have the same problem. Grub shows a error according to the initramfs.
But in opposite to you, the path of the ISO file is /ISOs/gparted-live-0.22.0-2-amd64.iso, and /ISOs is on the root partition (at the moment ext4).
What must I change in your solution to solve my problem?

I've taken my settings for GRUB from that page, third paragraph.
It seems that all AMD64 computers have that problem, so it would be nice if you could change the page. I have the same problem with the i686-pae and i586 images, and as I remind, I had it with older images too – the same images, which worked before (I deleted it because I thought there would be a bug). So the problem may be caused by a more recently GRUB version, not by a newer kernel version.