Linux内核编译的过程
昨天,经过多次摸索和失败,终于把Linux内核配置、编译、更换的流程掌握熟练了。
我的系统是Ubuntu12.04LTS,这次新版本的Ubuntu采用了grub2的启动方式,在最后更换内核的方式与老版的以及网上很多讲的方式有所区别,而且区别比较大,作为资深菜鸟,还是提醒一下,如果你的Linux并不是grub2的启动方式,请自行去博客园查找其他方法使你编译好的内核生效。
废话不多说,开始。一下操作都是root权限,进入root用户或者是用sudo方式。
1、下载内核,网址:http://www.kernel.org/。建议下载stable的3.4.5,如果你是大神,下载不稳定树的吧,还可以给Linux内核更新做贡献。
2、用sudo命令将新内核拷贝到/usr/src目录下。特别说明:我用的内核是3.4.5的,在一下的说明中出现的linux3.4.5都是我的内核文件,这个要以自己的为准。命令如下
//cp /"yourpath"/"kernel filename" /usr/src
3、解压缩 //cd /usr/src
//bzip2 -d linux-3.4.5.tar.bz2
//tar -xvf linux-3.4.5.tar
说明:在这里如果你下载的包是tar包,那直接解压缩就可以,如果是bz2的包就是以上两条命令。
4、(如果你是第一次编译内核可以跳过不做)删除当前内核版本的链接,目录在/usr/src/linux下
//rm -f linux
然后目录移动到/usr/include
//rm -f asm-generic linux scsi
5、建立链接到要编译内核的链接。
# ln -s /usr/src/linux/include/asm-generic asm-generic
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
6、配置要编译的内核(具体每个配置选项的意义可以在别的地方查找,也许以后我会再写一篇专门的文章)
#make config(基于文本的最为传统的配置界面,不推荐使用)
#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)
#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)
#make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)
7、(如果你是第一次跳过)清除上一次编译留下的垃圾。
#make dep
#make clean
8、编译新的内核:
#make bzImage
#make modules
#make modules_install
9、安装新的内核,在这一步里如果不是grub2启动方式的话需要做比较多的工作,可以死自己在博客园中查找博文,比较多的。而grub2方式启动的Linux只需要一条命令:
#make install
好了,到这里新的内核就被安装上了。重启即可看到新的内核。