Ubuntu:编译Linux内核源代码和内核模块

1. 目的

内核模块需要运行在Linux 3.8.13内核中,因此需要为此内核重新编译内核模块源代码。

2. 步骤

1、在Ubuntu 14.04 64位(内核3.13.0-24-generic)上,

编译Linux 3.8.13内核源代码,并安装编译后的Linux内核。

2、为Linux 3.8.13内核编译内核模块

3. 方法

(1)下载:Linux内核源代码压缩包

https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.13.tar.gz

https://www.kernel.org/pub/linux/kernel

(2)解压:Linux内核源代码压缩包

cp  linux-3.8.13.tar.gz  /usr/src    // 拷贝
tar -zxvf  linux-3.8.13.tar.gz           // 解压

(3)编译并安装:Linux内核

cd /usr/src/linux-3.8.13
make menuconfig       // 设置编译选项
保存退出即可。如果执行这个命令时有提示错误:
Install ncurses (ncurses-devel) and try again.
则需要安装:apt-get install libncurses5-dev
make -j4
make modules_install
make install
修改 /boot/grub/grub.cfg       
把timeout值改为10,这样启动时按ESC可以选择使用哪个内核
reboot
uname -r      // 检查是否是希望的内核

(4)编译:内核模块

编译内核模块时,需要使用内核源代码目录,实际使用的就是 /usr/src/linux-3.8.13

注意:要使用编译后的内核源代码目录

内核模块的实现和编译方法参考:

http://blog.csdn.net/ddk3001/article/details/49174311

4. 参考

http://blog.csdn.net/fly_qj/article/details/8349591

http://blog.chinaunix.net/uid-24782829-id-3211008.html

https://linux.cn/article-4625-1.html

http://www.cnblogs.com/dyllove98/archive/2013/07/20/3202824.html