ubuntu命令安装内核源码
ubuntu命令安装内核源码 sudo apt-get install linux-source 会自动安装当前版本内核的源代码到 /usr/src 升级内核源码: 1.将下载过来linux源代码包(tar.bz2包)解压到/usr/src下。如果你还不知道怎么解压,请google之~解压完毕后可以在/usr/src目录下看到一个linux-2.6.31.6的文件夹
1.将下载过来linux源代码包(tar.bz2包)解压到/usr/src下。如果你还不知道怎么解压,请google之~解压完毕后可以在/usr/src目录下看到一个linux-2.6.31.6的文件夹
2.转移目录至linux-2.6.31.6用如下命令:
cd /usr/src/linux-2.6.31.6
3.先配置Ubuntu内核:
make menuconfig
具体怎么配置我不清楚,不过这个基本上不用怎么配置的,直接选最后一项,save,exit就OK了
4.接着开始编译Ubuntu内核:make
这是一个漫长的过程,慢慢等吧~~这个花了我将近一个半小时的时间
5.加入模块:
make modules_install
6.生成可执行的Ubuntu内核引导文件:
make bzImage (注意i字母要大写)
7.将bzImage复制至/boot下:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.31.6 //2.6.32Ubuntu内核的bzImage目录为arch/x86/boot/bzImage
8.清除多余的创建文件:
make clean //这一步最好还是留到最后来做(现在可以先不跳过这一步),这样的话,即使你后面操作失误也可以回到这里重做,而不需要重新编译
9.将System.map复制至/boot下:
cp System.map /boot/System.map-2.6.31.6
10.生成initrd.img 这个很重要,我开始弄错了这个,害的我白重启了一次。命令:
cd /lib/modules/2.6.31.6
sudo mkinitramfs -o /boot/initrd.img-2.6.31.6 //2.6.32可以为sudo update-initramfs -c - k 2.6.32
11.自动查找新Ubuntu内核,并添加至grub引导:
sudo update-grub
这个过程也可以手动完成,方法是更改/boot/grub目录下menu.lst文件。这个文件引导系统的启动,结构很简单,就是指定引导文件而已,可以参考已有的启动项修改,我的是在该文件中添加如下内容:
title Ubuntu 9.04, kernel 2.6.31
uuid 753efade-04e8-4e2c-8bbb-965e9792b2f5
kernel /boot/vmlinuz-2.6.31.6 root=UUID=753efade-04e8-4e2c-8bbb-965e9792b2f5 ro quiet splash
initrd /boot/initrd.img-2.6.31.6
//9.10采用的是Grub2 启动文件用grub.cfg代替 该文件所在目录为/boot/grub 若手动添加为可参考如下:
menuentry "Ubuntu, Linux 2.6.32" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 3c611c5f-f941-4970-956f-fe4c7bf75714
linux/boot/vmlinuz-2.6.32 root=UUID=3c611c5f-f941-4970-956f-fe4c7bf75714 ro quiet splash
initrd/boot/initrd.img-2.6.32
12.重启电脑:reboot 你会发现启动项里多了一个Ubuntu 9.04, kernel 2.6.31(Ubuntu, Linux 2.6.32)的选项,选择这个,进入系统。
以上介绍Ubuntu内核更新。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
虚拟机VMware下的Debian etch 2.6.26-6-686,欲升级为2.6.36内核。
如果打算使用X-Window中的xconfig界面来配置内核,所以,需要安装qt3,运行命令
#apt-cache search qt3
然后将几个开头为qt3的包安装。
#apt-get install qt3-dev-tools qt3-qtconfig qt3-doc qt3-designer qt3-assistant qt3-apps-dev
然后在http://www.kernel.org/上下载最新的Linux Kernel。
放到目录/usr/src下,
#cd /usr/src
#tar -xjvf linux-2.6.36.tar.bz2
#make xconfig
选择好相应的选项后
#make dep //检查依赖关系
#make clean //如果是第一次编译新下载的内核,这步可省略
#make bzImage //生成新内核的镜像
#make modules //编译外挂模块
#make modules_install //安装模块
#/sbin/depmod –a //创建模块的链接(这一步没有使用,有些地方有点问题)
#make install
这步创建System.map与vmlinuz。若不成功,需要手动创建,进入/boot文件夹下,执行
#cd /boot
#cp /usr/src/linux/System.map System.map-2.6.36
#cp /usr/src/linux//arch/i386/boot/bzImage vmlinuz-2.6.36
不过,正常情况下,上三步不用执行,make install已经创建好了链接。
update-grub.
这时我重启后,出现错误:
could not load /lib/modules/2.6.36/modules.dep,还好保留有原来的内核,于是又进入原内核,删掉了之前生成的/boot/initrd.img-2.6.36,执行
#cd /usr/src/linux
#update-initramfs –c –k 2.6.36这样,重新在/boot下创建initrd.img-2.6.36,重启后,进入了新内核,内核编译升级成功。
更多推荐
所有评论(0)