Trying to boot grml ISO image with grml-rescueboot fails

Hello,
I don't know GRML yet, but I've heard about it in Mikas' blog (http://michael-prokop.at/blog/2011/01/07/booting-iso-images-from-within-grub...) and liked to try it, so I installed grml-rescueboot (0.2.0 version) debian package from http://deb.grml.org/ and installed it on my Debian Squeeze system, along with the grml64-medium_2010.12.iso image in /boot/grml directory. I then tried to boot it through the Grub2's menu entry, but it didn't work (using menu, we don't see any error message). I then try to launch every command of the menu entry in Grub2's command line, and it fails in the line :
loopback loop "/boot/grml/grml-medium_2010.12.iso"
telling it doesn't find this file. I think the 'root' setting is missing, and as I have before Grml a grub menu entry to boot a Windows partition, the last root setting isn't the right one.
I've manually set 'root' and then I finally got a new menu, from GRML, and then I tried the 'forensic mode', as I didn't want GRML using my swap partition (I had an hibernated system there), but the debian-live system didn't work. I don't have any clue here as the 'debug' variable wasn't set (and so /live.log was empty), but I'll retry this when I have some spare time).
Hope it can help, Fred.

On Fri, Feb 18, 2011 at 08:24:20AM +0100, Frédéric Boiteux wrote:
Hello,
loopback loop "/boot/grml/grml-medium_2010.12.iso"
telling it doesn't find this file. I think the 'root' setting is missing, and as I have before Grml a grub menu entry to boot a Windows partition, the last root setting isn't the right one.
Could you please post your grub.cfg.
I've manually set 'root' and then I finally got a new menu, from GRML, and then I tried the 'forensic mode', as I didn't want GRML using my swap partition (I had an hibernated system there), but the debian-live system didn't work. I don't have any clue here as the 'debug' variable wasn't set (and so /live.log was empty), but I'll retry this when I have some spare time).
What did not work? It didn't boot? What was the last visible message?
greets Jimmy

* Frédéric Boiteux fboiteux@calistel.com [Fri Feb 18, 2011 at 08:24:20AM +0100]:
I don't know GRML yet, but I've heard about it in Mikas' blog (http://michael-prokop.at/blog/2011/01/07/booting-iso-images-from-within-grub...) and liked to try it, so I installed grml-rescueboot (0.2.0 version) debian package from http://deb.grml.org/ and installed it on my Debian Squeeze system, along with the grml64-medium_2010.12.iso image in /boot/grml directory. I then tried to boot it through the Grub2's menu entry, but it didn't work (using menu, we don't see any error message). I then try to launch every command of the menu entry in Grub2's command line, and it fails in the line :
loopback loop "/boot/grml/grml-medium_2010.12.iso"
telling it doesn't find this file. I think the 'root' setting is missing, and as I have before Grml a grub menu entry to boot a Windows partition, the last root setting isn't the right one.
Ah, good catch - looks like a bug in grml-rescueboot.
I've manually set 'root' and then I finally got a new menu, from GRML,
Can you please try adding the following code after line 36 to /etc/grub.d/42_grml:
$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT}) | sed -e "s/^/ /")
so /etc/grub.d/42_grml looks like:
[...] cat << EOF menuentry "${title}" { $(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/ /") iso_path="${rel_dirname}/$grml $CUSTOM_BOOTOPTIONS" [...]
If that works for you I'd apply this fix and upload a new version of grml-rescueboot.
and then I tried the 'forensic mode', as I didn't want GRML using my swap partition (I had an hibernated system there), but the debian-live system didn't work. I don't have any clue here as the 'debug' variable wasn't set (and so /live.log was empty), but I'll retry this when I have some spare time).
You can add debug=vc manually to the kernel cmdline in Grml's bootsplash or just select the debug menu entry if you want a more verbose boot mode.
Notice that you don't need the forensic mode for this situation as Grml won't use your swap partition unless you explictely request to do so.
Thanks for reporting, Frédéric!
regards, -mika-

Hello Michael,
Le 18/02/2011 18:25, Michael Prokop a écrit :
Can you please try adding the following code after line 36 to /etc/grub.d/42_grml:
$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT}) | sed -e "s/^/ /")
so /etc/grub.d/42_grml looks like:
[...] cat << EOF menuentry "${title}" { $(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/ /") iso_path="${rel_dirname}/$grml $CUSTOM_BOOTOPTIONS" [...]
If that works for you I'd apply this fix and upload a new version of grml-rescueboot.
Your line had a typo (the first ")" has to be removed), then I can get the Grml menu (I've joined my 42_grml file for reference).
You can add debug=vc manually to the kernel cmdline in Grml's bootsplash or just select the debug menu entry if you want a more verbose boot mode.
Notice that you don't need the forensic mode for this situation as Grml won't use your swap partition unless you explictely request to do so.
Thanks for the precision.
I still have a problem booting Grml, but I don't see exaclty what is wrong and how it can work for you ;-) my Grml booting problem is that live system doesn't find the ISO, because of problem in kernel command line : I get a kernel command line (from my memory) like : apm=power-off quiet ... iso="/boot/grml/grml64-medium_2010.12.iso " ...
The problem comes from the quotes around ISO path, as set in 42_grml : iso_path="/boot/grml/grml64-medium_2010.12.iso " (I don't at first set CUSTOM_BOOTOPTIONS, I then tried with some options, with the same result)
I have to remove quotes in iso_path definition to be able to boot, then in that case, I lose optional boot options set in CUSTOM_BOOTOPTIONS).
I've tried to understand how Grml's Grub menu works (with variables like "${isoopts}" "${kernelopts}", i'm not sure about the first variable name), but I don't understand where these variables are set, and how to have a correct boot command with optional BOOTOPTIONS.
Perhaps you'll have some ideas about this,
with regards, Fred.

* Frédéric Boiteux fboiteux@calistel.com [Mon Feb 21, 2011 at 10:40:00AM +0100]:
Le 18/02/2011 18:25, Michael Prokop a écrit :
Can you please try adding the following code after line 36 to /etc/grub.d/42_grml:
$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT}) | sed -e "s/^/ /")
so /etc/grub.d/42_grml looks like:
[...] cat << EOF menuentry "${title}" { $(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/ /") iso_path="${rel_dirname}/$grml $CUSTOM_BOOTOPTIONS" [...]
If that works for you I'd apply this fix and upload a new version of grml-rescueboot.
Your line had a typo (the first ")" has to be removed), then I can get the Grml menu (I've joined my 42_grml file for reference).
Wupps, right.
You can add debug=vc manually to the kernel cmdline in Grml's bootsplash or just select the debug menu entry if you want a more verbose boot mode.
Notice that you don't need the forensic mode for this situation as Grml won't use your swap partition unless you explictely request to do so.
Thanks for the precision.
I still have a problem booting Grml, but I don't see exaclty what is wrong and how it can work for you ;-) my Grml booting problem is that live system doesn't find the ISO, because of problem in kernel command line : I get a kernel command line (from my memory) like : apm=power-off quiet ... iso="/boot/grml/grml64-medium_2010.12.iso " ...
The problem comes from the quotes around ISO path, as set in 42_grml : iso_path="/boot/grml/grml64-medium_2010.12.iso " (I don't at first set CUSTOM_BOOTOPTIONS, I then tried with some options, with the same result)
I have to remove quotes in iso_path definition to be able to boot, then in that case, I lose optional boot options set in CUSTOM_BOOTOPTIONS).
I've tried to understand how Grml's Grub menu works (with variables like "${isoopts}" "${kernelopts}", i'm not sure about the first variable name), but I don't understand where these variables are set, and how to have a correct boot command with optional BOOTOPTIONS.
Thanks to your excellent hints I could spot the problem. I just uploaded grml-rescueboot 0.3.0 to grml-testing that should fix this issue.
Sadly there's still a problem with CUSTOM_BOOTOPTIONS when having more than one option (so CUSTOM_BOOTOPTIONS="ssh=password" works but CUSTOM_BOOTOPTIONS="ssh password lang=de" fails). I've an idea how this could be resolved but this needs further testing.
Anyway, your main issue should be fixed - please let us know whether it works for you!
regards, -mika-

Le Mon, 21 Feb 2011 22:30:27 +0100, Michael Prokop mika@grml.org a écrit :
Thanks to your excellent hints I could spot the problem. I just uploaded grml-rescueboot 0.3.0 to grml-testing that should fix this issue.
Sadly there's still a problem with CUSTOM_BOOTOPTIONS when having more than one option (so CUSTOM_BOOTOPTIONS="ssh=password" works but CUSTOM_BOOTOPTIONS="ssh password lang=de" fails). I've an idea how this could be resolved but this needs further testing.
Anyway, your main issue should be fixed - please let us know whether it works for you!
Hi Mika,
I've tested your new 0.3.0 version, it works fine for grml ISO detection, and the GRML system boot fine. The only remaining gotcha is actually what you tell : the CUSTOM_BOOTOPTIONS remains with quotes in the kernel command line, and thus is misunderstood.
I wonder where is the file /boot/grub/loopback.cfg referenced in the Grub boot stanza : in the ISO itself ?
Now I will have to play with your nice tool, learning how to use it and … how to customize it !
Thanks, Fred.
Teilnehmer (3)
-
Andreas Gredler
-
Frédéric Boiteux
-
Michael Prokop