Bug#614023: grub-common: /etc/grub.d/30_os-prober sets invalid boot device for the Hurd

Adrian Glaubitz glaubitz at physik.fu-berlin.de
Mon Mar 28 12:49:14 UTC 2011


On Mon, Mar 28, 2011 at 02:27:57PM +0200, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> On 28.03.2011 13:56, Adrian Glaubitz wrote:
> > Hi Vladimir,
> >
> > On Mar 28, 2011, at 5:27 AM, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> >> Fixed upstream by r2627.
> >>     
> > Thanks a lot for fixing that bug!
> >
> >   
> All thanks go to Samuel.

True. Realized that in the moment I sent the email =). Thanks to
Samuel then!

> >> Note however that the device name is just an
> >> educated guess. GNU/Mach should support UUIDs.
> >>     
> > In fact, GNU/Mach already supports UUIDs and it is also used for the Hurd
> > installation ISO images hosted by Samuel Thibault [1]. This Hurd version uses
> > GRUB2 as well without any problems.
> >
> >   
> I didn't see any UUIDs in 10_hurd.in. It seems that it actually just
> reuses the device name which is already mounted at /. Can you give an
> example of UUID-base grub.cfg?

Sure, I'm attaching the grub.cfg of my current Debian GNU/Hurd
installation which was installed with the aforementioned images hosted
by Samuel.


Regards,

Adrian
-------------- next part --------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set a72a25e0-3ea8-11e0-8592-5254003da1d3
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set a72a25e0-3ea8-11e0-8592-5254003da1d3
set locale_dir=($root)/boot/grub/locale
set lang=
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_hurd ###
menuentry "Debian GNU/Hurd using gnumach-1.3.99-486.gz" --class debian --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,1)'
	search --no-floppy --fs-uuid --set a72a25e0-3ea8-11e0-8592-5254003da1d3
	echo		'Loading GNU Mach ...'
	multiboot	/boot/gnumach-1.3.99-486.gz root=device:hd0s1
	insmod part_msdos
	insmod ext2
	set root='(hd0,1)'
	search --no-floppy --fs-uuid --set a72a25e0-3ea8-11e0-8592-5254003da1d3
	echo		'Loading the Hurd ...'
	module		/hurd/ext2fs.static ext2fs --readonly \
			--multiboot-command-line='${kernel-command-line}' \
			--host-priv-port='${host-port}' \
			--device-master-port='${device-port}' \
			--exec-server-task='${exec-task}' -T typed '${root}' \
			'$(task-create)' '$(task-resume)'
	module		/lib/ld.so.1 exec /hurd/exec '$(exec-task=task-create)'
}
menuentry "Debian GNU/Hurd using gnumach-1.3.99-486.gz (recovery mode)" --class debian --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,1)'
	search --no-floppy --fs-uuid --set a72a25e0-3ea8-11e0-8592-5254003da1d3
	echo		'Loading GNU Mach ...'
	multiboot	/boot/gnumach-1.3.99-486.gz root=device:hd0s1 -s
	insmod part_msdos
	insmod ext2
	set root='(hd0,1)'
	search --no-floppy --fs-uuid --set a72a25e0-3ea8-11e0-8592-5254003da1d3
	echo		'Loading the Hurd ...'
	module		/hurd/ext2fs.static ext2fs \
			--multiboot-command-line='${kernel-command-line}' \
			--host-priv-port='${host-port}' \
			--device-master-port='${device-port}' \
			--exec-server-task='${exec-task}' -T typed '${root}' \
			'$(task-create)' '$(task-resume)'
	module		/lib/ld.so.1 exec /hurd/exec '$(exec-task=task-create)'
}
### END /etc/grub.d/10_hurd ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###


More information about the Pkg-grub-devel mailing list