红联Linux门户
Linux帮助
当前位置: 红联Linux门户 > Ubuntu

ubuntu 下编译linux 2.6.22内核步骤及注意事项

发布时间:2008-04-10 22:01:54来源:红联作者:onplans
第一步、安装必要的工具

因为ubuntu下缺少编译内核所必须的一些软件包,所以首先要安装必要的包,不然就报错!

包有:libncurses5-dev(menuconfig需要的)和essential

lianxi1999@lianxi1999:~$sudo apt-get install build-essential bin86 kernel-package
lianxi1999@lianxi1999:~$sudo apt-get install libqt3-headers libqt3-mt-dev
lianxi1999@lianxi1999:~$sudo apt-get install make
lianxi1999@lianxi1999:~$sudo apt-get install gcc

另外,在终端输入 sudo mki 然后连按两次“Tab”键看一下终端是否显示

mkinitramfs mkisofs

这两个工具在编译内核时用来生成 *.img文件的,没有的话安装一下

第二步、下载内核

注意,下载的新内核应该比系统现在的内核版本高,查看当前内核版本:

lianxi1999@lianxi1999:~$ uname -r
2.6.22-14-generic

一般不建议在高版本的内核下编译低版本的内核。

www.kernel.org下载新内核linux-2.6.22.19.tar.gz,解压到/usr/src/下。

建立到新内核源码的连接:

lianxi1999@lianxi1999:~$sudo ln -s linux-2.6.22.19 linux

如果该文件夹下已经有名为linux的链接请先把它改为linux.old

第四步、开始编译

lianxi1999@lianxi1999:~$cd /usr/src/linux

以下所有的工作都在/usr/src/linux下完成。

lianxi1999@lianxi1999:~$sudo make xconfig

可以使用其他的config,但务必确定已经安装所需软件包

接下来你就慢慢config吧,配置完以后保存(系统中保存的一份内核配置文件是在/usr/src/linux 下名为.config,你也可以自己在别的地方另存一份)

lianxi1999@lianxi1999:~$sudo make bzImage

bzImage是新内核的名字,将保存到/usr/src/linux/arch/i386/boot/下

lianxi1999@lianxi1999:~$sudo make modules
lianxi1999@lianxi1999:~$sudo make bzImage install
lianxi1999@lianxi1999:~$sudo make modules_install
lianxi1999@lianxi1999:~$sudo mkinitramfs -o /boot/initrd.img-2.6.22.19 2.6.22.19

第五步、完成安装

安装完后/boot下将增加以下几个文件(用ls -l 查看)

lrwxrwxrwx 1 root root 19 Aug 18 14:33 System.map -> System.map-2.6.22.19
lrwxrwxrwx 1 root root 15 Aug 18 14:33 config -> config-2.6.22.19
-rw-r--r-- 1 root root 40323 Aug 18 14:33 config-2.6.22.19
-rw-r--r-- 1 root root 6775383 Aug 18 16:39 initrd.img-2.6.22.19
lrwxrwxrwx 1 root root 16 Aug 18 14:33 vmlinuz -> vmlinuz-2.6.22.19

给/boot/grub/menu.lst中添加一个新的启动项,如我的menu.lst增加了如下一段文字

title Ubuntu, kernel 2.6.22.19
root (hd0,7) ##本行根据自己系统的实际情况添加
kernel /boot/vmlinuz-2.6.22.19 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.22.19
boot
文章评论

共有 0 条评论