[linux内核]完整编译内核源码的过程

567 查看

1:得到源码 www.kernel.org

下载最新内核和对应补本,如下两个文件

linux-4.5-rc2.tar.xz 
patch-4.5-rc2.xz

2:内核解压

tar xvf linux-4.5-rc2.tar.xz 
得到目录:linux-4.5-rc2

3:给内核打补丁

cd linux-4.5-rc2
xz -dc ../patch-4.5-rc2.xz | patch -p1

4:配置内核

通常对于新手来说,自己来配置内核是非常困难的,所以最好是找个新同内核版本的配置文件,或是找一个 发行版linux的配置文件,所以主要是找一个已经配置好的文件 ,我们的系统中就有一个这样的文件

less /boot/config-3.19.0-47-generic  #查看/boot目录下的一个配置文件 
cp /boot/config-3.19.0-47-generic  .config  #把这个已经配置好的文件,拿过来用

5:配置内核的命令

make menuconfig
#在配置时,把Kernel hacking >Compile the kernel with debug info 中的这一项关闭了,减少编译花的时间 ,而且编译出来的modules文件会比原来少10倍

6:把之前的.config文件update为当前的版本

make oldconfig

7:把之前配置留下的不需要的文件清理一下

make clean

8:编译kenel and modules

make        #如果你的机器cpu比较强大,可以用多线程编译,如 make j4 
编译的过程中会遇到.so and .h文件找不到的情况
这里通常需要下载安装一些libxxx 库文件 和 libxx-dev 头文件
所以通常使用apt-get安装这些包即可

注意:编译kernel and modules非常的花时间,所以要做好心理准备