【转】Ubuntu12.04下Linux内核编译

来源:互联网 发布:织梦dedecms视频 编辑:程序博客网 时间:2024/05/18 04:10

昨天,经过多次摸索和失败,终于把Linux内核配置、编译、更换的流程掌握熟练了。

我的系统是Ubuntu12.04LTS,这次新版本的Ubuntu采用了grub2的启动方式,在最后更换内核的方式与老版的以及网上很多讲的方式有所区别,而且区别比较大,作为资深菜鸟,还是提醒一下,如果你的Linux并不是grub2的启动方式,请自行去博客园查找其他方法使你编译好的内核生效。

废话不多说,开始。一下操作都是root权限,进入root用户或者是用sudo方式。

1、下载内核,网址:http://www.kernel.org/。建议下载stable3.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

好了,到这里新的内核就被安装上了。重启即可看到新的内核。