Chinaunix首页 | 论坛 | 博客
  • 博客访问: 410788
  • 博文数量: 33
  • 博客积分: 3050
  • 博客等级: 中校
  • 技术积分: 551
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-22 08:57
文章分类

全部博文(33)

文章存档

2011年(4)

2010年(3)

2009年(5)

2008年(21)

我的朋友

分类: LINUX

2008-12-18 20:15:25

 修改的这篇文章,自己加了几个注意点
http://blog.theosoft.net/article.asp?id=57

第一次的Linux kernel上机内容是编译一个内核。我用的是Ubuntu,有很多地方和其它 Linux不一样,所以就来把我的过程写下来,以后也好有个参照
        首先当然是下载内核源代码,如果你要最新的内核,可以去。当然,国内速度可能会很慢。如果你是教育网用户,可以去上海交大的镜像站下载,地址是,缺点就是没有最新的内核(更新需要一定的时间)。
==================================================备注
如果是就是编译ubuntu本省自带的内核,只需要

新立得搜索linux souce,下载带ubuntupatch的kernel的source code。

==================================================备注
        我下载的是linux-2.6.19.2.tar.gz可以下到的最新版本了。下完之后当然是解压缩。不过还不能直接编译,因为Ubuntu的默认安装里缺少必要的组建。打开终端,输入一下命令:
        sudo -i
        apt-get install build-essential kernel-package libncurses5-dev
        然后到新立得里把所有以ncurses开头的软件包全部装上,这样就可以开始编译内核了。
        先运行以下命令,复制当前内核的配置文件。
        cp /boot/config-`uname -r` ./.config
        然后
        make menuconfig

选择 "Load an Alternate Configuration File",再选择你刚才拷贝过来的.config文件作为配置文件。 然后确定。当结束后,你选择退出时,会提示问 你 "Do you wish to save your new kernel configuration?"选择yes即可。

       接下来就要编译了。输入命令:
       make
       你也可以将编译任务分成2个线程来执行,只要输入:
       make -j2
       编译一般需要1~1.5小时左右,就看cpu的性能如何

        编译完成后,开始安装:
       make module_install
       make install
       然后添加引导信息,不过之前还是要装一个组件initramfs-tools,装完以后输入:

       mkinitramfs -o /boot/initrd.img-2.X.XX /lib/modules/2.X.XX

==================================================备注

后面的参数不要忘记了,否则启动新内核会出现错误:

WARNING: Couldn’t open directory /lib/modules/2.6.15.7-ubuntu1: No such file or directory
FATAL: Could not open /lib/modules/2.6.15.7-ubuntu1/modules.dep.temp for writing: No such file or directory

==================================================备注

       最后打开 /boot/grub/menu.lst
       在 ## ## End Default Options ## 下面添加类似下面的两段
       title Ubuntu, kernel 2.6.19.2 
       root (hd0,4)
       kernel /vmlinuz-2.6.19.2 root=/dev/hdd6
       initrd /initrd.img-2.6.19.2 
       savedefault
       boot

       title Ubuntu, kernel 2.6.19.2 (recovery mode)
       root (hd0,4)
       kernel /vmlinuz-2.6.19.2 root=/dev/hdd6 ro single
       initrd /initrd.img-2.6.19.2
       boot 
       注意 root和kernel字段要模仿menu.lst下面已有的内容写。下面是 (hd0,4),那么你也写(hd0,4),下面写root=/dev/hdd6,你也写root=/dev/hdd6,只是内核的版本号改为现在编译的 版本号。然后重新启动计算机,在GRUB中选择新内核启动。如果启动失败,你可以重启选择老内核。


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