Bug#610490: grub-ieee1275: runs out of memory (was: Error "Memory Address not Alligned" when trying to boot any menu entry)

Axel Beckert abe at debian.org
Wed Jan 19 00:45:48 UTC 2011


Hi,

Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> > While the bugs reported in here indeed seem to be fixed, grub now runs
> > into just the next problem: It runs out of memory (even though my
> > UltraSparc has 1 GB of RAM)
>
> RISC jumps have a limited range. Since GRUB uses heap to load modules,
> it uses only a minor part of memory

Ok.

> > But also Vladimir's manual grub installation in /usr/local has that
> > problem if I use the grub.cfg generated from the Debian package. Only
> > if I use the hinting feature 
> hints are only a performance improvement. It wasn't intended as a bug
> fix for anything.
> I thought that Out-of-memory problem was caused by at attempt to init
> graphical subsystem. Are you sure that hints is the only difference?

Nope.

Here's the diff of the two grub.cfgs with all path based differences
removed:

# diff /boot/grub/grub.cfg.debian /boot/grub/grub.cfg.upstream-trunk
32,42d31
< insmod lvm
< insmod part_sun
< insmod ext2
< set root='(vg0-usr)'
< search --no-floppy --fs-uuid --set=root 49d242fd-f885-4059-b7a4-4aac2e6cd9a9
< if loadfont /share/grub/unicode.pf2 ; then
<   set gfxmode=640x480
<   load_video
<   insmod gfxterm
< fi
< terminal_output gfxterm
46c35
< search --no-floppy --fs-uuid --set=root 842411ca-fed2-427c-8120-e0deb03c634c
---
> search --no-floppy --fs-uuid --set=root --hint=${root} 842411ca-fed2-427c-8120-e0deb03c634c
48c37
< set lang=en_US
---
> set lang=
51,56c40
< ### 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 ###
---
> ### END /usr/local/etc/grub.d/00_header ###
> ### BEGIN /usr/local/etc/grub.d/10_linux ###
59a44
>       load_video
63c48
<       search --no-floppy --fs-uuid --set=root 842411ca-fed2-427c-8120-e0deb03c634c
---
>       search --no-floppy --fs-uuid --set=root --hint=${root} 842411ca-fed2-427c-8120-e0deb03c634c
65c50
<       linux   /vmlinuz-2.6.37-trunk-sparc64 root=/dev/mapper/vg0-root ro  
---
>       linux   /vmlinuz-2.6.37-trunk-sparc64 root=/dev/mapper/vg0-root ro video=atyfb:off 
69a55
>       load_video
73c59
<       search --no-floppy --fs-uuid --set=root 842411ca-fed2-427c-8120-e0deb03c634c
---
>       search --no-floppy --fs-uuid --set=root --hint=${root} 842411ca-fed2-427c-8120-e0deb03c634c
75c61
<       linux   /vmlinuz-2.6.37-trunk-sparc64 root=/dev/mapper/vg0-root ro single 
---
>       linux   /vmlinuz-2.6.37-trunk-sparc64 root=/dev/mapper/vg0-root ro single video=atyfb:off
79a66
>       load_video
83c70
<       search --no-floppy --fs-uuid --set=root 842411ca-fed2-427c-8120-e0deb03c634c
---
>       search --no-floppy --fs-uuid --set=root --hint=${root} 842411ca-fed2-427c-8120-e0deb03c634c
85c72
<       linux   /vmlinuz-2.6.36-trunk-sparc64 root=/dev/mapper/vg0-root ro  
---
>       linux   /vmlinuz-2.6.36-trunk-sparc64 root=/dev/mapper/vg0-root ro video=atyfb:off 
89a77
>       load_video
93c81
<       search --no-floppy --fs-uuid --set=root 842411ca-fed2-427c-8120-e0deb03c634c
---
>       search --no-floppy --fs-uuid --set=root --hint=${root} 842411ca-fed2-427c-8120-e0deb03c634c
95c83
<       linux   /vmlinuz-2.6.36-trunk-sparc64 root=/dev/mapper/vg0-root ro single 
---
>       linux   /vmlinuz-2.6.36-trunk-sparc64 root=/dev/mapper/vg0-root ro single video=atyfb:off
99a88
>       load_video
103c92
<       search --no-floppy --fs-uuid --set=root 842411ca-fed2-427c-8120-e0deb03c634c
---
>       search --no-floppy --fs-uuid --set=root --hint=${root} 842411ca-fed2-427c-8120-e0deb03c634c
105c94
<       linux   /vmlinuz-2.6.32-5-sparc64 root=/dev/mapper/vg0-root ro  
---
>       linux   /vmlinuz-2.6.32-5-sparc64 root=/dev/mapper/vg0-root ro video=atyfb:off 
109a99
>       load_video
113c103
<       search --no-floppy --fs-uuid --set=root 842411ca-fed2-427c-8120-e0deb03c634c
---
>       search --no-floppy --fs-uuid --set=root --hint=${root} 842411ca-fed2-427c-8120-e0deb03c634c
115c105
<       linux   /vmlinuz-2.6.32-5-sparc64 root=/dev/mapper/vg0-root ro single 
---
>       linux   /vmlinuz-2.6.32-5-sparc64 root=/dev/mapper/vg0-root ro single video=atyfb:off

(Yeah, I forgot to set the video=atyfb:off in the /etc/default/grub.
But since we didn't come so far anyway, it shouldn't matter.)

> In particular check following points:
> - path to unicode.pf2

grub-common contains /usr/share/grub/unicode.pf2 and this seems to be
referenced in Debian's version of grub.cfg.

> - absence of insmod ieee1275_fb

No more found in any version of the grub.cfg and locate only found it
in your build directory.

> - used terminal_output

Probably not the right thing:

set root='(vg0-usr)'
search --no-floppy --fs-uuid --set=root 49d242fd-f885-4059-b7a4-4aac2e6cd9a9
if loadfont /share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm


		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at 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





More information about the Pkg-grub-devel mailing list