Chinaunix

标题: vmware7.1 Ubuntu10.04编译内核2.6.35 失败N次 希望高手来指点 [打印本页]

作者: lantian0811    时间: 2010-09-18 19:02
标题: vmware7.1 Ubuntu10.04编译内核2.6.35 失败N次 希望高手来指点
我是按照这个顺序一步步的来执行的

第一步:准备工作

打开终端获得root权限:sudo su
然后安装编译内核时需要的工具:

apt-get install build-essential kernel-package libncurses5-dev libqt3-headers

build-essential  (基本的编程库(gcc, make等)

kernel-package   (Debian 系统里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev  (meke menuconfig要调用的)
libqt3-headers   (make xconfig要调用的)
其他工具在升级过程中可以按提示安装

第二步:下载内核源代码linux-2.6.34.tar.gz
请到www.kernel.org官网下载最新版本linux-2.6.34.tar.gz内核
假设下载在root目录,然后解压到/usr/src/linux-2.6.34目录里
cd /usr/src
tar zxvf /root/linux-2.6.34.tar.gz
解压后会在/usr/src生成新文件夹linux-2.6.34

第三步:配置
把正在使用中的内核配置文件/usr/src/linux-headers-2.6.32-22-generic/.config 拷到/usr/src/linux-2.6.34目录下
cp /usr/src/linux-headers-2.6.32-22-generic/.config /usr/src/linux-2.6.34
执行:
cd /usr/src/linux-2.6.34
make menuconfig
终端会弹出一个配置界面
注意主菜单最后有两项:load a kernel configuration...
                  save a kernel configuration...
先选第一项load ....,意思是,利用当前的内核配置详单来设置将要编译的内核,然后选save这一项保存,最后退出配置界面。


第四步:开如编译安装新内核
执行:sudo make mrproper   (清除以前曾经编译过的旧文件,如果你是第一次编译,可不执行)
执行:sudo make     (编译,可以加-j4,如果你CPU是双核心,够牛的话,因为可以提高速度)
然后:sudo make install  
再:sudo make modules  (编译模块)
再:sudo make modules_install  (安装模块)
最后创建initrd文件:
mkinitramfs -o /boot/initrd.img-2.6.34

第五步:更新配置GRUB引导列表
sudo gedit /boot/grub/grub.cfg
我的grub.cfg添加如下:
menuentry 'Ubuntu 10.04,Linux 2.6.34' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,9)'
search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.34 root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro   quiet splash
initrd /initrd.img-2.6.34
}
#以下是原2.6.32内核启动项
menuentry 'Ubuntu,Linux 2.6.32-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,9)'
search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.32-22-generic root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro   quiet splash
initrd /initrd.img-2.6.32-22-generic
}


不过我编译的是35内核 把其中所有的Linux 2.6.34内核全部改成2。6.35了
在重启系统之后 ,连引导菜单都没见着 ,不知道是什么原因?
作者: ouyangyufu    时间: 2010-09-18 20:42
改 /boot/grub/menu.lg
作者: fieldring    时间: 2010-09-19 10:36
grub这步不对。现在是grub2, 好像应该只执行update-grub2命令就行了,具体你再查一下。
作者: Godbach    时间: 2010-09-19 11:42
记得Debian/Unbuntu 有自己编译内核和安装内核的方法,有他们封装好的命令,LZ 搜一下吧。
作者: sosha    时间: 2010-09-20 17:54
下载最新版本的vmware就可以了,我试过




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2