Re: Bug#461442: please add support for os-prober to detect other OSes in update-grub

2008-01-30 Thread Fabian Greffrath

Robert Millan schrieb:

You could try with qemu.

Update:
I tried with Knoppix on a computer that has Debian sid and Windows XP 
installed. The attached script did it's job well - of course except for 
the part when it has to convert Linux device names to GRUB drives (see 
#462218). Support for HURD is still outstanding, though.


Cheers,
Fabian

--
Dipl.-Phys. Fabian Greffrath

Ruhr-Universität Bochum
Lehrstuhl für Energieanlagen und Energieprozesstechnik (LEAT)
Universitätsstr. 150, IB 3/134
D-44780 Bochum

Telefon: +49 (0)234 / 32-26334
Fax: +49 (0)234 / 32-14227
E-Mail:  [EMAIL PROTECTED]

#! /bin/sh -e

# update-grub helper script.
# 

convert_device_to_grub_drive () {
  # you know what's missing here...
  echo $1
}

if [ -x "`which os-prober 2>/dev/null`" ] ; then
  OSPROBED="`os-prober | tr ' ' '|' | paste -s -d ' '`"
fi

if [ -n "${OSPROBED}" ] ; then
  for OS in ${OSPROBED} ; do
DEVICE="`echo ${OS} | cut -d ':' -f 1`"
LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '|' ' '`"
LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '|' ' '`"
BOOT="`echo ${OS} | cut -d ':' -f 4`"

if [ -z "${LONGNAME}" ] ; then
  LONGNAME="${LABEL}"
fi

echo "Found ${LONGNAME} on ${DEVICE}" >&2

case "${BOOT}" in
  chain)
CHAINROOT="`convert_device_to_grub_drive ${DEVICE}`"

cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
set root=${CHAINROOT}
chainloader +1
}
EOF
  ;;
  linux)
if [ -x "`which linux-boot-prober 2>/dev/null`" ] ; then
  LINUXPROBED="`linux-boot-prober ${DEVICE} | tr ' ' '|' | paste -s -d 
' '`"
fi

if [ -n "${LINUXPROBED}" ] ; then
  for LINUX in ${LINUXPROBED} ; do
LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '|' ' '`"
LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
LPARAMS="`echo ${LINUX} | cut -d ':' -f 6 | tr '|' ' '`"

LINUXROOT="`convert_device_to_grub_drive ${LBOOT}`"

if [ -z "${LLABEL}" ] ; then
  LLABEL="${LONGNAME}"
fi

cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" {
set root=${LINUXROOT}
linux ${LKERNEL} ${LPARAMS}
EOF
if [ -n "${LINITRD}" ] ; then
  cat << EOF
initrd ${LINITRD}
EOF
fi
cat << EOF
}
EOF
  done
fi
  ;;
  hurd)
# not yet...
  ;;
  *)
  ;;
esac
  done
fi
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Bug#461442: please add support for os-prober to detect other OSes in update-grub

2008-01-25 Thread Robert Millan
On Fri, Jan 25, 2008 at 10:39:14AM +0100, Fabian Greffrath wrote:
> Otavio Salvador schrieb:
> >os-prober is developed inside Debian Installer team.
> >
> >I think it's two different but reports and then it would be nice to
> >report a specific bug (maybe with a proposed patch) for os-prober to
> >provide what you'd need and then we can push it.
> 
> I believe the issue is even easier to solve. I simply need to run 
> 'linux-boot-prober' (in the same package as os-prober, it seems I am 
> blinded) on the partition for which the 'linux' boot keyword is reported 
> and interpret it's output. Expect more work on this next week. I am 
> sorry I cannot test my script drafts, because I have no other *nix 
> besides Debian on my machine (the first of The Ten Commandments). ;)

You could try with qemu.

-- 
Robert Millan

 I know my rights; I want my phone call!
 What use is a phone call… if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Bug#461442: please add support for os-prober to detect other OSes in update-grub

2008-01-25 Thread Fabian Greffrath

Otavio Salvador schrieb:

os-prober is developed inside Debian Installer team.

I think it's two different but reports and then it would be nice to
report a specific bug (maybe with a proposed patch) for os-prober to
provide what you'd need and then we can push it.


I believe the issue is even easier to solve. I simply need to run 
'linux-boot-prober' (in the same package as os-prober, it seems I am 
blinded) on the partition for which the 'linux' boot keyword is reported 
and interpret it's output. Expect more work on this next week. I am 
sorry I cannot test my script drafts, because I have no other *nix 
besides Debian on my machine (the first of The Ten Commandments). ;)


Cheers,

--
Dipl.-Phys. Fabian Greffrath

Ruhr-Universität Bochum
Lehrstuhl für Energieanlagen und Energieprozesstechnik (LEAT)
Universitätsstr. 150, IB 3/134
D-44780 Bochum

Telefon: +49 (0)234 / 32-26334
Fax: +49 (0)234 / 32-14227
E-Mail:  [EMAIL PROTECTED]



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Bug#461442: please add support for os-prober to detect other OSes in update-grub

2008-01-24 Thread Otavio Salvador
Fabian Greffrath <[EMAIL PROTECTED]> writes:

> At the moment there is still one problem left: os-prober returns the
> partition on which it finds the OS as a system device name,
> e.g. /dev/hda2. At the moment, GRUB does not provide an (easy) way to
> translate these into GRUB drives, e.g. (hd0,1). This is why I allready
> requested such a feature on this list [2].
> Another problem (or: missing feature) is, that at the moment my script
> can only add chainloaded OSes to grub.cfg. To add kernels like Linux
> or HURD it is necessary to mount these partitions again to find out
> exactly where the kernel and initrd images reside. This is something I
> want to avoid, because the partitions have allready been mounted by
> os-prober and I don't want to duplicate it's code for this
> purpose. Maybe os-prober could be modified to be more verbose in such
> cases and report the entire path to the images.

os-prober is developed inside Debian Installer team.

I think it's two different but reports and then it would be nice to
report a specific bug (maybe with a proposed patch) for os-prober to
provide what you'd need and then we can push it.

-- 
O T A V I OS A L V A D O R
-
 E-mail: [EMAIL PROTECTED]  UIN: 5906116
 GNU/Linux User: 239058 GPG ID: 49A5F855
 Home Page: http://otavio.ossystems.com.br
-
"Microsoft sells you Windows ... Linux gives
 you the whole house."


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel