Ubuntu 10.04内核是Llinux 2.6.32,其实升级到最新版本2.6.34也没什么很大意义,主要是集成了一些新的驱动和一些普通用户用不到的功能,所以基本上本文纯属折腾,但现在不是流行一句话:“人生在于折腾”嘛,所以大家一起来折腾并快乐着吧!首先是准备条件:(1)有一台装有Ubuntu 10.04的机器(2)拥有root权限(3)下载linux 内核2.6.34源码,并解压到/usr/src下,使用命令如下: $ bunzip2 linux-2.6.34.tar.bz2 $ tar xvf linux-2.6.34.tar 这样你就可以得到一个名叫linux-2.6.34好,现在一切都准备好了,接下来就开始配置,编译,安装新内核吧!1, 进入刚才的文件夹 /usr/src/linux-2.6.34,输入命令: $ make mrproper 该命令的功能在于清除当前目录下残留的.config和.o文件,这些文件一般是以前编译时未清理而残留的。而对于第一次编译的代码来说,不存在这些残留文件,所以可以略过此步,但是如果该源代码以前被编译过,那么强烈建议执行此命令,否则后面可能会出现未知的问题。 2, 配置编译选项 作为操作系统的内核,其内容和功能必然非常繁杂,包括处理器调度,内存管理,文件系统管理,进程通讯以及设备管理等等,而对于不同的硬件,其配置选项也不相同,所以在编译源代码之前必须设置编译选项。其实我觉得这一步是升级内核整个过程中最有技术含量的,因为要根据自己的需要正确选择yes or no需要对计算机方方面面的知识都有所了解。但是这里的选项实在是太多了,大概有几百项之多,我以前曾尝试着一项一项的选,但是最后还是放弃了,因为有很多选项不是很明白。 既然这样,难道没有什么简便的方法么? 当然有!那就是make menuconfig 或者make xconfig。我使用的是make menuconfig,但是前提条件是要装ncurse。 另外,在make menuconfig过程中也会有一些选项需要你来设置*, y, n 或者m,选择*表示选项中的内容被直接编入内核中,选择m表示选项中的内容不编入内核,而只是编成独立的module,用到时才调用。 ok, 在当前文件路径下,输入命令: make menuconfig 根据菜单提示,选择编译配置选项,并保存配置文件为.config3,确定依赖性 根据以往的经验,这一步是必须的,但是这次编译的时候,系统提醒我没必须要执行这个命令: make dep4,清除编译中间文件 输入命令:make clean5,生成新内核 就是把配置过程中,我们选中编入内核中的程序编译链接生产linux内核,输入命令: make bzImage6,生成modules 和上步差不多,就是把配置过程中,我们选中编成modules的程序编译链接成modules,输入命令: make modules7,安装modules 就是把刚才编译生产的modules拷到系统文件夹下,以供新内核调用。输入命令: make modules_install 一切都自动做好了。8,建立要载入ramdisk的映像文件 如果linux系统按照在scsi磁盘上,这部是必须的,否则可以跳过。我的linux是装在vmware上的,用的是虚拟的scsi磁盘,所以必须 要这一步。输入命令: mkinitramfs -o /boot/initrd-linux2.6.34.img 2.6.34 如果你的linux不是ubuntu,而是其他的发行版本,那么使用的命令可能不是mkinitramfs,而是mkinitrd,但功能和用法类似。9,按装内核 输入命令:make install 此时系统会把linux内核的镜像文件还有System.map考入到/boot下.10, 配置grub引导程序 既然新的内核编译并安装好了,那么我们要配置系统的引导程序用新内核正确引导,这一步是手动的,对象是/boot/grub/grub.cfg,首先用chmod更改该文件的只读属性。然后参照里面的已有内容添加一个新启动项,我的新启动项是:menuentry "Ubuntu, with Linux 2.6.34-generic" --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root="(hd0,1)"
search --no-floppy --fs-uuid --set 140c9813-9b08-4f92-bc5f-93b2050ecca1
linux /boot/vmlinuz-2.6.34 root=UUID=140c9813-9b08-4f92-bc5f-93b2050ecca1 ro quiet splash
initrd /boot/initrd-custom2.6.34.img
} 上面粗体字,linux 后面指明了新内核映像文件的路径,initrd后面指明了ramdisk映像文件的路径。 最后一点,别忘了把菜单超时时间设置为10秒钟,因为默认超时为0,而且是从原来的内核镜像启动系统。万事ok,敲下reboot,系统启动后,从grub菜单中选中新内核引导linux,怎么样,系统启动的鼓声响了吧!Ubuntu 10.04下virtualbox使用内置摄像头(即启用USB设备)Ubuntu下QT安装越来越方便了相关资讯 Linux内核 Ubuntu教程 Ubuntu 10.04
- IT人员必须了解的六项Linux内核变 (今 12:05)
- Linux 内核更新:3.10.98、3.14.62 (02月26日)
- Linux:让手机运行主线内核 (11/26/2015 22:16:17)
| - Linux内核自防护项目 (05月24日)
- Linux 内核架构的理解 (12/09/2015 09:01:01)
- Linux内核被指缺乏安全性 (11/07/2015 08:28:47)
|
本文评论 查看全部评论 (0)