Ubuntu 编译 Linux 3.0-rc4

标签: 软件 kernel linux ubuntu | 发表时间:2011-06-27 14:30 | 作者:ivarptr zyhong17
出处:http://wowubuntu.com

Linux 内核经过漫长的 2.6 版本之后终于主版本+1了,现在已放出 3.0 RC4 版,最近又有消息称 3.0 会比 2.6.39 快,喜欢折腾的你又不介意当小白鼠的话不妨试试下载 Linux Kernel 3.0 的源代码自己编译。

下面简单讲一下在 Ubuntu 10.10 编译 Linux Kernel 3.0 RC4 的过程。因为编译内核的过程都差不多,所以理论上下面的过程同时也适用于其他发行版(比如红帽系的 Fedora 15,下面我会同时注出使用 Fedora 15 编译的异同),因为 3.0 还不是正式版,使用自己编译的新内核可能启动不了计算机,所以要保留当前使用的内核。@ivarptr

1、下载并解压缩 Linux Kernel 3.0 RC4 源代码
到官方 http://kernel.org/ 下载,得到 linux-3.0-rc4.tar.bz2 文件,把它挪到随便一个你有权限读写的文件夹,运行下面命令解压缩并进入解压后的文件夹:
$ tar -jxvf linux-3.0-rc4.tar.bz2
$ cd linux-3.0-rc4

2、配置内核编译参数
先安装 ncurses 工具,这是字符版配置工具所依赖的:
$ apt-get install libncurses5 libncurses5-dev  #(Ubuntu 环境)
$ sudo yum install ncurses ncurses-devel  #(Fedora 环境)

因为新版本配置工具会自动寻找当前系统环境的配置信息(即位于 /boot 下以 config-XXX 开头的文件),所以接下来可以直接运行字符版的配置工具:
$ make menuconfig

这里有很多配置选项,如果是尝试性的心态,则可不必理会它,直接选中菜单下面的“Save”然后退出,配置工具会生成一个“.config”文件。

3、开始编译
$ make

编译过程从十几分钟到1、2个小时不等,视乎你计算机运行的速度。如果CPU是4核的,可以在 make 命令后面加上“-j4”参数让编译程序同时使用4核编译,这样编译所需要的时间能减倍。

如果编译中途意外中断,然后想重新开始编译,需要先执行下面命令清理一下编译现场然后再编译:
$ make mrproper

(这里是漫长的等待过程)

4、安装编译好的模块和内核
内核编译好之后,使用下面命令安装 modules:
$ sudo make modules_install

上面的命令会将编译好的 modules 复制到 “/lib/modules/3.0.0-rc4” 文件夹,其中“3.0.0-rc4”是内核的版本号,你会在“/lib/modules”文件夹中看到其他版本内核的 modules,包括当前系统环境的,不要手痒把这些文件夹删除了。

然后安装编译好的内核映像文件:
$ sudo make install

上面的命令会把编译文件夹里面的“arch/x86/boot/bzImage”文件复制到“/boot”,同时还会复制 config 和 System.map 文件,最终在“/boot”会多出如下3个文件:
/boot/config-3.0.0-rc4
/boot/System.map-3.0.0-rc4
/boot/vmlinuz-3.0.0-rc4

是不是发现缺少了一个 initrd.img 文件(初始ram磁盘文件)?使用下面命令创建一个即可:
$ sudo mkinitramfs 3.0.0-rc4 -o /boot/initrd.img-3.0.0-rc4    #(Ubuntu 环境)
$ sudo mkinitrd initramfs-3.0.0-rc4.img 3.0.0-rc4   #(Fedora 环境)

5、修改 GRUB 启动菜单,增加使用新内核启动的项目
这一步可以使用 GRUB2 的自动生成工具完成
$ sudo update-grub2    #(Ubuntu 环境)
$ sudo grub2-mkconfig   #(Fedora 环境)

假如你(对新内核没什么把握)不希望修改 GRUB 启动菜单,则可以直接在启动 Linux 时手动指定新内核,方法如下:
重启计算机,在 GRUB 菜单界面(假如没有看到的话则重启计算机时按下ESC键)按“c”进入命令模式,先设置启动文件的分区,下面假设 “/boot”位于第一块硬盘第一个分区,如果在其他分区则把下面的数字“1”改成“2,3,5,6,7……”等:
set root=(hd0, 1)

指定内核映像和虚拟ram磁盘文件位置:
linux /boot/vmlinuz-3.0.0-rc4 root=/dev/sda1
initrd /boot/initrd.img-3.0.0-rc4

注意,在 GRUB 命令模式下也可以按“TAB”键自动补完的,不要一个字一个字地敲。最后输入“boot”启动。下面帖一张使用 3.0 内核的“系统监视器”截图:

至于速度有没有比 2.6.x 的快,或许有,不过有点难察觉。

文章来源

# 本文采用CC协议进行授权,转载本文请注明本文链接。/ 12 条留言
-
Twitter / Buzz / 微博 / 问答 / 投稿 / 加入我们 wow0slx6bcs721xo1udcc
- 高性价比 Ubuntu VPS / 本站架设于 PhotonVPS / 定制 Ubuntu T-Shirt
相关文章:
Linux Kernel 3.0, 不会有重大变化
Linux Kernel 2.6.38 正式发布
展望 Ubuntu Tweak 0.6
Ubuntu One for Android 客户端
Ubuntu Tweak 0.5.6正式发布:新增桌面恢复功能
无觅

相关 [ubuntu 编译 linux] 推荐:

Ubuntu 编译 Linux 3.0-rc4

- zyhong17 - Wow! Ubuntu
Linux 内核经过漫长的 2.6 版本之后终于主版本+1了,现在已放出 3.0 RC4 版,最近又有消息称 3.0 会比 2.6.39 快,喜欢折腾的你又不介意当小白鼠的话不妨试试下载 Linux Kernel 3.0 的源代码自己编译. 下面简单讲一下在 Ubuntu 10.10 编译 Linux Kernel 3.0 RC4 的过程.

Ubuntu Linux大型机?

- Jack - Solidot
Vaughan-Nichols引用接近Canonical和IBM的消息来源称,Ubuntu将在不久后获得IBM的认证,能运行在基于Power处理器的System p服务器和System z大型机上. 在这之前,Ubuntu已获得IBM的认证,能运行在其基于x86的System x和BladeCenter服务器上.

Ubuntu(Linux)平台经典游戏推荐

- iaotin - 启光博客
  非ubuntu游戏大全,是个人感觉不错的几款游戏,工作之余用来打发下时间. 后面几个画质较高,所以安装包也较大,属于Linux平台大型游戏. 官方网站:http://assault.cubers.net. 官方下载:http://assault.cubers.net/download.html.

Ubuntu Linux 入门(六):Ubuntu 常用软件推荐

- Terry - Terry's Blog
下面是一些使 Ubuntu 更好用的常用软件,推荐 Linux 新手使用. 除非特别说明,请直接在 Ubuntu 软件中心搜索安装. Leafpad 可以说是 Linux 下的记事本,小巧轻便,启动速度快,而且能自动识别编码,解决了系统自带文本编辑器 Gedit 的乱码问题. 实际上,poppler-data 并非 PDF 阅读器,不过如果你想在 Ubuntu Linux 中使用系统自带的文档查看器 Evince 阅读中文 PDF 的话,提供东亚文字编码支持的poppler-data 是必装软件包.

在Ubuntu上编译Android Gingerbread 2.3.1

- MorrisC - 易水博客
前几天下载了Android 2.3.1的源代码并在Ubuntu 10.04(32位)上编译通过. 这篇文章简要记录了下载、编译的过程. 关于搭建Android开发环境的文章已经有很多,本文只简要介绍一下,做为备忘. 这一步安装获取源代码以及编译所需要的软件,使用如下命令:. 另外,参考别人编译Android 2.3的经验,安装了下列软件包:.

ubuntu 11.04 32位编译android 4.0.3

- - CSDN博客推荐文章
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明. 这里只是记录一些日志,难免有些错误,欢迎批评指正. 这里我下载4.0.3 的源码:. 下载的速度看个人的网络,这里我下了一天一夜. 下载好之后就可以直接make -j4编译了,编译的时候用个大概3个小时,如果按照以上两个连接编译的话,除了内存不够之外的应该没有什么问题,这里我遇到的是就是内存不够.

加速Linux程序编译

- jin - 李凡希的Blog
  项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情. Research了一下,找到以下可以帮助提高速度的方法,总结一下.   有人说在Windows下用了RAMDisk把一个项目编译时间从4.5小时减少到了5分钟,也许这个数字是有点夸张了,不过粗想想,把文件放到内存上做编译应该是比在磁盘上快多了吧,尤其如果编译器需要生成很多临时文件的话.

Linux平台使用SSD必讀 (範例為Ubuntu)

- ĐƋɳƞѵїχ - 永遠的真田幸村
SSD和一般傳統硬碟最大的不同,就是它的寫入壽命比較有限,同一塊資料區裡面的快閃記憶體(flash memory)經不起大量多次的寫入,故SSD採用控制晶片內建的特殊演算法,把資料平均寫入到不同區塊的快閃記憶體晶片上. 本文範例為Ubuntu Linux,我的Acer 3750G筆電裝的是Ubuntu 11.04,SATAII SSD 120GB(SandForce SF-1222控制晶片),開機過UEFI後大約8秒進入自動桌面.

Ubuntu桌面生存指南(1):选择 Linux

- - 博客 - 伯乐在线
注:本文来自文章作者张佳伟( @ghosert)的投稿( 原文). 投稿,如果您有新浪微博,请投稿时记得留下哦~. 我大概是从2010年4月份开始把自己的桌面开发环境从 Windows XP 迁移到 Ubuntu 10.04 的,说起来也已经有两年半的 Ubuntu 使用经验. 那次迁移的原因大致是因为某个阶段特别迷恋如何高效的操作电脑,当时把 Windows 整的很伏贴,但是说到高效的使用电脑,不可能对 Linux 系统视而不见.

如何在Ubuntu上下载、编译和安装Android最新源代码

- - CSDN博客推荐文章
看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源代码了呢. 一直习惯使用Windows系统,而Android源代码是不支持在Windows上编译上,于是决定使用虚拟机安装Ubuntu,然后下载、编译和安装Android源代码.