Package: initramfs-tools Version: 0.85i Severity: critical Justification: breaks the whole system
-------------- Summary: This problem is in essence (AFAICT) the same as #337176, #420754 I think the solution is to fix the hook-functions to not just catch a few well known optimized locations, but to also dereference library paths to absolute locations? (or create the initrd with symlinks for found lib directories back to /lib) (sorry, i don't have enough time to really dig into this, myself) -------------- If /etc/ld.so.conf contains /lib64, update-initramfs will create a filesystem containing /lib64/libcrypt.so.1, but /bin/sh is looking only for /lib/libcrypto.so.1 yielding: -------------------------- /bin/sh: error while loading shared libraryes: libcrypt.so.1: cannot open shared object file: No such file or directory Kernel panic - not syncing: Attempted to kill init! -------------------------- So /lib64 is default symlink to /lib (on running system): + stat -c %N /lib64 `/lib64' -> `/lib' + grep lib64 /etc/ld.so.conf /lib64 Note: you could argue this is a "mistake", but the end result is that kernel security updates render the system unbootable. As far as the running system is concerned, since /lib64 is a symlink to /lib, it operates the same. Theoretically, though someone COULD make /lib64 a real directory and have a custom libcrypt.so.1 there and i suspect that update-initramfs would still break. + ldconfig -p + grep libcrypt.so libcrypt.so.1 (libc6,x86-64, OS ABI: Linux 2.6.0) => /lib64/libcrypt.so.1 libcrypt.so.1 (libc6, OS ABI: Linux 2.6.0) => /lib32/libcrypt.so.1 libcrypt.so (libc6,x86-64, OS ABI: Linux 2.6.0) => /usr/lib/libcrypt.so note that /lib64 is where libcrypt.so is found in this configuration. If i remove /lib64 from /etc/ld.so.conf and 'ldconfig', we get instead: + ldconfig -p + grep libcrypt.so libcrypt.so.1 (libc6,x86-64, OS ABI: Linux 2.6.0) => /lib/libcrypt.so.1 libcrypt.so.1 (libc6, OS ABI: Linux 2.6.0) => /lib32/libcrypt.so.1 libcrypt.so (libc6,x86-64, OS ABI: Linux 2.6.0) => /usr/lib/libcrypt.so (where it's now found in /lib) + gunzip -c /boot/initrd.img-2.6.18-6-amd64.bak + cpio -tiv + grep crypt 28172 blocks -rw-r--r-- 1 root root 22656 Jan 4 2009 lib64/libcrypt.so.1 Note: i'm using the .bak since we fixed the system previously by removing /lib64 from /etc/ld.so.conf and i've only put it back in here for the bugreport (so /boot/initrd.img-2.6.18-6-amd64 is fixed as seen here:. + gunzip -c /boot/initrd.img-2.6.18-6-amd64 + cpio -tiv + grep crypt 28172 blocks -rw-r--r-- 1 root root 22656 Jan 4 2009 lib/libcrypt.so.1 thanks, --stephen -- Package-specific info: -- /proc/cmdline root=/dev/sda1 ro vga=771 -- /proc/filesystems cramfs ext3 -- lsmod Module Size Used by nfsd 256200 17 exportfs 10368 1 nfsd ipt_MASQUERADE 8320 1 iptable_nat 12292 1 ip_nat 24492 2 ipt_MASQUERADE,iptable_nat ip_conntrack 63140 3 ipt_MASQUERADE,iptable_nat,ip_nat nfnetlink 11976 2 ip_nat,ip_conntrack ip_tables 25576 1 iptable_nat x_tables 22024 3 ipt_MASQUERADE,iptable_nat,ip_tables ppdev 14088 0 parport_pc 41640 0 lp 17736 0 parport 44684 3 ppdev,parport_pc,lp nfs 236216 1 lockd 67600 3 nfsd,nfs nfs_acl 8320 2 nfsd,nfs sunrpc 166984 13 nfsd,nfs,lockd,nfs_acl autofs4 27912 1 ipv6 286048 38 dm_snapshot 20664 0 dm_mirror 25216 0 dm_mod 62800 2 dm_snapshot,dm_mirror serio_raw 12036 0 psmouse 44432 0 pcspkr 7808 0 shpchp 42156 0 pci_hotplug 20872 1 shpchp evdev 15360 2 tsdev 13056 0 joydev 15360 0 ext3 138512 7 jbd 65392 1 ext3 mbcache 14216 1 ext3 sd_mod 25856 9 ide_cd 45088 1 cdrom 40488 1 ide_cd usbhid 45088 0 piix 15492 0 [permanent] mptsas 31120 8 mptscsih 29184 1 mptsas generic 10500 0 [permanent] mptbase 56672 2 mptsas,mptscsih uhci_hcd 28696 0 ide_core 147584 3 ide_cd,piix,generic scsi_transport_sas 36608 1 mptsas ehci_hcd 36104 0 scsi_mod 153008 4 sd_mod,mptsas,mptscsih,scsi_transport_sas bnx2 86640 0 tg3 108292 0 thermal 20240 0 processor 38248 1 thermal fan 9864 0 -- kernel-img.conf do_symlinks = Yes do_initrd = Yes silent_modules=yes clobber_modules=yes do_boot_enable=no postinst_hook = /usr/sbin/update-grub postrm_hook = /usr/sbin/update-grub do_bootloader = no -- System Information: Debian Release: 4.0 APT prefers oldstable APT policy: (500, 'oldstable') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-6-amd64 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages initramfs-tools depends on: ii busybox 1:1.1.3-4 Tiny utilities for small and embed ii cpio 2.6-18.1+etch1 GNU cpio -- a program to manage ar ii klibc-utils 1.4.34-2 small statically-linked utilities ii module-init-tools 3.3-pre4-2 tools for managing Linux kernel mo ii udev 0.105-4etch1 /dev/ and hotplug management daemo initramfs-tools recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org