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

Martin Steigerwald Martin at lichtvoll.de
Sat Aug 29 12:23:06 UTC 2009


Am Samstag 29 August 2009 schrieben Sie:
> Am Samstag, den 29.08.2009, 12:46 +0200 schrieb Martin Steigerwald:
> > Am Samstag 29 August 2009 schrieben Sie:
> > > Am Samstag, den 29.08.2009, 11:14 +0200 schrieb Martin Steigerwald:
> > > > I just let aptitude update grub-pc to 1.96+20090826-3. I do not
> > > > know the earlier version, but I guess it was one version before,
> > > > cause if I still had the squeeze one it wouldn't have updated to
> > > > the unstable automatically.
> > > >
> > > > On booting up today I got:
> > > >
> > > > [Linux-bzImage, setup=0x2c00, size=0x25a070]
> > > > vga=792 is deprecated. Use set gfxpayload=1024x768x24,1024x768
> > > > before linux command instead.
> > > > unaligned pointer 0x700ba
> > > > Aborted. Press any key to exit.Operating system not found
> > > >
> > > > I also tried with another kernel with the same result.
> > >
> > > With what kernel?
> >
> > vmlinuz-2.6.29.6-tp42-toi-3.0.1-01085-gf325e4a
>
> So another custom kernel with some non offical patches.
> Maybe they just didn't test it with the 32bit boot protocol the kernel
> now have (mainly for EFI).

Well yes, but thats just TuxOnIce as upto know in kernel software suspend 
or userspace software suspend just doesn't work for me. I.e. hangs, at 
least the last time I tried which was a 2.6.30.

> Unfortunately we can only check the boot protocol number the kernel
> officialy supports or maybe the file name but that isn't reliable.
> The *0317-1 version didn't use yet the 32bit Linux loader as default.
>
> Please attach your kernel .config. Then I test if this happens with an
> official kernel with that config too or it that seems to be related to
> this other patches.

Attached configs of both kernels. Please note that a selected only certain 
libata driver to be build at all and thus you might have to enable some 
other driver at least as module in order to make it work.

> > > > Then I booted into grml, overwrote the swap partition and
> > > > recreated it via mkswap in order to make sure the TuxOnIce
> > > > snapshot is invalidated to avoid data loss in next boot.
> > > >
> > > > Then I chrooted to my debian system after bind mounting /dev,
> > > > /proc, /sys to it, downgraded grub-pc to 1.96+20090317-1 from
> > > > squeeze and ran grub- install.
> > > >
> > > > I thought about running grub-install for the grub-pc from
> > > > unstable, but I read the current sid version might be broken
> > > > anyway[1], thus I thought I'd better downgrade to the squeeze one
> > > > in order to get a working system quickly again. I could try
> > > > updating to the sid one again, without running grub-install
> > > > manually and then I run it manually and see whether it fixes the
> > > > issue. So you could know whether its grub itself or a missing
> > > > grub- install.
> > >
> > > If grub-install doestn't get run then /boot/grub still has the old
> > > grub and so nothing actually changed, except if grub-mkconfig
> > > generates a different grub.cfg.
> >
> > So since something changed it means that grub-install has been run?
>
> It should be run, else it can happen that you can't boot your system.
> For example we added `--no-floppy' to the search lines, but an older
> GRUB 2 doestn't understand it and so prints an error.

What about the following test:

- upgrade grub-pc from squeeze to sid again
- reboot
- if it gives the same error, run grub-installl
- reboot

?

I wonder whether I should run dpkg-reconfigure grub-pc and enable grub-
install on upgrades before. I think otherwise it doesn't make much sense. 
Actually I think grub-pc post install should make it a bit more difficult to 
render the system unbootable and thus should always ask whether it should 
run grub-install and default the question to yes. Probably it should only 
be asked on lower debconf priority and just be done in any other case.

>
> > > > Anyway the expected result is: After an update of grub-pc package
> > > > the system boots up manually. Thus if a new version is
> > > > incompatible to the old stage 1 the upgrade process has to force
> > > > a grub-install IMHO or at least strongly recommend it. I don't
> > > > remember seeing anything about this in debconf questions. And if
> > > > a new version of grub-pc doesn't work on my ThinkPad T42 it
> > > > shouldn´t enter testing ;)
> > >
> > > We have already a debconf prompt for running grub-install.
> > > If I reverse the if of the postinst correctly, then it gets shown
> > > if /boot/grub/stage2 or /boot/grub/menu.lst doestn't exist
> > > or /boot/grub/core.img exists.
> > > So at least if grub-install from grub2 were run once.
> > > Debconf prompts are by design only shown once, if you then want to
> > > see it again you'd need to run `dpkg-reconfigure grub-pc'.
> >
> > I don't exactly get this. So I can try dpkg-reconfigure grub-pc, say
> > it should run grub-install everytime grub-pc is updated and be done
> > with it?
>
> It should have already asked you this. But maybe you just didn't notice
> or whatever. In that case `dpkg-reconfigure grub-pc' just asks again.
> Just choose the device(s) where you want to have grub-install run and
> you don't need to think any longer about this as long as the devices
> don't change.

Ah, okay, so it just defaults to do grub-install but it needs to know the 
device. Hmmm, AFAIR I might have gotten something like this and I answered 
it. Well I just ran dpkg-reconfigure grub-pc but didn't get that question 
again:

shambhala:~> dpkg-reconfigure grub-pc
Generating grub.cfg ...
Found Debian background: moreblue-orbit-grub.png
Found linux image: /boot/vmlinuz-2.6.31-rc7-tp42-toi-3.0.1-04741-g57e61c0
Found initrd image: /boot/initrd.img-2.6.31-rc7-tp42-toi-3.0.1-04741-
g57e61c0
Found linux image: /boot/vmlinuz-2.6.30-1-686
Found initrd image: /boot/initrd.img-2.6.30-1-686
Found linux image: /boot/vmlinuz-2.6.29.6-tp42-toi-3.0.1-01085-gf325e4a
Found initrd image: /boot/initrd.img-2.6.29.6-tp42-toi-3.0.1-01085-
gf325e4a
Found linux image: /boot/vmlinuz-2.6.26-2-686
Found initrd image: /boot/initrd.img-2.6.26-2-686
Warning: update-grub_lib is deprecated, use grub-mkconfig_lib instead
Found memtest86 image: /boot/memtest86.bin
Warning: update-grub_lib is deprecated, use grub-mkconfig_lib instead
Found memtest86+ image: /boot/memtest86+.bin
done
shambhala:~>

> > > > This is on an IBM ThinkPad T42.
> > > >
> > > > [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=540125#75
> > >
> > > I should have mentioned that I meant the 1.96+20090825-1 and 1.96
> > > +20090826-1 at that time currently in sid and not the
> > > 1.96+20090826-3.
> >
> > So I should try the unstable one again?
> >
> > What would be your directions?
>
> You can also try the current squeeze version which is 1.96+20090808-1
> That uses the new Linux loader too.
> With linux16 and initrd16 you can try out the old one. That should
> work.

Well I do use the current squeeze version right now:

shambhala:~> apt-show-versions | grep grub-pc
grub-pc/squeeze uptodate 1.96+20090317-1

And this one works. The one that didn't was the sid version. And thus I 
downgraded to the squeeze one. So squeeze versions works while sid one did 
not work.

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kernel-configs.tar.bz2
Type: application/x-bzip-compressed-tar
Size: 23412 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20090829/057b23dd/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20090829/057b23dd/attachment-0001.pgp>


More information about the Pkg-grub-devel mailing list