i download module-init-tools-3.0-pre5 and extract
run this command:
#./configure
#make moveold
#make
#make install
i boot computer with new kernel ,sysetm boot is OK, but can't load any modules
i run this command compiled the new kernel
# make mrproper
#make menuconfig
#make
#make install
#depmod -a
...............
what's rong?
help !
Err...
Didn't you read the docs?
make menuconfig
make bzImage
make modules
make modules_install
I readed it
we just can replace make dep make bzImage make modules make modules_install .. with make command for kernel 2.6.0
the command make install do for installing a new kernel
for more info do command make help
It's a bit more complicated
"make dep", "make bzImage" and "make modules" are deprecated. But "make modules_install" is not.
According to the documentation, and to my experience, "make install" copies the kernel in (usually) /boot, then run lilo. So, if you're using lilo, you've got to configure it manually before doing "make install". And anyway, you have to run "make modules_install" to copy the modules in the /lib/modules/2.6.X/ directory.
Personally, I don't use make install : I simply find it useless.
Yes, I've read the docs but 2
Yes, I've read the docs but 2.6.1 is NOT finding the modules. They're dutifully installed in /lib/modules/2.6.1 but insmod and whatnot are not traversing into the directory to FIND them!
I'm thinking there's just some magic string that's not been set somewhere to unlock the kernel's understanding of where to go find the modules.
Here's a sample of output:
# ls -la /lib/modules/2.6.1/kernel/drivers/usb/net/
total 84
drwxr-xr-x 2 root root 4096 Jan 17 11:16 .
drwxr-xr-x 7 root root 4096 Jan 17 11:16 ..
-rw-r--r-- 1 root root 30486 Jan 17 11:16 pegasus.ko
-rw-r--r-- 1 root root 14428 Jan 17 11:16 rtl8150.ko
-rw-r--r-- 1 root root 25498 Jan 17 11:16 usbnet.ko
# insmod usbnet
insmod: can't read 'usbnet': No such file or directory
# strace insmod usbnet
execve("/sbin/insmod", ["insmod", "usbnet"], [/* 28 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", 0xbffff050) = -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", 0xbffff050) = -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", 0xbffff050) = -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)
Hum.
Have you tried to run depmod ?
And are you SURE you're running the right kernel, not the old one ?
module-init-tools may be your saviour
I had similar probs compiling nVidia drivers for kernel 2.6.8.
I discovered that module loading in 2.6 has been completed revamped and you need to update your module tools.
In Debian just do apt-get install module-init-tools . I'm not sure what the equivalent package in RH is but I'll bet it's a similar exercise.
You'll find
http://www.linux.org.uk/~davej/docs/post-halloween-2.6.txt
very useful, as it has some very helpful "gotcha's" and stuff.
HTH.
Rocci.
missing a long times -)
I also run the command *make modules_install*
but I still have a trouble.
I find lose a few modules when run *lsmod * ,such as *vfat*
/etc/rc.sysinit
psyche:
kernel 2.6 replaced the old /proc/ksyms with /proc/kallsyms. however /etc/rc.sysinit is not updated with the new info. when the system boots up and cannot find /proc/ksyms, it will stop loading modules.
edit /etc/rc.sysinit and replace all /proc/ksyms with /proc/kallsyms and hopefully this will solve ur problem.
thanks
I'll try it . Is it available of modified */etc/rc.d/rc.sysinit* on old kernel when boot new kernel failed ?
yes ur old kernel will be abl
yes ur old kernel will be able to boot with this. but modules will fail to load too.
What about on a debian system
What about on a debian system where we don't have a /etc/rc.sysinit file? What exactly are we supposed to edit to fix the whole ksysms thing?
still have a trouble
I replaced all /proc/ksyms with variable PROC_FILE_SYSTEM,it declare and get value by a parse script ahead
release=`uname -r`
if [ $release = "2.6.0" ] ; then
PROC_FILE_SYSTEM=/proc/kallsyms
else
PROC_FILE_SYSTEM=/proc/ksyms
fi
the new kernel can load modules vfat, fat and alsa,the old kernel also work fine, but still have a troubel,can't load usb modules
more /etc/rc.d/sys.init
read here http://thomer.com/linux/migrate-to-2.6.html
under the usb section, everything explained clearly. :)
:(
sadly! i modify /etc/rc.d/rc.sysinit and /etc/init.d/halt by the way ,then can't start my computer nice ,
I just run on level single
SOS SOS