Linux Kernel 实现了Kconfig和Kbuild以及Makefile,用于辅助内核的配置和编译,使得linux kernel的编译过程变得相当简单。
(一)内核编译
1、将Linux-3.5.4.tar.bz2解压至”/usr/src/kernel“目录下
cd /usr/src/kernels/
tar -jxvflinux-3.5.4.tar.bz2
说明一下:因为目标文件夹为当前目录,所以省略,负责的话应该在该指令后添加空格+目标文件夹的绝对路径;其次:-jxvflinux-3.5.4中间没有空格,该指令的意思就是将当前目录下的linux-3.5.4解压。如果你在执行该解压指令是没有执行上面的切换工作目录的指令,那么该指令应该为:
tar -jxvf压缩文件的路径 目标文件的路径
2、copy当前的内核配置文件作为心内核编译的配置文件
#cp /boot/config-3.3.4-5.fc17.i686.PAE /usr/src/kernels/linux-3.5.4/.config
3、将当前目录切换为/usr/src/kernels/linux-3.5.4/
4、安装一些编译过程中所需要依赖的库文件
#yum install ncurses-devel_* gcc* gcc_c++ *aclocal
5、make menuconfig
#make menucofig
生成编译阶段所需要的配置文件.config
6、 make all
该指令将生成内核ELF文件vmlinux,它对应于目标体系结构家的二进制内核映像文件。(x86体系结构下的bzImage 映像文件),make all指令将根据配置文件实现所有设备驱动模块以及可动态加载模块的编译。
7、make modules_install
安装模块到/lib/modules/linux-3.5.4
8、 make install
将vmlinuz-3.5.4,System.map-3.5.4 initramfs-3.5.4.img拷贝到/boot目录下并自动保存修改
9、重新启动,是否有3.5.4内核的加载项