Hej,
I am working on a software project which relies on glibc. It should run on a OpenWrt-compatible device and therefore I compiled OpenWrt myself from the svn source-tree, revision 19631. But if I tell it to use either glibc-2.6.1 or glibc-2.7 my Asus Wl-500g Premium does not start up properly. Here is, what I see on my serial terminal, attached to the device via a MAX232:
[...]
VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Freeing unused kernel memory: 136k freed
Please be patient, while OpenWrt loads ...
Kernel panic - not syncing: Attempted to kill init!
Everything is working fine using both uClibc Versions 0.9.30.1 and 0.9.30.2. To find out some details about the binaries linked to glibc, I copied a glibc-version of busybox via scp and tried then with ldd:
root@OpenWrt:/tmp# ls -la /tmp/busybox
-rwxr-xr-x 1 root root 449860 Jan 1 00:01 /tmp/busybox
root@OpenWrt:/tmp# ldd /tmp/busybox
/bin/ash: /tmp/busybox: not found
root@OpenWrt:/tmp# ldd /bin/busybox
libcrypt.so.0 => /lib/libcrypt.so.0 (0x2aabf000)
libm.so.0 => /lib/libm.so.0 (0x2aae3000)
libc.so.0 => /lib/libc.so.0 (0x2ab0c000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
I expected ldd running on the glibc-version of busybox to tell me that it's missing libc.so.6. But the command tells me that "the" (whichever it means) file is not found. Nevertheless can I see the filecontents using less.
Some details about my system: I am using the same openwrt-source-configuration (.config) for both the uClibc and the glibc version. Here is what uname -a says:
root@OpenWrt:/tmp# uname -a
Linux OpenWrt 2.6.30.10 #3 Thu Feb 11 14:38:52 CET 2010 mips GNU/Linux
On my glibc-System there is Linux 2.6.32 running, but that should not be the problem since 2.6.30.10 does not cope with glibc-binaries as well.
Thx for any advice on how to get glibc up and running on OpenWrt!