当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [原创]Ubuntu 6.10 编译内核2.6.26.3
帖子发表于 : 2008-09-04 23:43 

注册: 2008-08-30 13:43
帖子: 60
送出感谢: 0 次
接收感谢: 0 次
Step1:
到http://www.kernel.org/下载需要的内核包,这里选择下载2.6.26.3
然后安装所有需要的软件包:(可以选择是否更新系统sudo apt-get update,在这里我没有做这个操作)
sudo apt-get install kernel-package libncurses5-dev gcc module-init-tools make
tar xvf linux-2.6.26.3
cd linux-2.6.26.3

说明:有的参考文档说只要更新gcc就可以了,但是在编译的时候会提示报错没有相关的命令,这个问题的出现可能是没有执行apt-get update造成的,这里没有进行详细的验证,需要注意一下。

Step 2:
配置编译
make menuconfig
说明:其实在这里还有别的选择,make gconfig ,make xconfig,但是在执行的时候
选“Y”(*)就是把它编译到内核中,选“M”(M)把它编译成模块,供内核动态调用。选“N”就是不安装。
菜单出现的各个选项的意思,请参照相关的文档,这里不做详细说明。
配置晚后保存配置退出。

Step 3:
编译内核
make
编译模块
make modules
安装内核
make install
安装模块
make modules_install

Step 4:
生成initrd.img
cd /usr/sbin/
mkinitramfs -o /boot/initrd.img-2.6.26.3


Step 5:
最后修改 /boot/grub/menu.lst,修改之前把先前的menu.lst做一个备份
cp /boot/grub/menu.lst /boot/grub/menu.lst.bak
在 menu.lst加入下面的内容

title Ubuntu, kernel 2.6.26.3
root (hd0,0)
kernel /boot/vmlinuz-2.6.26.3 root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-2.6.26.3
savedefault
boot

title Ubuntu, kernel 2.6.26.3 (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.26.3 root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.26.3
boot

编辑完成后保存
这个是修改完成后的样本:
title Ubuntu, kernel 2.6.26.3
root (hd0,0)
kernel /boot/vmlinuz-2.6.26.3 root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-2.6.26.3
savedefault
boot

title Ubuntu, kernel 2.6.26.3 (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.26.3 root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.26.3
boot

title Ubuntu, kernel 2.6.15-26-386
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-26-386 root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-2.6.15-26-386
savedefault
boot

title Ubuntu, kernel 2.6.15-26-386 (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.15-26-386 root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.15-26-386
boot

title Ubuntu, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
boot

注意:有的文档在这里指出需要执行update-grub,需要说明的是在6.10里面执行这个操作后,menu.lst会增加很多内容,并且会修改你添加的内容/boot/vmlinuz-2.6.26.3,导致重启之后找不到相关的文件,因此在这里没有进行这个操作。
Step 6:
重新启动计算机,在GRUB中选择新内核启动。如果启动失败,可以重启选择老内核,然后检查menu.lst文件中指定的文件的路径是否正确。

参考文档:
How to: Compile Linux kernel 2.6
Ubuntu 6.10 编译内核


对以上两篇文档的作者表示感谢,文档不足的地方请大家不吝赐教。


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-09-04 23:49 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
建议lz去编译打包版看syrano的精华,还有老旧支持板块的几个精华,有关于内核编译的...

另外的,来比精简程度 8) :arrow: http://forum.ubuntu.org.cn/viewtopic.php?t=147455&highlight=


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译