[SOLVED] modprobe problem

Josh England jjengla at sandia.gov
Tue Dec 18 08:30:02 PST 2007


Here it is, although it might be lacking.  'strace /bin/busybox modprobe
e1000' worked (attached), but 'strace -f' fails to load the module.
Odd.  Anyhow, here the strace from (uClibc) busybox 1.2.1.

-JE

On Sun, 2007-12-16 at 10:01 -0800, Denys Vlasenko wrote:
> On Friday 14 December 2007 13:33, Josh England wrote:
> > Ok.  Running the glibc busybox under strace shows that modprobe is
> > trying to run 'insmod', '/bin/insmod', then '/usr/bin/insmod', then it
> > fails.  strace under the uClib compiled busybox didn't show this.
> >
> > Anyhow, if I create a /bin/insmod link, modprobe starts to work!  Also,
> > since my PATH contains /sbin, if I run 'export PATH' then the modprobe
> > also starts to work.  I'm now just putting 'export PATH' at the top of
> > my init (linuxrc) script and things work fine.  This behavior must have
> > changed sometime after busybox 1.2.2.1.
> 
> This is strange. PATH is not altered by modprobe, and insmod is
> executed by execvp("insmod", ...) even in 1.2.2.1. So it has to use PATH
> there too.
> 
> Do you have strace of "working old busybox"? Which path does it use?
> --
> vda
> 
-------------- next part --------------
execve("/bin/busybox", ["/bin/busybox", "modprobe", "e1000"], [/* 9 vars */]) = 0
old_mmap(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7ff8000
stat("/etc/ld.so.cache", 0xff8c8bb4)    = -1 ENOENT (No such file or directory)
open("/lib/libm.so.0", O_RDONLY)        = 3
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7ff7000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\33"..., 4096) = 4096
old_mmap(NULL, 53248, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7fea000
old_mmap(0xf7fea000, 48032, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xfffffffff7fea000
old_mmap(0xf7ff6000, 3488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb000) = 0xfffffffff7ff6000
close(3)                                = 0
munmap(0xf7ff7000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7ff7000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\352"..., 4096) = 4096
old_mmap(NULL, 303104, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7fa0000
old_mmap(0xf7fa0000, 277100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xfffffffff7fa0000   
old_mmap(0xf7fe4000, 4188, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x44000) = 0xfffffffff7fe4000
old_mmap(0xf7fe6000, 14836, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7fe6000
close(3)                                = 0
munmap(0xf7ff7000, 4096)                = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B19200 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B19200 opost isig icanon echo ...}) = 0
uname({sys="Linux", node="tn1", ...})   = 0
brk(0)                                  = 0x80a9000
brk(0x80aa000)                          = 0x80aa000
open("/lib/modules/2.6.18-7chaos/modules.dep", O_RDONLY) = 3
read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 2048) = 669
lseek(3, 0, SEEK_CUR)                   = 669
lseek(3, 62, SEEK_SET)                  = 62
read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 2048) = 607
lseek(3, 0, SEEK_CUR)                   = 669
lseek(3, 118, SEEK_SET)                 = 118
read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 2048) = 551
lseek(3, 0, SEEK_CUR)                   = 669
lseek(3, 226, SEEK_SET)                 = 226
read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 2048) = 443
lseek(3, 0, SEEK_CUR)                   = 669
lseek(3, 283, SEEK_SET)                 = 283
read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 2048) = 386
lseek(3, 0, SEEK_CUR)                   = 669
lseek(3, 398, SEEK_SET)                 = 398
read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 2048) = 271
lseek(3, 0, SEEK_CUR)                   = 669
lseek(3, 669, SEEK_SET)                 = 669
read(3, "", 2048)                       = 0
close(3)                                = 0
open("/etc/modprobe.conf", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/modules.conf", O_RDONLY)     = -1 ENOENT (No such file or directory)
open("/etc/conf.modules", O_RDONLY)     = -1 ENOENT (No such file or directory)
open("/lib/modules/2.6.18-7chaos/modules.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/modules/modules.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/proc/modules", O_RDONLY)         = 3
read(3, "nfs 289868 0 - Live 0xffffffff88"..., 4096) = 231
lseek(3, 0, SEEK_CUR)                   = 231
lseek(3, 39, SEEK_SET)                  = 39
read(3, "nfs_acl 36864 1 nfs, Live 0xffff"..., 4096) = 192
lseek(3, 0, SEEK_CUR)                   = 231
lseek(3, 84, SEEK_SET)                  = 84
read(3, "fscache 52576 1 nfs, Live 0xffff"..., 4096) = 147
lseek(3, 0, SEEK_CUR)                   = 231
lseek(3, 129, SEEK_SET)                 = 129
read(3, "lockd 97072 1 nfs, Live 0xffffff"..., 4096) = 102
lseek(3, 0, SEEK_CUR)                   = 231
lseek(3, 172, SEEK_SET)                 = 172
read(3, "sunrpc 198856 3 nfs,nfs_acl,lock"..., 4096) = 59
lseek(3, 0, SEEK_CUR)                   = 231
lseek(3, 231, SEEK_SET)                 = 231
read(3, "", 4096)                       = 0
close(3)                                = 0
vfork()                                 = 598
wait4(598, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 598
--- SIGCHLD (Child exited) @ 0 (0) ---
_exit(0)


More information about the busybox mailing list