[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#721485: flash-kernel: flash_kernel_set_root waits for stdin in a particular case, which makes the installer hang



Package: flash-kernel
Severity: critical
Tags: d-i
Justification: breaks the whole system

The flash_kernel_set_root script (located under initramfs-tools/hooks) will
attempt to read from stdin in a particular case, which is reached when no
rootdev was found (line 33: read _ignored).

Even though $DEBIAN_FRONTEND = noninteractive is probably intended to avoid
reaching line 33 in the installer context, it is actually reached when the
pause_error function is called, in the case no rootdev was found.
As a result, the scripts waits for stdin, but obviously cannot read anything,
so it makes the whole installer process hang on the "Installed u-boot-tools"
message.

I reached this case when using and formating an ext2 root partition: it seems
that the ext2 partitioning tool does not ask udev to update the links in
/dev/disk/by-label/, hence flash_kernel_set_root cannot find the disk
corresponding to the newly-created UUID and jumps to pause_error.
Note that this does not happen with ext3.

Running "udevadm trigger" sets the correct /dev/disk/by-label/ symlinks, so
maybe flash_kernel_set_root should run it prior to the disk detection, but
most likely, it should be up to the partitioning tool to ask udev to reload.

In any case, it should never wait for stdin in the installer context.

This happened when installing Debian Wheezy with the latest stable
debian-installer images on a DreamPlug.


Reply to: