红联Linux门户
Linux帮助

ubuntu下编译内核

发布时间:2007-04-01 00:39:04来源:红联作者:Linuxperson
  昨晚忙了几个小时,终于在ubuntu下完成了linux内核的编译,现将我的一些感受写于此,希望日后能在用到.之前,有一点需要说明一下,那就是不同的linux版本,有可能有不同的编译办法,即使是同一个版本,不同的机器,也有可能有不同的问题,如果有新人参考的话,请相信自己.

  我之前做了些准备工作,下载安装一些必要的包,在我的机器上如下这些包是需要的: sudo apt-get intsall linux-source (我个人推荐你去www.kernel.org去下载未经改动过的原代码), sudo apt-get install libgt3-mt-dev (这个包及其关联的其它包是运行make xconfig必需的,当然你也好象可以不安,那样的话你就只能用make config 了), sudo apt-get install bootcd-mkinitrd (这个工具是最后用能制作initrd.img的).

  当然机器的软件配制不一样,所需的软件包也可能不一样,这也只有自己才好把握了.经过以上准备,你现在可以安装了,网上有人认为用现有的config来配置你的系统,虽然说我也是个新手,但我觉得还是自己制作一个config文件要舒服点,所以我采用了如下步骤:

cd /usr/src/linux/ (这里只要是在你的原代码下就可以了,不一定文件夹就是linux)
sudo make mrproper (README文件中也是这样来了,作用是清理先前的配制文件,重建)
sudo make config (我开始时没装一些必要的包,所以只能用config了,你当然可能选xconfig,menuconfig,那界面可能更友好.)
sudo make (编译并制作image文件,并耐心的等待)
sudo make modules_install install (模块的安装)

  到此,编译过程安成,现在你需要做如下工作:

  将此目录下的System.map移动到/boot下,sudo System.map /boot/System.map-2.6.20.4

  然后cd arch/i386/boot,看到bzImage文件,再 sudo mv bzImage /boot/vmlinuz-2.6.20.4 然后cd /boot ,执行sudo mkinitrd -o /boot/initrd.img-2.6.20.4 2.6.20.4(制作内存镜像);

  最后在/boot/grub/menu.list作如下修改就可以完工(添加内核启动菜单):

title Ubuntu, kernel 2.6.20.4 (我编译是这个内核)
root (hd0,0)
kernel /vmlinuz-2.6.20.4 root=/dev/sda2 ro quiet splash
initrd /initrd.img-2.6.20.4
boot

  应该来讲是不会出什么问题了,有兴趣可以试试!
文章评论

共有 1 条评论

  1. 775ft 于 2007-04-12 10:18:37发表:

    不错,支持