reopen 630581
found 630581 dropbear/2012.55-1.2
severity 630581 grave
thanks

Justification for grave: A system upgraded from squeeze to wheezy is
unbootable.

So let me give more insight into this after being bitten by the issue.

The initial issue #630581 was libnss_something being missing from the
initramfs. There was a warning message noting the files were absent. The
root cause of this is the multiarch transition moving those files in
architecture specific paths. Now the fix in 2012.55-1.1 (or .2?) looks
for those files in the correct locations. It looks in the same directory
as the c library. On i386 (and likely other architectures as well) there
can be multiple c libraries, libc6 and libc6-i686. In the presence of
the latter the library path is /lib/i386-linux-gnu/i686/cmov. For
reasons that I don't understand the copy_exec call does not work with
the latter path. The libnss_something files are missing from the
generated initramfs. This should be easy to reproduce using an i386
chroot that includes libc6-i686 by looking at the generated initramfs.
Using this initramfs gives exactly the symptoms described in #630581.
The system used to report is i386 and likely has libc6-i686 installed.
You might want to merge those bugs.

So as a workaround I locally changed

        LIBC_DIR=$(ldd /usr/sbin/dropbear | sed -n -e 's,.* => 
\(/lib.*\)/libc\.so\..*,\1,p')

to

        LIBC_DIR=$(ldd /usr/sbin/dropbear | sed -n -e 's,i686/cmov/,,;s,.* => 
\(/lib.*\)/libc\.so\..*,\1,p')

as a workaround. It will select the non-i686 libraries which copy_exec
seems capable to copy. Of course those changes will be overwritten with
the next package upgrade, but it gives me an initramfs that can boot the
machine.

Hope this helps in really fixing the issue.

Helmut


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to