免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1171 | 回复: 0

Ubuntu内核编译 [复制链接]

论坛徽章:
0
发表于 2008-12-18 20:15 |显示全部楼层
修改的这篇文章,自己加了几个注意点
http://blog.theosoft.net/article.asp?id=57
第一次的Linux kernel上机内容是编译一个内核。我用的是Ubuntu,有很多地方和其它 Linux不一样,所以就来把我的过程写下来,以后也好有个参照

        首先当然是下载内核源代码,如果你要最新的内核,可以去
ftp.kernel.org
。当然,国内速度可能会很慢。如果你是教育网用户,可以去上海交大的镜像站下载,地址是
http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/
,缺点就是没有最新的内核(更新需要一定的时间)。
[color="#339966"]==================================================备注
如果是就是编译ubuntu本省自带的内核,只需要
新立得搜索linux souce,下载带ubuntupatch的kernel的source code。
[color="#339966"]==================================================备注
        我下载的是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[color="#339966"]

[color="#339966"]==================================================备注
[color="#339966"]后面的参数不要忘记了,否则启动新内核会出现错误:
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
[color="#339966"]==================================================备注
[color="#339966"]       最后打开 /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中选择新内核启动。如果启动失败,你可以重启选择老内核。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28781/showart_1728364.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP