Chinaunix首页 | 论坛 | 博客
  • 博客访问: 359144
  • 博文数量: 102
  • 博客积分: 2070
  • 博客等级: 大尉
  • 技术积分: 1019
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 11:07
文章存档

2011年(1)

2010年(34)

2009年(37)

2008年(30)

我的朋友

分类: LINUX

2009-08-02 10:10:39


前几天在编译了几次内核一次都没有成功,昨天晚上终于成功了!
有点激动,今天早上还残余一点兴奋让我把编译的这个过程记录下来!

在编译之前首先要检查一下必要的安装包:
build-essential kernel-package,gcc,make是必须的
libncurses5-dev在执行make menuconfig时要用到,它是一个图形库!
这五个包可通过命令sudo apt-get install (ubuntu系列)包名,或者yum install包名(fedora系列) 来完成!
再检查一下你的系统有没有这两个命令:mkinitramfs,mkisofs,如果没有就要安装!
2,下载内核代码
可到官方网站下载选择你所适合的版本!
也可以通过命令下载:wget (这是下载的是2.6.30版本的内核)
3,将下载的内核解压到任意一个目录:
tar zxf linux-2.6-30.tar.gz
cd linux-2.6.30
4,开始编译
一次执行下面的命令:
  • sudo make menuconfig(配置内核参数,如果只是尝试,可以忽略,如果想让其做服务器,就应该手动配置,可参考这个网站)
  • sudo make dep //这一步有时是不需要的,因为我在编译时就不需要,系统直接提示:unessary
  • sudo make clean //做一点清除工作,把没用的中间文件删除掉
  • sudo make
  • sudo make modules //编译模块
  • sudo make modules_install //安装模块
  • sudo mkinitramfs -o /boot/initrd-2.6.30.img 2.6.30 //生成内核镜像文件
  • sudo make install //安装内核
经过上面的工作,2.6.30内核就算已经编译成功了
5,接下来就是修改启动选项,将你所编译成功的内核加载到启动选项中:
sudo gedit /boot/grub/menu.lst
复制一个启动选项,然后只修改很少部分,如我是这样修改的:
复制一份这样一份:
title        Ubuntu 9.04, kernel 2.6.28-14-generic
uuid        56ec4d75-8894-405a-b262-48ca12e86586
kernel        /boot/vmlinuz-2.6.28-14-generic root=UUID=56ec4d75-8894-405a-b262-48ca12e86586 ro locale=zh_CN quiet splash
initrd        /boot/initrd.img-2.6.28-14-generic
quiet
然后将其修改为:
title        Test Ubuntu 9.04, kernel 2.6.30
uuid        56ec4d75-8894-405a-b262-48ca12e86586
kernel        /boot/vmlinuz-2.6.30 root=UUID=56ec4d75-8894-405a-b262-48ca12e86586 ro locale=zh_CN quiet splash
initrd        /boot/
initrd-2.6.30.img
看见了吗,就只将蓝色部分换成红色部分就OK了,很简单,然后重启进入新的选项!(注:也可以使用ls /boot 命令查看你编译内核成功后生成的内核镜像和初始化文件)

很简单,赶快试吧,祝你成功!



阅读(940) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-04-15 19:26:53

grub2了已经,没menu.lst了,更新一下教程吧