modprobe XXX not found 解决与Depmod命令; insmod/modprobe的区别

modprobe XXX not found 解决:

把模块文件放到 /lib/module/`uname -r`/kernel/ 目录下
运行 depmod
再 modprobe  就好了

 

 

modprobe 和 depmod 的使用

modprobe和insmod类似,是用来动态加载模块的

但区别在于,使用insmod必须再模块所在文件下加载模块,而modprobe则会根据/lib/modules/(shell   uname -r ) 下的modules.dep.bb文件,来加载用户指定的模块文件。

modules.dep.bb这个文件很重要,它是用depmod来产生的,modprobe必须解析这个modules.dep.bb中建立的各模块之间的依赖关系,比如有a b c 三个模块文件,b和c依赖于a,如果此时用户要加载b模块,那么modprobe会根据modules.dep.bb之中a b c之间的相互依赖的关系,在加载b之前,先完成a的加载。

以下是一个实际的例子,有两个模块文件,分别是usbserial和airprime ,后者依赖于前者

/ # depmod
/ # cat /lib/modules/2.6.16/modules.dep.bb
airprime.ko usb:v1410p1110d*dc*dsc*dp*ic*isc*ip* usb:v0F3Dp0112d*dc*dsc*dp*ic*isc*ip*
usbserial

usbserial.ko symbol:usb_serial_port_softint symbol:usb_serial_disconnect symbol:usb_serial_probe symbol:usb_serial_deregister symbol:usb_serial_register symbol:usb_serial_generic_write_bulk_callback

/ # modprobe airprime
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for airprime
usbcore: registered new driver airprime
/ # lsmod
airprime 1920 0 - Live 0xbf008000
usbserial 25348 1 airprime, Live 0xbf000000

 

你可能感兴趣的:(c,shell)