日期:2014-05-16  浏览次数:20597 次

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)编译安装新内核模块:

  • make module_install