ubuntu 12.04 编译添加内核

来源:互联网 发布:移动网络玩dota2 编辑:程序博客网 时间:2024/03/29 07:25

buntu内核经过长时间的发展,这里我发表一下个人理解,下面就这就来讲术Ubuntu内核。弄了很久,不停的google,终于把我的Ubuntu内核更新2.6.31.6版本了,下面我来分享一下我的经验。顺便赞一下google的强大~~
主机环境:Ubuntu desktop 9.04 如果是9.10的话方法是类似的。
最新内核:linux-2.6.31.6  可以的www.kernel.org下载 如果你用的是其他内核,方法应该是类似的
现在开始了:

1.将下载过来linux源代码包(tar.bz2包)解压到/usr/src下。如果你还不知道怎么解压,请google之~解压完毕后可以在/usr/src目录下看到一个linux-2.6.31.6的文件夹

2.转移目录至linux-2.6.31.6用如下命令:
cd /usr/src/linux-2.6.31.6

3.先配置Ubuntu内核:make menuconfig
具体怎么配置我不清楚,不过这个基本上不用怎么配置的,直接选最后一项,save,exit就OK了

4.接着开始编译内核:make
这是一个漫长的过程,慢慢等吧~~这个花了我将近一个半小时的时间

5.加入模块:
make modules_install

6.生成可执行的Ubuntu内核引导文件:
make bzImage(注意i字母要大写)

7.将bzImage复制至/boot下:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.31.6   //2.6.32Ubuntu内核的bzImage目录为arch/x86/boot/bzImage

8.清除多余的创建文件:
make clean //这一步最好还是留到最后来做(现在可以先跳过这一步),这样的话,即使你后面操作失误也可以回到这里重做,而不需要重新编译

9.将System.map复制至/boot下:
cp System.map /boot/System.map-2.6.31.6

10.生成initrd.img 这个很重要,我开始弄错了这个,害的我白重启了一次。命令:
cd /lib/modules/2.6.31.6
sudo mkinitramfs -o /boot/initrd.img-2.6.31.6  //2.6.32可以为sudo update-initramfs -c - k 2.6.32

11.自动查找新Ubuntu内核,并添加至grub引导:
sudo update-grub

12.重启电脑:reboot 你会发现启动项里多了一个Ubuntu 9.04, kernel 2.6.31(Ubuntu, Linux 2.6.32)的选项,选择这个,进入系统。
完成~

以上转自:http://os.51cto.com/art/201001/176268.htm

我照着做了一边,可行

更新过程留做以后备用

备注:我是在12.04上获取到内核,内核源码版本是3.2.42,编译自动添加在了启动界面previous的子菜单下了(grub.cfg有描述)

浏览过到相关文章:

1· http://www.linuxidc.com/Linux/2011-04/34080.htm

2· http://www.linuxidc.com/Linux/2011-10/44536.htm

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

4· http://blog.csdn.net/instruction_number21/article/details/7922783