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