Bug#585068: grub-pc: fails to boot kfreebsd with "no such partition" after upgrade from 1.98-1

Vladimir 'φ-coder/phcoder' Serbinenko phcoder at gmail.com
Wed Jun 9 06:29:17 UTC 2010


On 06/08/2010 10:10 PM, Axel Beckert wrote:
> Package: grub-pc
> Version: 1.98+20100602-2
> Severity: grave
>
> When I try to boot, grub doesn't seem to find its "normal" module
> anymore by itself but needs a manual hint:
>
>   
I've fixed this bug about a week ago in mainstream
> ---snip---
> GRUB loading.
> Welcome to GRUB!
>
> error: no such partition.
> Entering rescue mode...
> grub rescue> set prefix=(hd0,msdos1,bsd1)/boot/grub
> grub rescue> insmod normal
> grub rescue> normal
> ---snap---
>
> Neither "grub-install /dev/ad0" nor "update-grub" nor
> "grub-mkdevicemap" changed this situation.
>
> I don't know exactly since which version this is happening, because
> the box had an uptime of 77 days.
>
> The last boot was at Tue Mar 23 12:27:43 2010 when both, testing and
> unstable had version 1.98-1. So I downgraded all packages build from
> the grub2 source package to 1.98-1 from testing and it worked again.
>
> So this problem probably has been introduced after 1.98-1.
>
> Following the diff between the grub.cfg generated by 1.98-1 ("<") and
> 1.98+20100602-2 (">"). One notable difference is that the newer grub
> uses "(hd0,1,1)" instead of "(hd0,1,a)" to describe the root
> partition. But at least "ls" on the grub 1.98+20100602-2 command line
> did neither accept "(hd0,1,1)" as partition nor "(hd0,1,a)", just
> "(hd0,msdos1,bsd1)" and "(hd0,1,bsd1)".
>
> OTOH "set root='(hd0,1,1)'" from grub.cfg seems to work anyway.
>
> ---snip---
> 26a27,28
>   
>> insmod part_bsd
>> insmod part_msdos
>>     
> 28c30
> < set root='(hd0,1,a)'
> ---
>   
>> set root='(hd0,1,1)'
>>     
> 34,38d35
> <   if terminal_output gfxterm ; then true ; else
> <     # For backward compatibility with versions of terminal.mod that don't
> <     # understand terminal_output
> <     terminal gfxterm
> <   fi
> 39a37,49
>   
>> if terminal_output gfxterm ; then true ; else
>>   # For backward compatibility with versions of terminal.mod that don't
>>   # understand terminal_output
>>   terminal gfxterm
>> fi
>> insmod part_bsd
>> insmod part_msdos
>> insmod ufs2
>> set root='(hd0,1,1)'
>> search --no-floppy --fs-uuid --set 49c265649d15ddd7
>> set locale_dir=($root)/boot/grub/locale
>> set lang=en
>> insmod gettext
>>     
> 43a54,55
>   
>> insmod part_bsd
>> insmod part_msdos
>>     
> 45c57
> < set root='(hd0,1,a)'
> ---
>   
>> set root='(hd0,1,1)'
>>     
> 58c70,72
> < menuentry "Debian GNU/kFreeBSD, with kFreeBSD 8.0-1-686-smp" --class debian --class gnu-kfreebsd --class gnu --class os {
> ---
>   
>> menuentry 'Debian GNU/kFreeBSD, with kFreeBSD 8.0-1-686-smp' --class debian --class gnu-kfreebsd --class gnu --class os {
>> 	insmod part_bsd
>> 	insmod part_msdos
>>     
> 60c74
> < 	set root='(hd0,1,a)'
> ---
>   
>> 	set root='(hd0,1,1)'
>>     
> 62c76
> < 	echo			Loading kernel of FreeBSD 8.0-1-686-smp ...
> ---
>   
>> 	echo			'Loading kernel of FreeBSD 8.0-1-686-smp ...'
>>     
> 67c81,83
> < menuentry "Debian GNU/kFreeBSD, with kFreeBSD 7.3-1-686-smp" --class debian --class gnu-kfreebsd --class gnu --class os {
> ---
>   
>> menuentry 'Debian GNU/kFreeBSD, with kFreeBSD 7.3-1-686-smp' --class debian --class gnu-kfreebsd --class gnu --class os {
>> 	insmod part_bsd
>> 	insmod part_msdos
>>     
> 69c85
> < 	set root='(hd0,1,a)'
> ---
>   
>> 	set root='(hd0,1,1)'
>>     
> 71c87
> < 	echo			Loading kernel of FreeBSD 7.3-1-686-smp ...
> ---
>   
>> 	echo			'Loading kernel of FreeBSD 7.3-1-686-smp ...'
>>     
> 77c93,95
> < menuentry "Debian GNU/kFreeBSD, with kFreeBSD 7.2-1-686-smp" --class debian --class gnu-kfreebsd --class gnu --class os {
> ---
>   
>> menuentry 'Debian GNU/kFreeBSD, with kFreeBSD 7.2-1-686-smp' --class debian --class gnu-kfreebsd --class gnu --class os {
>> 	insmod part_bsd
>> 	insmod part_msdos
>>     
> 79c97
> < 	set root='(hd0,1,a)'
> ---
>   
>> 	set root='(hd0,1,1)'
>>     
> 81c99
> < 	echo			Loading kernel of FreeBSD 7.2-1-686-smp ...
> ---
>   
>> 	echo			'Loading kernel of FreeBSD 7.2-1-686-smp ...'
>>     
> 96a115,116
>   
>> 	insmod part_bsd
>> 	insmod part_msdos
>>     
> 98c118
> < 	set root='(hd0,1,a)'
> ---
>   
>> 	set root='(hd0,1,1)'
>>     
> 102a123,124
>   
>> 	insmod part_bsd
>> 	insmod part_msdos
>>     
> 104c126
> < 	set root='(hd0,1,a)'
> ---
>   
>> 	set root='(hd0,1,1)'
>>     
> 111a134,135
>   
>> 	insmod part_bsd
>> 	insmod part_msdos
>>     
> 113c137
> < 	set root='(hd0,1,a)'
> ---
>   
>> 	set root='(hd0,1,1)'
>>     
> ---snap---
>
> -- Package-specific info:
>
> *********************** BEGIN /proc/mounts
> /dev/ad0s1a / ufs rw 0 0
> *********************** END /proc/mounts
>
> *********************** BEGIN /boot/grub/device.map
> (hd0)	/dev/ad0
> *********************** END /boot/grub/device.map
>
> *********************** BEGIN /boot/grub/grub.cfg
> #
> # DO NOT EDIT THIS FILE
> #
> # It is automatically generated by /usr/sbin/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
> }
> insmod part_bsd
> insmod part_msdos
> insmod ufs2
> set root='(hd0,1,1)'
> search --no-floppy --fs-uuid --set 49c265649d15ddd7
> if loadfont /usr/share/grub/unicode.pf2 ; then
>   set gfxmode=640x480
>   insmod gfxterm
>   insmod vbe
> fi
> if terminal_output gfxterm ; then true ; else
>   # For backward compatibility with versions of terminal.mod that don't
>   # understand terminal_output
>   terminal gfxterm
> fi
> insmod part_bsd
> insmod part_msdos
> insmod ufs2
> set root='(hd0,1,1)'
> search --no-floppy --fs-uuid --set 49c265649d15ddd7
> set locale_dir=($root)/boot/grub/locale
> set lang=en
> insmod gettext
> set timeout=5
> ### END /etc/grub.d/00_header ###
>
> ### BEGIN /etc/grub.d/05_debian_theme ###
> insmod part_bsd
> insmod part_msdos
> insmod ufs2
> set root='(hd0,1,1)'
> search --no-floppy --fs-uuid --set 49c265649d15ddd7
> insmod png
> if background_image /boot/grub/moreblue-orbit-grub.png ; then
>   set color_normal=black/black
>   set color_highlight=magenta/black
> else
>   set menu_color_normal=cyan/blue
>   set menu_color_highlight=white/blue
> fi
> ### END /etc/grub.d/05_debian_theme ###
>
> ### BEGIN /etc/grub.d/10_kfreebsd ###
> menuentry 'Debian GNU/kFreeBSD, with kFreeBSD 8.0-1-686-smp' --class debian --class gnu-kfreebsd --class gnu --class os {
> 	insmod part_bsd
> 	insmod part_msdos
> 	insmod ufs2
> 	set root='(hd0,1,1)'
> 	search --no-floppy --fs-uuid --set 49c265649d15ddd7
> 	echo			'Loading kernel of FreeBSD 8.0-1-686-smp ...'
> 	kfreebsd		/boot/kfreebsd-8.0-1-686-smp.gz
> 	set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ad0s1a
> 	set kFreeBSD.vfs.root.mountfrom.options=rw
> }
> menuentry 'Debian GNU/kFreeBSD, with kFreeBSD 7.3-1-686-smp' --class debian --class gnu-kfreebsd --class gnu --class os {
> 	insmod part_bsd
> 	insmod part_msdos
> 	insmod ufs2
> 	set root='(hd0,1,1)'
> 	search --no-floppy --fs-uuid --set 49c265649d15ddd7
> 	echo			'Loading kernel of FreeBSD 7.3-1-686-smp ...'
> 	kfreebsd		/boot/kfreebsd-7.3-1-686-smp.gz
> 	kfreebsd_module_elf	/lib/modules/7.3-1-686-smp/acpi.ko
> 	set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ad0s1a
> 	set kFreeBSD.vfs.root.mountfrom.options=rw
> }
> menuentry 'Debian GNU/kFreeBSD, with kFreeBSD 7.2-1-686-smp' --class debian --class gnu-kfreebsd --class gnu --class os {
> 	insmod part_bsd
> 	insmod part_msdos
> 	insmod ufs2
> 	set root='(hd0,1,1)'
> 	search --no-floppy --fs-uuid --set 49c265649d15ddd7
> 	echo			'Loading kernel of FreeBSD 7.2-1-686-smp ...'
> 	kfreebsd		/boot/kfreebsd-7.2-1-686-smp.gz
> 	kfreebsd_module_elf	/lib/modules/7.2-1-686-smp/acpi.ko
> 	set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ad0s1a
> 	set kFreeBSD.vfs.root.mountfrom.options=rw
> }
> ### END /etc/grub.d/10_kfreebsd ###
>
> ### BEGIN /etc/grub.d/20_memtest86 ###
> menuentry "Memory test (memtest86)" {
> 	linux16	/boot/memtest86.bin
> }
> ### END /etc/grub.d/20_memtest86 ###
>
> ### BEGIN /etc/grub.d/20_memtest86+ ###
> menuentry "Memory test (memtest86+)" {
> 	insmod part_bsd
> 	insmod part_msdos
> 	insmod ufs2
> 	set root='(hd0,1,1)'
> 	search --no-floppy --fs-uuid --set 49c265649d15ddd7
> 	multiboot	/boot/memtest86+_multiboot.bin
> }
> menuentry "Memory test (memtest86+, serial console 115200)" {
> 	insmod part_bsd
> 	insmod part_msdos
> 	insmod ufs2
> 	set root='(hd0,1,1)'
> 	search --no-floppy --fs-uuid --set 49c265649d15ddd7
> 	multiboot	/boot/memtest86+_multiboot.bin console=ttyS0,115200n8
> }
> ### END /etc/grub.d/20_memtest86+ ###
>
> ### BEGIN /etc/grub.d/22_invaders ###
> menuentry "GRUB Invaders" {
> 	insmod part_bsd
> 	insmod part_msdos
> 	insmod ufs2
> 	set root='(hd0,1,1)'
> 	search --no-floppy --fs-uuid --set 49c265649d15ddd7
> 	multiboot	/boot/invaders.exec
> }
> ### END /etc/grub.d/22_invaders ###
>
> ### 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 ###
> *********************** END /boot/grub/grub.cfg
>
> -- System Information:
> Debian Release: squeeze/sid
>   APT prefers unstable
>   APT policy: (990, 'unstable'), (600, 'testing'), (110, 'experimental')
> Architecture: kfreebsd-i386 (i686)
>
> Kernel: kFreeBSD 8.0-1-686-smp
> Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
>
> Versions of packages grub-pc depends on:
> ii  cdebconf [debconf-2.0]   0.149           Debian Configuration Management Sy
> ii  debconf [debconf-2.0]    1.5.32          Debian configuration management sy
> ii  grub-common              1.98+20100602-2 GRand Unified Bootloader, version 
> ii  libc0.1                  2.11.1-2        Embedded GNU C Library: Shared lib
> ii  ucf                      3.0025          Update Configuration File: preserv
>
> grub-pc recommends no packages.
>
> Versions of packages grub-pc suggests:
> ii  desktop-base                  5.0.5      common files for the Debian Deskto
>
> -- Configuration Files:
> /etc/default/grub changed:
> GRUB_DEFAULT=0
> GRUB_TIMEOUT=5
> GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
> GRUB_CMDLINE_LINUX_DEFAULT="quiet"
> GRUB_CMDLINE_LINUX=""
>
>
> -- debconf information:
>   grub2/kfreebsd_cmdline:
>   grub-pc/linux_cmdline: fillme
> * grub2/linux_cmdline:
>   grub-pc/chainload_from_menu.lst: true
>   grub-pc/kopt_extracted: false
> * grub-pc/install_devices: /dev/ad0
>   grub-pc/postrm_purge_boot_grub: false
>   grub2/kfreebsd_cmdline_default: quiet
> * grub2/linux_cmdline_default: quiet
>
>
>
> _______________________________________________
> Pkg-grub-devel mailing list
> Pkg-grub-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/pkg-grub-devel
>
>   


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 294 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20100609/fbee6174/attachment-0001.pgp>


More information about the Pkg-grub-devel mailing list