modprobe problem

Josh England jjengla at sandia.gov
Fri Dec 14 12:43:50 PST 2007


For what it's worth, I get the same behavior out of a glibc-built
busybox.  No version of busybox newer than 1.2.2.1 works -- they all
give the same error:

modprobe: failed to load module

Is there something missing in my initrd that is required as of busybox
1.3?  I don't understand this.

-JE

On Wed, 2007-12-12 at 13:51 -0700, Josh England wrote:
> 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
> > 
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://busybox.net/cgi-bin/mailman/listinfo/busybox




More information about the busybox mailing list