2.6.1 not finding module path?

Submitted by wkearney99
on January 16, 2004 - 1:53pm

What might keep a 2.6.1 kernel from looking into the appropriate /lib/modules/2.6.1/ path?

I've a setup (doubtlessly defective in it's compile) that's refusing to traverse into this path for it's modules.

What "tells" the kernel the path to follow when looking for such things? Rather than just take the drop-back-and-punt (recompile) position I'd like to untangle it first.

strace on modprobe and lsmod show it wandering around the LD_LIBRARY_PATH directories.

Any tips?

Old modutils

utopiste
on
January 17, 2004 - 5:48pm

I thought 2.6 modules-init-tools do not care about LD_LIBRARY_PATH anymore ? ;-)

I've just given a strace try, and indeed, mine is not looking for it all. I think you can't set up the path for modprobe to look in. What are your modutils version ?

# modprobe -V module-init-to

wkearney99
on
January 19, 2004 - 3:56pm

# modprobe -V
module-init-tools version 0.9.14

The latest, compiled on this box, under this kernel.

LD_LIBRARY_PATH=/lib:/usr/X11R6/lib:/usr/X11R6/lib/modules

# strace insmod usbnet
execve("/sbin/insmod", ["insmod", "usbnet"], [/* 31 vars */]) = 0
uname({sys="Linux", node="xbox", ...}) = 0
brk(0) = 0x804b000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/mmx", 0xbfffeba0) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbfffeba0) = -1 ENOENT (No such file or directory)
open("/lib/tls/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/mmx", 0xbfffeba0) = -1 ENOENT (No such file or directory)
open("/lib/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360W\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1539996, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
old_mmap(0x42000000, 1267276, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x42000000
old_mmap(0x42130000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x130000) = 0x42130000
old_mmap(0x42133000, 9804, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x42133000
close(3) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0x40016540, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
brk(0) = 0x804b000
brk(0x804c000) = 0x804c000
brk(0) = 0x804c000
create_module(umovestr: Input/output error
0, 0) = -1 ENOSYS (Function not implemented)
brk(0) = 0x804c000
brk(0x8050000) = 0x8050000
open("usbnet", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "insmod: can\'t read \'usbnet\': No "..., 55insmod: can't read 'usbnet': No such file or directory
) = 55
exit_group(1) = ?

So what's it think is going on here?

Greetings! I've stuck with t

divan
on
February 13, 2004 - 2:52am

Greetings!
I've stuck with the same problem.

I guess it's not kernel problem, but new module-init-tools.
Just look on it's sources - `modinfo`(in modinfo.c) tries to find module recursively in proper directory, and `insmod`(insmod.c) simply open()s given filename as is, without any path searching.

And take a look on modutils(for 2.4 kernels) - insmod searches filename in default module dir.

Maybe I've missed something? There should be a reason for such behavior, I guess.

Will be thankfull for any info or links.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.