Linux内核动态加载模块

一、安装内核模块:

一般步骤:

(1) 在/usr/src/linux/下运行make menuconfig把需要编译成模块的项打上(M),保存并退出。

(2) 运行make modules,这一步将在/usr/src/linux/下生成*.o或*.ko文件。

(3) 运行make modeules_install来安装,这步会把生成的.o或ko文件拷贝到/lib/modules/`uname -r`/下。

如果你只要编译某一个或几个模块,就可以用下面这个快速的方法:

(1) 找到编译内核所需要的.config文件。
在/usr/src/linux/arch目录下有若干编译内核所用的配置。选择我们想要的配置,将它复制到/usr/src/linux目录下,改名为.config。
cp /usr/src/linux/arch/x86/xxconfig /usr/src/linux/.config

(2) 修改.config文件,去掉不用的模块,加上自己想要的模块。
打开.config,有许多XXXX=m的项,这些都是要被编译为模块的项,因为我们不希望编译这些模块,所以要把XXXX=m的项统统去掉。然后再加上我们想要的模块,例如将# CONFIG_NTFS_FS is not set 改为CONFIG_NTFS_FS=m 当然,可以用你熟悉各种工具来做这件事。

(3) 编译NTFS模块。
在/usr/src/linux目录下运行命令make modules来编译我们想要的模块。

(4) 安装模块。
编译后得到的.o文件在/usr/src/linux/目录下,手动将它复制到正确的目录下。
  例如cp /usr/src/linux/fs/ntfs/ntfs.o /lib/modules/2.2.16-22/fs/
 注意:千万不能运行命令make modules_install,否则将带来严重的后果,它会删除你系统中的所有模块,只安装刚刚编译的模块(ntfs.o)。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpdfp.html