[原创]Ubuntu 6.10 编译内核2.6.26.3

为当前最终发行版之前的所有版本提供支持
回复
xliu.cn
帖子: 60
注册时间: 2008-08-30 13:43
送出感谢: 0
接收感谢: 0
联系:

[原创]Ubuntu 6.10 编译内核2.6.26.3

#1

帖子 xliu.cn » 2008-09-04 23:43

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 编译内核


对以上两篇文档的作者表示感谢,文档不足的地方请大家不吝赐教。
头像
HuntXu
论坛版主
帖子: 5776
注册时间: 2007-09-29 3:09
送出感谢: 0
接收感谢: 6 次

#2

帖子 HuntXu » 2008-09-04 23:49

建议lz去编译打包版看syrano的精华,还有老旧支持板块的几个精华,有关于内核编译的...

另外的,来比精简程度 8) :arrow: viewtopic.php?t=147455&highlight=
HUNT Unfortunately No Talent...
回复

回到 “老旧版本支持”