Package: initramfs-tools Version: 0.99 Severity: important
Dear Maintainer, Seems like armhf ELF interpreter path was changed from /lib/ld-linux.so.3 to /lib/arm-linux-gnueabihf/ld-linux.so.3 For example, coreutils was compiled a while ago and it uses old interpreter path: $ readelf -l /bin/ls | grep interpreter [Requesting program interpreter: /lib/ld-linux.so.3] While udev was recently updated to 175-2 and it uses new interpreter path: $ readelf -l /sbin/udevadm | grep interpreter [Requesting program interpreter: /lib/arm-linux-gnueabihf/ld-linux.so.3] See also: http://www.mail-archive.com/cross-distro@lists.linaro.org/msg00103.html The problem is that copy_exec() in /usr/share/initramfs-tools/hook-functions copies the interpreter only to the old path. It basically does the following: $ cat copy_exec_udevadm.sh #!/bin/sh -e src=/sbin/udevadm for x in $(ldd ${src} 2>/dev/null | sed -e ' /\//!d; /linux-gate/d; /=>/ {s/.*=>[[:blank:]]*\([^[:blank:]]*\).*/\1/}; s/[[:blank:]]*\([^[:blank:]]*\) (.*)/\1/' 2>/dev/null); do # copy ${x} echo ${x} done $ ./copy_exec_udevadm.sh /lib/arm-linux-gnueabihf/libselinux.so.1 /lib/arm-linux-gnueabihf/librt.so.1 /lib/arm-linux-gnueabihf/libgcc_s.so.1 /lib/arm-linux-gnueabihf/libc.so.6 /lib/ld-linux.so.3 /lib/arm-linux-gnueabihf/libdl.so.2 /lib/arm-linux-gnueabihf/libpthread.so.0 Here's some additional info: $ ldd /bin/ls libselinux.so.1 => /lib/arm-linux-gnueabihf/libselinux.so.1 (0x4009d000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x400d0000) libacl.so.1 => /lib/arm-linux-gnueabihf/libacl.so.1 (0x4005a000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x400b9000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x400de000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x4008b000) /lib/ld-linux.so.3 (0x4002e000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x401bd000) libattr.so.1 => /lib/arm-linux-gnueabihf/libattr.so.1 (0x4004d000) $ ldd /sbin/udevadm libselinux.so.1 => /lib/arm-linux-gnueabihf/libselinux.so.1 (0x401cd000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x40075000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x400e8000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x401e9000) /lib/arm-linux-gnueabihf/ld-linux.so.3 => /lib/ld-linux.so.3 (0x40056000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x400b3000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x402c8000) I don't know how to fix this properly (apart from treating ELF interpreter as a special case). Currently this bug breaks only udev inside initramfs, but in future will break all newly compiled binaries that need to be in initramfs. Tell me if you need any additional information. Best regards, Dmitri Gribenko -- Package-specific info: -- initramfs sizes -rw-r--r-- 1 root root 1.7M Aug 13 05:02 /boot/initrd.img-2.6.38-ac1-ac100 -rw-r--r-- 1 root root 1.8M Nov 19 16:54 /boot/initrd.img-2.6.38-ac2-ac100 -- /proc/cmdline root=/dev/mmcblk1p1 rootflags=noatime mem=448M@0M nvmem=64M@448M vmalloc=320M video=tegrafb console=tty0 usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=recovery:700:a00:800,boot:1100:1000:800,mbr:2100:200:800,system:2300:25800:800,cache:27b00:32000:800,misc:59b00:400:800,userdata:5a000:9a600:800 -- /proc/filesystems ext4 fuseblk -- lsmod Module Size Used by aes_generic 26768 3 arc4 1076 2 rt2800usb 11495 0 rt2800lib 39791 1 rt2800usb crc_ccitt 1133 1 rt2800lib rt2x00usb 8203 1 rt2800usb snd_soc_tegra_i2s 3936 1 snd_soc_tegra_paz00 3149 0 rt2x00lib 30452 3 rt2800usb,rt2800lib,rt2x00usb snd_soc_alc5632 18328 1 snd_soc_tegra_das 2524 1 snd_soc_tegra_i2s snd_soc_tegra_pcm 3228 1 mac80211 195632 3 rt2800lib,rt2x00usb,rt2x00lib snd_soc_core 75287 5 snd_soc_tegra_i2s,snd_soc_tegra_paz00,snd_soc_tegra_das,snd_soc_alc5632,snd_soc_tegra_pcm psmouse 46862 0 snd_pcm 59970 2 snd_soc_tegra_pcm,snd_soc_core cfg80211 145261 2 rt2x00lib,mac80211 uvcvideo 54470 0 libps2 3665 1 psmouse snd_timer 16667 1 snd_pcm snd_soc_tegra_utils 1649 1 snd_soc_tegra_paz00 videodev 56188 1 uvcvideo rfkill 15008 1 cfg80211 snd 40444 3 snd_soc_core,snd_pcm,snd_timer soundcore 5107 1 snd snd_page_alloc 3528 1 snd_pcm evdev 7237 0 ipv6 275379 18 cpufreq_conservative 5231 0 cpufreq_userspace 1918 0 cpufreq_ondemand 6011 2 cpufreq_powersave 748 0 fuse 60328 1 ext4 324828 1 mbcache 5056 1 ext4 jbd2 77306 1 ext4 crc16 1121 1 ext4 -- /etc/initramfs-tools/modules -- /etc/initramfs-tools/initramfs.conf MODULES=dep BUSYBOX=y KEYMAP=n COMPRESS=gzip BOOT=local DEVICE= NFSROOT=auto -- /etc/initramfs-tools/update-initramfs.conf update_initramfs=yes backup_initramfs=no -- /sys/block mmcblk0 mmcblk1 -- mkinitramfs hooks /etc/initramfs-tools/hooks/: /usr/share/initramfs-tools/hooks: busybox flash_kernel_set_root fuse keymap klibc ntfs_3g thermal udev -- System Information: Debian Release: wheezy/sid Architecture: armhf (armv7l) Kernel: Linux 2.6.38-ac2-ac100 (SMP w/2 CPU cores) Locale: LANG=ru_UA.UTF-8, LC_CTYPE=ru_UA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages initramfs-tools depends on: ii cpio 2.11-7 ii findutils 4.4.2-1 ii klibc-utils 1.5.25-1 ii module-init-tools 3.16-1 ii udev 175-2 Versions of packages initramfs-tools recommends: ii busybox 1:1.19.3-1 Versions of packages initramfs-tools suggests: ii bash-completion 1:1.3-3 -- Configuration Files: /etc/initramfs-tools/initramfs.conf changed: MODULES=dep BUSYBOX=y KEYMAP=n COMPRESS=gzip BOOT=local DEVICE= NFSROOT=auto -- no debconf information -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111119155458.4141.42802.reportbug@delta