Fwd: Bug#825292: grub-common: does not provide the correct device name for booting the Hurd.
Hi,
I have submitted this bug report for grub-common to provide the
correct device name for booting the Hurd, e.g. installed with
crosshurd. May be ok. One step more.
---------- Forwarded message ----------
From: Rodrigo Valiña Gutiérrez <rodrivg@gmail.com>
Date: Wed, 25 May 2016 17:53:47 +0200
Subject: Bug#825292: grub-common: does not provide the correct device
name for booting the Hurd.
To: Debian Bug Tracking System <submit@bugs.debian.org>
Package: grub-common
Version: 2.02~beta2-22+deb8u1
Severity: normal
Tags: patch
The script /etc/grub.d/30_os-prober does not provide the correct device name
for booting the Hurd, e.g. when installed with crosshurd.
The bug also applies to the grub version currently in sid.
The patch changes provided device names from, e.g.:
(hostdisk//dev/sda,msdos2)
to:
hd0s2
This is the patch that solved the problem in my case, and may be correct:
-----------------------------------------------------------------------------
--- 30_os-prober 2016-02-05 18:30:35.000000000 +0100
+++ 30_os-prober-2 2016-05-25 17:13:17.518318125 +0200
@@ -332,13 +332,14 @@
prepare_grub_to_access_device ${DEVICE} | grub_add_tab
grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
mach_device="`echo "${grub_device}" | sed -e
's/(\(hd.*\),msdos\(.*\))/\1s\2/'`"
+ hurd_device=`${grub_probe} --device ${DEVICE}
--target=compatibility_hint | sed 's/,msdos/s/'`
grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`"
case "${grub_fs}" in
*fs) hurd_fs="${grub_fs}" ;;
*) hurd_fs="${grub_fs}fs" ;;
esac
cat << EOF
- multiboot /boot/gnumach.gz root=device:${mach_device}
+ multiboot /boot/gnumach.gz root=device:${hurd_device}
module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
--multiboot-command-line='\${kernel-command-line}' \\
--host-priv-port='\${host-port}' \\
-----------------------------------------------------------------------------
Reply to: