Bug#825292: grub-common: does not provide the correct device name for booting the Hurd.

2016-06-01 Thread Rodrigo Valiña Gutiérrez
El 30/5/2016 21:07, "Samuel Thibault"  escribió:
>
> Yes, that should be correct. Note that it's the 30_os-prober.in file
> which needs to be modified. Also, since this is an upstream file, you
> should probably contact upstream to get it integrated there, so Debian
> doesn't maintain the change ad æternam.
>

Ok. Reported upstream at:

http://savannah.gnu.org/bugs/?48068


Bug#825292: grub-common: does not provide the correct device name for booting the Hurd.

2016-05-30 Thread Samuel Thibault
Hello,

Rodrigo Valiña Gutiérrez, on Thu 26 May 2016 12:05:37 +0200, wrote:
> -
> --- 30_os-prober    2016-02-05 18:30:35.0 +0100
> +++ 30_os-prober-3    2016-05-26 11:54:35.819822599 +0200
> @@ -331,7 +331,7 @@
>    save_default_entry | grub_add_tab
>    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/'`"
> +  mach_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}" ;;
> -

Yes, that should be correct. Note that it's the 30_os-prober.in file
which needs to be modified. Also, since this is an upstream file, you
should probably contact upstream to get it integrated there, so Debian
doesn't maintain the change ad æternam.

> So this is one more step to get working flawlessly and out of the box the
> procedure at:
> [2]https://www.gnu.org/software/hurd/hurd/running/debian/CrossInstall.html
> It remains at least to determine whether --readonly is needed,

Yes it is.

> and maybe to provide a way to boot in single user mode (-s) (needed
> for the first two reboots).

That would be useful indeed.

Samuel



Bug#825292: grub-common: does not provide the correct device name for booting the Hurd.

2016-05-26 Thread Rodrigo Valiña Gutiérrez
On Wed, May 25, 2016 at 11:20 PM, Samuel Thibault 
wrote:

>
> Why adding another variable, instead of just fixing mach_device?  I
> guess grub-probe simply changed something and the mach_device definition
> needs to be updated.
>
> This is really meant to be a mach device name, not a "hurd device name".
>
> Samuel
>

I understand. I did not know the exact terminology. So the patch might boil
down to:

-
--- 30_os-prober2016-02-05 18:30:35.0 +0100
+++ 30_os-prober-32016-05-26 11:54:35.819822599 +0200
@@ -331,7 +331,7 @@
   save_default_entry | grub_add_tab
   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/'`"
+  mach_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}" ;;
-

So this is one more step to get working flawlessly and out of the box the
procedure at:
https://www.gnu.org/software/hurd/hurd/running/debian/CrossInstall.html
It remains at least to determine whether --readonly is needed, and maybe to
provide a way to boot in single user mode (-s) (needed for the first two
reboots).
By the moment it does not work out of the box yet because of these and
maybe other issues.
Rodrigo.


Bug#825292: grub-common: does not provide the correct device name for booting the Hurd.

2016-05-25 Thread Samuel Thibault
Hello,

Rodrigo Valiña Gutiérrez, on Wed 25 May 2016 17:53:47 +0200, wrote:
>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/'`

Why adding another variable, instead of just fixing mach_device?  I
guess grub-probe simply changed something and the mach_device definition
needs to be updated.

> - multiboot /boot/gnumach.gz root=device:${mach_device}
> + multiboot /boot/gnumach.gz root=device:${hurd_device}

This is really meant to be a mach device name, not a "hurd device name".

Samuel



Bug#825292: grub-common: does not provide the correct device name for booting the Hurd.

2016-05-25 Thread Rodrigo Valiña Gutiérrez
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-prober2016-02-05 18:30:35.0 +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}' \\
-