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

Bug#649288: marked as done (initramfs-tools: missing new ELF interpreter /lib/arm-linux-gnueabihf/ld-linux.so.3 in initramfs on armhf)



Your message dated Tue, 5 Jun 2012 17:59:25 +0000
with message-id <20120605175925.GK17569@vostochny.stro.at>
and subject line Re: initramfs-tools: missing new ELF interpreter /lib/arm-linux-gnueabihf/ld-linux.so.3 in initramfs on armhf
has caused the Debian Bug report #649288,
regarding initramfs-tools: missing new ELF interpreter /lib/arm-linux-gnueabihf/ld-linux.so.3 in initramfs on armhf
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
649288: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649288
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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



--- End Message ---
--- Begin Message ---
Version: 0.102

this got fixed by that upload but bug closure got forgotten,
pasting changelog:

initramfs-tools (0.102) unstable; urgency=low

  * [da64d1a] Deal with the uniquely broken situation of armhf having
    two linkers by creating both if we find either one in the target
  * [2f988c4] Add myself to uploaders and release

 -- Adam Conrad <adconrad@0c3.net>  Tue, 17 Apr 2012 17:43:08 -0600

thank you.


-- 
maks




--- End Message ---

Reply to: