[SOLVED] modprobe problem

Josh England jjengla at sandia.gov
Fri Dec 14 21:33:38 UTC 2007


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.

-JE

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





More information about the busybox mailing list