Bug#549898: hangs while setting up grub-pc

Felix Zielcke fzielcke at z-51.de
Tue Oct 6 08:55:04 UTC 2009


Am Dienstag, den 06.10.2009, 08:48 +0200 schrieb Brice Goglin:
> Package: grub-pc
> Version: 1.97~beta4-1
> Severity: grave
> Justification: renders package unusable
> 
> Installing grub-pc on my Dell PowerEdge 2950 hangs during postinst:
>   Setting up grub-common (1.97~beta4-1) ...
>   Installing new version of config file /etc/grub.d/30_os-prober ...
>   Setting up grub-pc (1.97~beta4-1) ...
>   (need ctrl-c)
> 
> I tried with 1.97~beta3-1 and 1.97~beta4-1, same result.
> Two (similar) machines do this. I have 4 other older poweredge
> 2950 where grub-pc installs fine. Not sure what hardware difference
> could explain this, the software installation is pretty much the same.
> 
> After trying to fix this a couple time and having to abort with ctrl-c,
> I see this in ps:
> 0 D root     14935     1  0  80   0 -   944 ?      07:26 ?        00:00:00 grub-mkdevicemap --no-floppy
> 0 D root     15311     1  0  80   0 -   944 ?      07:33 ?        00:00:00 grub-mkdevicemap --no-floppy
> 0 D root     15498     1  0  80   0 -   944 ?      07:58 ?        00:00:00 grub-mkdevicemap --no-floppy
> 0 D root     15853     1  0  80   0 -   944 ?      07:58 ?        00:00:00 grub-mkdevicemap --device-map=/tmp/device.map.pAT8GlfT --no-floppy
> 0 D root     15893     1  0  80   0 -   944 ?      08:01 ?        00:00:00 grub-mkdevicemap --no-floppy
> So it looks like grub-mkdevicemap hangs here.

Uhm this is very strange for me.
There should be ever only 1 process of it. It doestn't create any
threads or subprocesses and we don't run it with `&' in the background
of the shell.

It would be nice if you could run `strace grub-mkdevicemap --no-floppy'
before you reboot.
Probable it hangs when reading from a device.
Though only the first 512 bytes get read from devices which look like a
hard disk and not a cd or floppy.
Maybe a kernel/glibc bug that open() doestn't return ENOMEDIUM for your
cd drive.

> These processes are not killable.
> I thought of rebooting the machine to cleanup these processes
> but I don't konw what the partial installation actually broke
> from my old grub1 install.
> device.map was left empty. I restored it.
> Which other files should I check before I can reboot?

The only thing which affects GRUB Legacy in the postinst is, that its
update-grub gets run if you choose to chainload GRUB 2 from it. So that
you have a GRUB 2 menu entry in there.
But I don't think that your menu.lst got touched at all.

As a workaround you can just comment out the `grub-mkdevicemap
--no-floppy' in line 37 in /var/lib/dpkg/info/grub-pc.postinst and run
`dpkg --configure -a' or maybe you need to run `apt-get upgrade' or
apt-get `dist-upgrade'

-- 
Felix Zielcke
Proud Debian Maintainer and GNU GRUB developer






More information about the Pkg-grub-devel mailing list