Re: [Grml] Trying to boot grml ISO image with grml-rescueboot fails

2011-02-21 Thread Michael Prokop
* Frédéric Boiteux  [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-


signature.asc
Description: Digital signature
___
Grml mailing list - Grml@mur.at
http://lists.mur.at/mailman/listinfo/grml
join #grml on irc.freenode.org
grml-devel-blog: http://grml.supersized.org/

Re: [Grml] Trying to boot grml ISO image with grml-rescueboot fails

2011-02-21 Thread Frédéric Boiteux
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.

#!/bin/sh
# Filename:  42_grml
# Purpose:   grub-mkconfig helper script for Grml rescue systems
# Authors:   grml-team (grml.org), (c) Andreas Gredler , 
Michael Prokop 
# Bug-Reports:   see http://grml.org/bugs/
# License:   This file is licensed under the GPL v2+.


set -e

prefix=/usr
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
. ${libdir}/grub/grub-mkconfig_lib

# default unless configured otherwise:
ISO_LOCATION="/boot/grml"

if [ -r /etc/default/grml-rescueboot ] ; then
  . /etc/default/grml-rescueboot
fi

list=$(for i in "${ISO_LOCATION}"/*.iso ; do
 if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
   done)

for grmliso in $list ; do
  rel_dirname="$(make_system_path_relative_to_its_root $(dirname $grmliso))"
  grml="$(basename $grmliso)"

  echo "Found Grml ISO image: $grmliso" >&2
  title="Grml Rescue System ($grml)"

  cat << EOF
menuentry "${title}" {
 $(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^//")
iso_path="${rel_dirname}/$grml $CUSTOM_BOOTOPTIONS"
export iso_path
loopback loop "${rel_dirname}/$grml"
set root=(loop)
configfile /boot/grub/loopback.cfg
}
EOF
done

## END OF FILE #
___
Grml mailing list - Grml@mur.at
http://lists.mur.at/mailman/listinfo/grml
join #grml on irc.freenode.org
grml-devel-blog: http://grml.supersized.org/