Bug#544155: [grub-pc] grub update renders system unbootable (unaligned pointer 0x700ba)

Felix Zielcke fzielcke at z-51.de
Wed Sep 2 09:18:05 UTC 2009


Am Mittwoch, den 02.09.2009, 10:54 +0200 schrieb Witold Baryluk:
> Dnia 2009-08-31, pon o godzinie 10:31 +0200, Felix Zielcke pisze: 
> > retitle 544155 gfxterm breaks booting on Thinkpads
> > thanks
> 
> > 
> > But I suggest you remove from debian/control all packages you don't
> > need, else compiling will take unnecessary long.
> > The debian/ directory should work with all upstream revisions between
> > 2549 (beta1) and 2488 (1.96+20090808)
> 
> > 
> > If that patch isn't the reason for the break, I think it would be good
> > to reverse 2494, 2527 or 2494
> > The others don't look like they could cause this.
> > 
> 
> As pointed in another post, 1bit_blitters.diff doesn't resolve
> antything.
> 
> I started bisection, and this are my first results:
> 
> Last good revision: 2531
> First bad revision: 2532
> 
> 2531 boots fine.
> 2532 gives unaligned pointer.
> 
> but, this looks like problem in configuration,
> because diff with previous version is mostyly about kfreebsd stuff and
> generating configuration.
> 
> This is difference beetwen my grub.cfg in this two revisions:
> 
[...]
> 
> So i will probably need to bisect again, this time using explicit
> commands each time. And testing if ie. tab completion works in them.
> 

Oh I forgot that r2507 disabled gfxterm by default. So better use
GRUB_TERMINAL=gfxterm to explicitly enable it.
And I forgot also a difference between the squeeze Debian package and
the sid one:
terminal_output.gfxterm vs terminal_output gfxterm
The dot was introduced in 1.96+20090725-1 to workaround a regression,
but then it was dropped again because it actually shouldn't necessary.
GRUB handles this a bit different, with the dot it automatically loads
gfxter.mod but we explicitly insmod it anyway so it shouldn't make a
difference.

Here's a complete diff -u of my grub.cfg between squeeze version and sid
one, maybe that helps a bit:

 ### BEGIN /etc/grub.d/00_header ###
 set default=0
-set timeout=5
+insmod ext2
 set root=(hd0,2)
 search --no-floppy --fs-uuid --set 3d35a1c9-bad6-46aa-b84e-bd65a03d9579
 if loadfont /usr/share/grub/unicode.pf2 ; then
   set gfxmode=640x480
   insmod gfxterm
   insmod vbe
-  if terminal_output.gfxterm ; then true ; else
+  if terminal_output gfxterm ; then true ; else
     # For backward compatibility with versions of terminal.mod that don't
     # understand terminal_output
     terminal gfxterm
   fi
 fi
+set timeout=5
 ### END /etc/grub.d/00_header ###
 
 ### BEGIN /etc/grub.d/05_debian_theme ###
+insmod ext2
 set root=(hd0,2)
 search --no-floppy --fs-uuid --set 3d35a1c9-bad6-46aa-b84e-bd65a03d9579
 insmod png
@@ -37,12 +39,14 @@
 
 ### BEGIN /etc/grub.d/10_linux ###
 menuentry "Debian GNU/Linux, Linux 2.6.30-1-amd64" {
+	insmod ext2
 	set root=(hd0,2)
 	search --no-floppy --fs-uuid --set 3d35a1c9-bad6-46aa-b84e-bd65a03d9579
 	linux	/boot/vmlinuz-2.6.30-1-amd64 root=UUID=3d35a1c9-bad6-46aa-b84e-bd65a03d9579 ro vga=0x317 
 	initrd	/boot/initrd.img-2.6.30-1-amd64
 }
 menuentry "Debian GNU/Linux, Linux 2.6.30-1-amd64 (recovery mode)" {
+	insmod ext2
 	set root=(hd0,2)
 	search --no-floppy --fs-uuid --set 3d35a1c9-bad6-46aa-b84e-bd65a03d9579
 	linux	/boot/vmlinuz-2.6.30-1-amd64 root=UUID=3d35a1c9-bad6-46aa-b84e-bd65a03d9579 ro single vga=0x317


-- 
Felix Zielcke
Proud Debian Maintainer






More information about the Pkg-grub-devel mailing list