内核编译终于通过了

  编译了好几次linux内核了,这次总算是成功了。

  先说说我悲惨的编译内核的经历。第一次编译内核的时候,sudo make menuconfig,执行配置内核的时候,提醒我缺少包,于是我用apt去自动装那个包,结果说那个包好像正在被占用,现在不能装。我一想,这简单嘛,我直接把这个已有的包先删除了,然后再装上不就行了?(以前装应用程序的时候也遇到过类似的问题,就是这样解决的)。我看着屏幕上疯狂刷出来的字符提醒,有的直接就提示说,这个包不应该被删除,我当时也没想那么多,最多我等下就装上了嘛,结果悲剧了,随着飞快刷出的字符提醒,我的系统炫丽地崩溃了(不过说真的,我觉得GUI崩溃的瞬间,其实还是蛮漂亮的),然后自动启动,就只能进入一个类似系统修复的字符界面,只能使用最简单的命令,哎,第一次编译内核,就这样悲剧的结束了。

  怕什么,抗日战争都打了8年嘛。接着第二次编译内核,基本上就是采用默认的配置,开始编译,这次倒是老老实实的编译了,可恨的是晚上宿舍停电了,坚持到笔记本还有30%的电的时候,放弃了,这次同样悲剧了,一样启动不了图形界面了(不过我在ubuntu 10.04上编译失败后,却依然能进图形界面,跟没事一样,这是怎么回事呢?请高手指教。),哎,又是重装(不过好在现在又wubi技术,所以重装次ubuntu也是挺简单的)。

  接着又开始从头老老实实编译内核,这次总算是成功了。基本上是参照内核之旅网站上的教程进行的,下面就记录下自己编译内核的过程,也当是成长过程的一个记录。

 

  首先下载2.6.33.2的内核(我编译的时候,这是最新的内核了,最好去国内的网站去下载,官方网站的速度,那叫一个慢啊)。

  接着解压到/usr/src目录下

  然后 cd 到这个目录下,接着,就要进行编译了。

  这次我没有使用传统的sudo make menuconfig ,一来使用这个命令还需要下额外的包,其次,虽然随意配置自己想要的内核,但是对于我这样的菜鸟来说,一般还是采用的默认配置,主要编译的过程就相当的漫长了。我直接用的sudo make localmodconfig进行的,接着出现N多的选项,我直接全部选择回车(这次也算是瞎猫碰上死耗子了,因为这样胡来居然成了),这个命令会根据你现在机子的配置来选择模块,所以编译时间能省去不少,谢谢王聪的推荐。

  因为是新的内核源码 ,所以sudo make dep和sudo make clean我都没有用到。

  接着就开始编译内核: sudo make bzImage

  经过漫长的等待后,接着开始编译模块: sudo make modules

  继续漫长的等待,不过我发现,编译模块的时间比编译内核的时间还漫长很多,应该是我没有根据我的机子进一步精简的模块的原因吧。

  然后安装模块: sudo make modules_install

  接着 sudo mkinitramfs –o /boot/initrd-2.6.33.2.img 2.6.33.2,这个命令具体的作用我还没有弄懂,我感觉应该是生成一个内核镜像,但是后面再镜像文件后加个空格又写了个内核版本号,这个不是很理解,我估计可能跟后面生成的一些关于这个内核的文件有关系(或许就是告诉编译程序这是什么版本,为后来系统自动生成的文件提供一个名字),因为今天编译完内核的时候,已经熄灯了,所以明天上网查查后再继续解析这个命令。还请您多多指点指点,鄙人感激不尽。

  接着安装内核: sudo make install

最后修改启动项

我直接在menu.lst中增加了一个新的启动项:

title            Ubuntu, kernel 2.6.33.2
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.33.2 root=UUID=ac29c351-5418-4930-aef4-09968d880a2d ro quiet splash

initrd          /boot/initrd-2.6.33.2.img

 

  UUID后面接的那一长串是我根据我已有的启动项改的,刚开始的时候,就是直接从内核之旅网站上拷贝下来的,结果发现提示没有找到这个用户,然后就进入了文字界面,我用uname -r查看了下版本号,发现已经是2.6.33.2的了,兴奋了下。于是我就重新根据已有的启动项修改了下后面的那一长串东西。

接着进入,就是熟悉的界面了,登陆进去后,用uname -r查看了下内核的版本号,发现是2.6.33.2的,长叹一声,哎,终于编译成功了。

 

最后,请大家指点下,你们在编译内核的时候,一般是这样进行的呢?谢谢啦。

posted @ 2010-04-27 14:48  MR_H  阅读(5488)  评论(6编辑  收藏  举报