#721491 partman-base: /dev/disk links are not refreshed on dreamplug after repartitioning

#721491#5
Date:
2013-09-01 08:51:54 UTC
From:
To:
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.

#721491#10
Date:
2013-09-01 09:53:45 UTC
From:
To:
clone 721485 -1
reassign -1 partman-base
retitle -1 partman-base: /dev/disk links are not refreshed on dreamplug after repartitioning
found -1 165
thanks

Not sure where it belongs exactly: Although this seems to only affect
ext2 and not ext3 in your testng neither partman-ext2r0 nor partman-ext3
seem to do anything with udev, so I suspect this is a higher level issue
relating to changing the default scheme etc. Therefore I've assigned to
the wheezy version of partman-base as a first stab.

BTW, the relevant tool to call seems to be debian-installer-utils'
update-dev which calls udevadm and is itself called from all over
partman etc.

Ian.