Hi, Adam D. Barratt wrote: > On Mon, 2010-07-19 at 23:42 +0200, Axel Beckert wrote: > > Colin Watson wrote: > > > > Since #550160 has been fixed, the grub menu appears, I can edit the > > > > entries on the console, etc. > > > > > > > > But as soon as I want to boot one entry, I get the error message > > > > "Memory Address not Alligned" and I'm back to the boot prompt "ok" of > > > > OpenPROM/OpenBoot. > > > > > > Vladimir Serbinenko (upstream) told me that he believes he's fixed this: > [...] > > > If you still have the > > > affected system in operation, could you please try upgrading to the > > > current version in unstable > > Is this issue still exhibited with the current version of grub2 in > unstable?
First try with version from unstable (1.98+20100804-13), no manual interventions: grub-mkdevicemap generated strange device.map (attached). update-grub used the binary carp in there and put it in grub.cfg (attached). grub-install on the only non-floppy device in the device.map worked without problems. Booting resulted in 8x the following output: ---snip--- Boot device: disk File and args: GRUB Loading kernel... Welcome to GRUB! Can't read disk label. Can't open disk label package. Can't read disk label. Can't open disk label package. Can't read disk label. Can't open disk label package. Can't read disk label. Can't open disk label package. Can't read disk label. Can't open disk label package. Can't read disk label. Can't open disk label package. Can't read disk label. Can't open disk label package. Can't read disk label. Can't open disk label package. Fast Data Access MMU Miss ok ---snap--- So basically something different happens, but we're far away than we already were, i.e. no more grub menu or commandline available. Warm or cold boot doesn't seem to make a difference. Next try with grub from experimental (1.99~20110106-1): But basically the same happens, just with three small differences: a) no "Fast Data Access MMU Miss" but "error: out of memory. error: no suitable mode found. Illegal instruction" instead. b) grub-installed issued a warning about embedding not possible in this setup and that I need to use blocklist instead. It though says also installation succeeded without error: 6/0/0 r...@hz:pts/0 02:01:32 [~] # grub-install '(hd0)' /usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. Installation finished. No error reported. 7/0/0 r...@hz:pts/0 02:02:41 [~] # grub-install /dev/disk/by-id/ata-ST39120A_7BV080CK /usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. Installation finished. No error reported. 8/0/0 r...@hz:pts/0 02:03:43 [~] # But since grub behaves differently afterwards, I think it did write it on disk. c) different binary garbage in the device.map (attached) I'll now try to see if fixing the device map manually (no binary garbage but hd0 in there instead) helps. I really wonder where this binary garbage (see attachement) comes from. Anyway, next try was to manually edit the device.map to look like I'd expect it to look: (fd0) /dev/fd0 (hd0) /dev/disk/by-id/ata-ST39120A_7BV080CK grub-install still throws the same error messages (in case of the version from experimental) or not (in case of unstable). No big change though, just again "Fast Data Access MMU Miss" instead of "Illegal instruction". Maybe those are interchangable in some way. Any advice what I could try else? I'll at least stay in contact with Vladimir for further debugging. Regards, Axel -- ,''`. | Axel Beckert <a...@debian.org>, http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE `- | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5
() /dev/fd0 (????????) /dev/disk/by-id/ata-TS9321A0_B70V08KC
# # 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 ieee1275_fb } insmod lvm insmod part_sun insmod ext2 set root='(vg0-usr)' search --no-floppy --fs-uuid --set 49d242fd-f885-4059-b7a4-4aac2e6cd9a9 if loadfont /share/grub/unicode.pf2 ; then set gfxmode=640x480 load_video insmod gfxterm fi terminal_output gfxterm insmod part_sun insmod ext2 set root='(????????,sun1)' search --no-floppy --fs-uuid --set 842411ca-fed2-427c-8120-e0deb03c634c set locale_dir=($root)/grub/locale set lang=en 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_linux ### menuentry 'Debian GNU/Linux, with Linux 2.6.36-trunk-sparc64' --class debian --class gnu-linux --class gnu --class os { insmod part_sun insmod ext2 set root='(????????,sun1)' search --no-floppy --fs-uuid --set 842411ca-fed2-427c-8120-e0deb03c634c echo 'Loading Linux 2.6.36-trunk-sparc64 ...' linux /vmlinuz-2.6.36-trunk-sparc64 root=/dev/mapper/vg0-root ro echo 'Loading initial ramdisk ...' initrd /initrd.img-2.6.36-trunk-sparc64 } menuentry 'Debian GNU/Linux, with Linux 2.6.36-trunk-sparc64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os { insmod part_sun insmod ext2 set root='(????????,sun1)' search --no-floppy --fs-uuid --set 842411ca-fed2-427c-8120-e0deb03c634c echo 'Loading Linux 2.6.36-trunk-sparc64 ...' linux /vmlinuz-2.6.36-trunk-sparc64 root=/dev/mapper/vg0-root ro single echo 'Loading initial ramdisk ...' initrd /initrd.img-2.6.36-trunk-sparc64 } menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-sparc64' --class debian --class gnu-linux --class gnu --class os { insmod part_sun insmod ext2 set root='(????????,sun1)' search --no-floppy --fs-uuid --set 842411ca-fed2-427c-8120-e0deb03c634c echo 'Loading Linux 2.6.32-5-sparc64 ...' linux /vmlinuz-2.6.32-5-sparc64 root=/dev/mapper/vg0-root ro echo 'Loading initial ramdisk ...' initrd /initrd.img-2.6.32-5-sparc64 } menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-sparc64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os { insmod part_sun insmod ext2 set root='(????????,sun1)' search --no-floppy --fs-uuid --set 842411ca-fed2-427c-8120-e0deb03c634c echo 'Loading Linux 2.6.32-5-sparc64 ...' linux /vmlinuz-2.6.32-5-sparc64 root=/dev/mapper/vg0-root ro single echo 'Loading initial ramdisk ...' initrd /initrd.img-2.6.32-5-sparc64 } ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ### ### 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 ###
() /dev/fd0 (??\`??\`) /dev/disk/by-id/ata-ST39120A_7BV080CK