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