Strange 2.6 initrd/initramfs problem with shared libraries on VIA C3

Dzuy Nguyen
2005-05-10T04:54:33Z

I'm not sure if this is a bug or whether it's been addressed, but I'm
seeing a strange problem with 2.6 kernel on my VI C3 boards.

I replace nash on FC3's initramfs with busybox compiled with shared
libs. I put glibc, ld and other libs in the /lib directory of the
initramfs. My /init is an ash script, which basically runs busybox.
When boots, it just hangs in initramfs.

I use the same initramfs on other Intel pentium system and it works
fine. It just fails on any of my VIA C3 systems, both with the stock
FC3 kernel and customed 2.6.11.7 kernel compiled specifically for
Cyrix/C3 and i586/i686.

When use static nash and busybox, it works (on C3). Looking at the
code, the kernel does an execve() on either /linuxrc or /init. On pentium
system, this works fine. I just can't place why/how it fails on C3. I
tried
catching errno from execve to no avail. I suspect that there is something
wrong with the library loader, but can't think of any thing why it differs
from Pentium and C3. Can someone please shed some light?

I'm not subscribed to the list, so please CC me. Thanks.

Dzuy