第一步、安装必要的工具
因为ubuntu下缺少编译内核所必须的一些软件包,所以首先要安装必要的包,不然就报错!
包有:libncurses5-dev(menuconfig需要的)和essential
lianxi1999@lianxi1999:~$sudoapt-getinstallbuild-essentialbin86kernel-package
lianxi1999@lianxi1999:~$sudoapt-getinstalllibqt3-headerslibqt3-mt-dev
lianxi1999@lianxi1999:~$sudoapt-getinstallmake
lianxi1999@lianxi1999:~$sudoapt-getinstallgcc
另外,在终端输入sudomki然后连按两次“Tab”键看一下终端是否显示
mkinitramfsmkisofs
这两个工具在编译内核时用来生成*.img文件的,没有的话安装一下
第二步、下载内核
注意,下载的新内核应该比系统现在的内核版本高,查看当前内核版本:
lianxi1999@lianxi1999:~$uname-r
2.6.22-14-generic
一般不建议在高版本的内核下编译低版本的内核。
到下载新内核linux-2.6.22.19.tar.gz,解压到/usr/src/下。
建立到新内核源码的连接:
lianxi1999@lianxi1999:~$sudoln-slinux-2.6.22.19linux
如果该文件夹下已经有名为linux的链接请先把它改为linux.old
第四步、开始编译
lianxi1999@lianxi1999:~$cd/usr/src/linux
以下所有的工作都在/usr/src/linux下完成。
lianxi1999@lianxi1999:~$sudomakexconfig
可以使用其他的config,但务必确定已经安装所需软件包
接下来你就慢慢config吧,配置完以后保存(系统中保存的一份内核配置文件是在/usr/src/linux下名为.config,你也可以自己在别的地方另存一份)
lianxi1999@lianxi1999:~$sudomakebzImage
bzImage是新内核的名字,将保存到/usr/src/linux/arch/i386/boot/下
lianxi1999@lianxi1999:~$sudomakemodules
lianxi1999@lianxi1999:~$sudomakebzImageinstall
lianxi1999@lianxi1999:~$sudomakemodules_install
lianxi1999@lianxi1999:~$sudomkinitramfs-o/boot/initrd.img-2.6.22.192.6.22.19
第五步、完成安装
安装完后/boot下将增加以下几个文件(用ls-l查看)
lrwxrwxrwx1rootroot19Aug1814:33System.map->System.map-2.6.22.19
lrwxrwxrwx1rootroot15Aug1814:33config->config-2.6.22.19
-rw-r--r--1rootroot40323Aug1814:33config-2.6.22.19
-rw-r--r--1rootroot6775383Aug1816:39initrd.img-2.6.22.19
lrwxrwxrwx1rootroot16Aug1814:33vmlinuz->vmlinuz-2.6.22.19
给/boot/grub/menu.lst中添加一个新的启动项,如我的menu.lst增加了如下一段文字
titleUbuntu,kernel2.6.22.19
root(hd0,7)##本行根据自己系统的实际情况添加
kernel/boot/vmlinuz-2.6.22.19root=/dev/sda1ro
initrd/boot/initrd.img-2.6.22.19
boot
ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项ubuntu 下编译linux 2.6.22内核及注意事项
阅读(557) | 评论(0) | 转发(0) |