[BusyBox] modutils problem with busybox_1_00pre8 and ucLibc 0.9.26
Ritesh Banerjee
riteshban at yahoo.com
Thu Mar 4 02:36:28 UTC 2004
Hi
I cross-compiled busybox 1_00-pre8 for MIPS using
the Montavista Linux Pro 3.1 cross-tools and booted up
the MALTA board fine. modutils (modprobe, insmod,
lsmod etc part of busybox) was working fine !
Then I decided to compile my system (and busybox)
with ucLibc in place of glibc. So, I followed the
recommended procedure at uclibc.org and created a mips
cross compile toolchain for uclibc. Using this
toolchain, I compiled the Linux kernel, kernel modules
and busybox, and thats when I ran into the following
problem :
* modprobe, insmod, lsmod etc. stopped working !
Doing a lsmod, showed :
"lsmod: QM_MODULES: Success"
though it actually didnot work.
The problem appears to be the query_module()
function (similar functions for insmod etc.) which
calls a syscall(__NR_query_module,....) and this fails
:-(
After some testing, I figured that if I compiled
the standalone version of mod-utils from MV Pro 3.1
package with my uclibc cross-tool chain for MIPS, it
_works_ fine!!
Digging into the standalone lsmod.c source code, I
find that the standalone version calls "query_module"
which is unresolved in modutils and gets resolved by
uclibc libraries - busybox implementation, on the
other hand, defines its own version of "query_module"
in libbb/module_syscalls.c!
Apparently, the uclibc implementation of
query_module invokes the macro "_syscall5(...)" to
make the system call while busybox version calls
"syscall" directly!
Any clue why the busybox version isn't working ?
Thanks & Regards
Ritesh
__________________________________
Do you Yahoo!?
Yahoo! Search - Find what youre looking for faster
http://search.yahoo.com
More information about the busybox
mailing list