linux kernel2.6编译启用新内核以及模块符号的导出和调用
一、为什么要编译源码?
先看看以下文章,描述的很详尽:
http://tscsh.blog.163.com/blog/static/20032010320131641225800/
http://zhidao.baidu.com/linkurl=jP0BO6nl4ZCSdEs_NNEELbQOK7IPu741vRiuONZPl5U5a1mKC8qUfuNivSKSJkOuV2L_jnqUX_G8vhNNHbLXka
http://www.ibm.com/developerworks/cn/linux/l-lkm/#icomments
二、编译启动系统内核
(1)下载源码:
在 www.kernel.org下载linux系统源码,格式为xxx.tar.xz。复制到/usr/src/下。
(2)查看当前的系统内核版本,解压缩文件:
uname -r 查看版本。在/usr/src/下,用xz 及tar解压缩命令:解压tar.xz文件:先
xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。
(3)配置内核:
- cd /usr/src/linux.2.6.xx.xx进入刚才解压缩的那个文件目录
- cp /boot/config- 按Tab键自动补全,再接着输入 .config,回车,目的是将当前运行版本的内核配置拷贝到新内核中。
- make menuconfig具体配置内核,这里我选择的默认,按ESC2次,退出保存。
<a> 出错,make menuconfig错误 : HOSTCC scripts/kconfig/kxgettext.o *** Unable
to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1 make: *** [menuconfig] Error
2
<b> 解决办法: sudo apt-get install libncurses5-dev 或者:sudo
apt-get install ncurses-dev
(4)编译内核:
- make -j4 j后面的数字为编译时候开启的进程数,一般所需要的时间在1到4个小时。
(5)编译安装新内核模块: