modprobe problem
Josh England
jjengla at sandia.gov
Wed Dec 12 20:51:50 UTC 2007
Denys, Sorry for late response. I rebuilt busybox from an updated
(uClibc) buildroot to make sure the problem wasn't in older libraries or
some such. Here is the output from strace.
-JE
On Sat, 2007-12-01 at 22:59 -0800, Denys Vlasenko wrote:
> On Friday 30 November 2007 08:56, Josh England wrote:
> > I'm trying busybox-1.8.2 and running into an issue that used to work
> > just fine (in busybox-1.2.1). I'm running busybox in an
> > initrd/initramfs environment and trying to load kernel modules via
> > modprobe. A correct modules.dep file is in place, and insmod can load
> > the module just fine, but modprobe returns:
> >
> > modprobe: failed to load module
> >
> > Any ideas? This is running on a 2.6.18-7 (RedHat-based) kernel. My
> > busybox .config has:
> >
> > # Linux Module Utilities
> > #
> > CONFIG_INSMOD=y
> > CONFIG_FEATURE_INSMOD_VERSION_CHECKING=y
> > CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
> > CONFIG_FEATURE_INSMOD_LOADINKMEM=y
> > # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
> > # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
> > CONFIG_RMMOD=y
> > CONFIG_LSMOD=y
> > CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
> > CONFIG_MODPROBE=y
> > CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
> > CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
> >
> > #
> > # Options common to multiple modutils
> > #
> > CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
> > CONFIG_FEATURE_2_4_MODULES=y
> > CONFIG_FEATURE_2_6_MODULES=y
> > # CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
> >
> > Any ideas?
>
> 18.2 with your .config:
>
> # strace -f -o strace.log ./busybox modprobe tcrypt
>
> succeeds. Can you do the same and post your log?
>
> My strace log is:
>
> 3572 execve("./busybox", ["./busybox", "modprobe", "tcrypt"], [/* 44 vars */]) = 0
> 3572 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
> 3572 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
> 3572 getuid32() = 0
> 3572 uname({sys="Linux", node="vda_lt", ...}) = 0
> 3572 brk(0) = 0x810b000
> 3572 brk(0x810c000) = 0x810c000
> 3572 open("/lib/modules/2.6.15-29-686/modules.dep", O_RDONLY|O_LARGEFILE) = 3
> 3572 read(3, "/lib/modules/2.6.15-29-686/usb/m"..., 1024) = 1024
> 3572 _llseek(3, -708, [316], SEEK_CUR) = 0
> 3572 read(3, "/lib/modules/2.6.15-29-686/madwi"..., 1024) = 1024
> 3572 _llseek(3, -917, [423], SEEK_CUR) = 0
> 3572 read(3, "/lib/modules/2.6.15-29-686/madwi"..., 1024) = 1024
> 3572 _llseek(3, -919, [528], SEEK_CUR) = 0
> 3572 read(3, "/lib/modules/2.6.15-29-686/madwi"..., 1024) = 1024
> ...
> ...
> ...
> 3572 _llseek(3, -41, [4916], SEEK_CUR) = 0
> 3572 read(3, "dm_mod 63256 3 dm_crypt, Live 0x"..., 1024) = 41
> 3572 read(3, "", 983) = 0
> 3572 read(3, "", 1024) = 0
> 3572 close(3) = 0
> 3572 vfork() = 3573
> 3572 wait4(3573, <unfinished ...>
> 3573 execve("/home/vda/bin/insmod", ["insmod", "/lib/modules/2.6.15-29-686/kerne"...], [/* 44 vars */]) = -1 ENOENT (No such file or directory)
> 3573 execve("/usr/local/sbin/insmod", ["insmod", "/lib/modules/2.6.15-29-686/kerne"...], [/* 44 vars */]) = -1 ENOENT (No such file or directory)
> 3573 execve("/usr/local/bin/insmod", ["insmod", "/lib/modules/2.6.15-29-686/kerne"...], [/* 44 vars */]) = -1 ENOENT (No such file or directory)
> 3573 execve("/usr/sbin/insmod", ["insmod", "/lib/modules/2.6.15-29-686/kerne"...], [/* 44 vars */]) = -1 ENOENT (No such file or directory)
> 3573 execve("/usr/bin/insmod", ["insmod", "/lib/modules/2.6.15-29-686/kerne"...], [/* 44 vars */]) = -1 ENOENT (No such file or directory)
> 3573 execve("/sbin/insmod", ["insmod", "/lib/modules/2.6.15-29-686/kerne"...], [/* 44 vars */]) = 0
> 3573 uname({sys="Linux", node="vda_lt", ...}) = 0
> 3573 brk(0) = 0x804b000
> 3573 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fa5000
> 3573 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
> 3573 old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fa3000
> 3573 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
> 3573 open("/etc/ld.so.cache", O_RDONLY) = 3
> 3573 fstat64(3, {st_mode=S_IFREG|0644, st_size=67511, ...}) = 0
> 3573 old_mmap(NULL, 67511, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f92000
> 3573 close(3) = 0
> 3573 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
> 3573 open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
> 3573 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220O\1"..., 512) = 512
> 3573 fstat64(3, {st_mode=S_IFREG|0755, st_size=1232784, ...}) = 0
> 3573 old_mmap(NULL, 1238972, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e63000
> 3573 old_mmap(0xb7f88000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x125000) = 0xb7f88000
> 3573 old_mmap(0xb7f8f000, 10172, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f8f000
> 3573 close(3) = 0
> 3573 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e62000
> 3573 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e628e0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
> 3573 munmap(0xb7f92000, 67511) = 0
> 3573 brk(0) = 0x804b000
> 3573 brk(0x806c000) = 0x806c000
> 3573 create_module(NULL, 0) = -1 ENOSYS (Function not implemented)
> 3573 open("/lib/modules/2.6.15-29-686/kernel/crypto/tcrypt.ko", O_RDONLY) = 3
> 3573 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\1\0\3\0\1\0\0\0\0\0\0\0"..., 16384) = 16384
> 3573 read(3, "\ntesting crc32c using incrementa"..., 16384) = 16384
> 3573 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32768) = 32768
> 3573 read(3, "\0\0\0\0\0\0\30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 32779
> 3573 read(3, "", 32757) = 0
> 3573 close(3) = 0
> 3573 init_module(".ELF...", 0x1800b) = 0
> 3573 exit_group(0) = ?
> 3572 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 3573
> 3572 --- SIGCHLD (Child exited) @ 0 (0) ---
> 3572 _exit(0)
>
> --
> vda
>
-------------- next part --------------
464 execve("./busybox", ["./busybox", "modprobe", "e1000"], [/* 6 vars */]) = 0
464 old_mmap(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7ff8000
464 stat("/etc/ld.so.cache", 0xff80f364) = -1 ENOENT (No such file or directory)
464 open("/lib/libm.so.0", O_RDONLY) = 3
464 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7ff7000
464 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
464 old_mmap(NULL, 53248, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7fea000
464 old_mmap(0xf7fea000, 48032, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xfffffffff7fea000
464 old_mmap(0xf7ff6000, 3488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb000) = 0xfffffffff7ff6000
464 close(3) = 0
464 munmap(0xf7ff7000, 4096) = 0
464 open("/lib/libc.so.0", O_RDONLY) = 3
464 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7ff7000
464 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
464 old_mmap(NULL, 303104, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7fa0000
464 old_mmap(0xf7fa0000, 277100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xfffffffff7fa0000
464 old_mmap(0xf7fe4000, 4188, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x44000) = 0xfffffffff7fe4000
464 old_mmap(0xf7fe6000, 14836, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7fe6000
464 close(3) = 0
464 munmap(0xf7ff7000, 4096) = 0
464 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B19200 opost isig icanon echo ...}) = 0
464 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B19200 opost isig icanon echo ...}) = 0
464 uname({sys="Linux", node="(none)", ...}) = 0
464 brk(0) = 0x80a5000
464 brk(0x80a6000) = 0x80a6000
464 brk(0x80a7000) = 0x80a7000
464 ioctl(2147483647, SNDCTL_TMR_TIMEBASE or TCGETS, 0xff80f218) = -1 EBADF (Bad file descriptor)
464 brk(0x80a8000) = 0x80a8000
464 open("/lib/modules/2.6.18-7chaos/modules.dep", O_RDONLY) = 3
464 read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 4096) = 669
464 read(3, "", 3427) = 0
464 lseek(3, 4294966689, SEEK_CUR) = 62
464 read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 4096) = 607
464 read(3, "", 3489) = 0
464 lseek(3, 4294966745, SEEK_CUR) = 118
464 read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 4096) = 551
464 read(3, "", 3545) = 0
464 lseek(3, 4294966853, SEEK_CUR) = 226
464 read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 4096) = 443
464 read(3, "", 3653) = 0
464 lseek(3, 4294966910, SEEK_CUR) = 283
464 read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 4096) = 386
464 read(3, "", 3710) = 0
464 lseek(3, 4294967025, SEEK_CUR) = 398
464 read(3, "/lib/modules/2.6.18-7chaos/kerne"..., 4096) = 271
464 read(3, "", 3825) = 0
464 read(3, "", 4096) = 0
464 close(3) = 0
464 open("/etc/modprobe.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
464 open("/etc/modules.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
464 open("/etc/conf.modules", O_RDONLY) = -1 ENOENT (No such file or directory)
464 ioctl(2147483647, SNDCTL_TMR_TIMEBASE or TCGETS, 0xff80f218) = -1 EBADF (Bad file descriptor)
464 brk(0x80a9000) = 0x80a9000
464 open("/lib/modules/2.6.18-7chaos/modules.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
464 open("/lib/modules/modules.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
464 ioctl(2147483647, SNDCTL_TMR_TIMEBASE or TCGETS, 0xff80f218) = -1 EBADF (Bad file descriptor)
464 brk(0x80aa000) = 0x80aa000
464 open("/lib/modules/2.6.18-7chaos/modules.symbols", O_RDONLY) = -1 ENOENT (No such file or directory)
464 open("/lib/modules/modules.symbols", O_RDONLY) = -1 ENOENT (No such file or directory)
464 open("/proc/modules", O_RDONLY) = 3
464 read(3, "", 4096) = 0
464 close(3) = 0
464 vfork() = -1 ENOSYS (Function not implemented)
464 open("/proc/modules", O_RDONLY) = 3
464 read(3, "", 4096) = 0
464 close(3) = 0
464 ioctl(2147483647, SNDCTL_TMR_TIMEBASE or TCGETS, 0xff80f1d8) = -1 EBADF (Bad file descriptor)
464 brk(0x80ab000) = 0x80ab000
464 write(2, "modprobe: failed to load module "..., 38) = 38
464 _exit(1) = ?
More information about the busybox
mailing list