编译核心可按下面步骤来:
Step1 备份旧版Kernel
#cd /usr/src
# mv linux linux.old
#mv /boot/vmlinuz vmlinuz.old
Step2 取得Kernel源程序代码
我以Kernel2.6.15为例来完成。
将linux-2.6.15.tar.gz复制到/usr/src/这个目录下。
Step3 将Kernel解压缩
在/usr/src/这个目录下解压缩,会看到linux/这个目录。
tar zxvf linux-2.6.15.tar.gz
Step4 make mrproper
在/usr/src/linux/下执行 make mrproper
Step5 make config
在/usr/src/linux/下执行 make config,这是编译整个核心的所在,是最复杂的地方。你需要一个一个选择要编译的功能。
/usr/src/linux/# make config
Step6 make dep
在上一步设置完配置文件后,就可以开始编译核心了。
/usr/src/linux/# make dep
Step7 make clean
清除以前编译出来的旧的系统核心与旧的driver
/usr/src/linux/# make clean
Step8 make zImage
制作系统核心文件。
/usr/src/linux/# make zImage (注意 I 为大写,其余均为小写)
Step9 取得Linux核心文件zImage
编译成功后,真正的系统核心文件Kernel Image放在
/usr/src/linux/arch/i386/boot/ zImage
应将此目录的zImage复制到/boot/vmlinuz
#cd /usr/src/linux/arch/i386/boot
#cp zImage /boot/vmlinuz-2.6.15
#cd /boot
# ln ?s /boot/vmlinuz-2.6.15 /boot/vmlinuz
Step10 编译系统模块
如果在make config中设置将某些功能或硬件驱动程序编译成模块modules,且想安装这些模块,执行下面步骤。
/usr/src/linux/# make modules (编译模块)
/usr/src/linux/# make modules_install (安装模块)
编译成功的模块会被放置在/lib/modules/2.6.15/这个目录,若以后想载入模块就执行
#insmod /lib/modules/2.6.15/xxx.o (xxx.o是模块名称)
# modprobe /lib/modules/2.6.15/xxx.o
Step11 更新System.map
# cp /usr/src/linux/System.map /boot/System.map-2.6.15
# cd /boot
# ln ?s System.map-2.6.15 System.map
Step12 编辑lilo.conf
编辑lilo.conf,使开机能选用新Kernel或旧Kernel启动,然后执行 lilo ?v ?v ?v,将编辑好的lilo.conf设置写入系统核心文件,最后执行syncsyncsync将在内存中的数据写回硬盘,再执行shutdown ?r now 或reboot重新启动。
1:查看系统版本 # uname -r 2.6.32-431.el6.x86_64 2:更新内核 #yum -y install kernel 3:重启系统 # reboot 4:查看是否启用新内核 # uname -r 2.6.32-504.8.1.el6.x86_64 5:可以删除老内核节约空间 # rpm -q kernel kernel-2.6.32-431.el6...
预备工作要更新你的内核,你首先要确定你使用的是32位还是64位的系统。打开终端并运行:
uname -a
检查一下输出的是 x86_64 还是 i686。如果是 x86_64,你就运行64位的版本,否则就运行32位的版本。千万记住这个,这很重要。
接下来,访问官方的 Linux 内核网站,它会告诉你目前稳定内核的版本。愿意的话,你可以尝试下发布预选版(RC),但是这比稳定版少了很多测试。除非你确定想要需要发布预选版,否则就用稳定内核。
Ubuntu 指导
对 Ubuntu 及其衍生版的用户而言升级内核非常简单,这要感谢 Ubuntu 主线内核 PPA。虽然,官方把它叫做 PPA,但是你不能像其他 PPA 一样将它添加到你软件源列表中,并指望它自动升级你的内核。实际上,它只是一个简单的网页,你应该浏览并下载到你想要的内核。
现在,访问这个内核 PPA 网页,并滚到底部。列表的最下面会含有最新发布的预选版本(你可以在名字中看到“rc”字样),但是这上面就可以看到最新的稳定版(说的更清楚些,本文写作时最新的稳定版是4.1.2。LCTT 译注:这里虽然 4.1.2 是当时的稳定版,但是由于尚未进入 Ubuntu 发行版中,所以文件夹名称为“-unstable”)。点击文件夹名称,你会看到几个选择。你需要下载 3 个文件并保存到它们自己的文件夹中(如果你喜欢的话可以放在下载文件夹中),以便它们与其它文件相隔离:
针对架构的含“generic”(通用)的头文件(我这里是64位,即“amd64”)
放在列表中间,在文件名末尾有“all”的头文件
针对架构的含“generic”内核文件(再说一次,我会用“amd64”,但是你如果用32位的,你需要使用“i686”)
你还可以在下面看到含有“lowlatency”(低延时)的文件。但最好忽略它们。这些文件相对不稳定,并且只为那些通用文件不能满足像音频录制这类任务想要低延迟的人准备的。再说一次,首选通用版,除非你有特定的任务需求不能很好地满足。一般的游戏和网络浏览不是使用低延时版的借口。
你把它们放在各自的文件夹下,对么?现在打开终端,使用cd命令切换到新创建的文件夹下,如
cd /home/user/Downloads/Kernel
接着运行:
sudo dpkg -i *.deb
这个命令会标记文件夹中所有的“.deb”文件为“待安装”,接着执行安装。这是推荐的安装方法,因为不可以很简单地选择一个文件安装,它总会报出依赖问题。这这样一起安装就可以避免这个问题。如果你不清楚cd和sudo是什么。快速地看一下 Linux 基本命令-sudo命令的用法这篇文章 http://www.linuxidc.com/Linux/2015-05/117379.htm。
安装完成后,重启你的系统,这时应该就会运行刚安装的内核了!你可以在命令行中使用uname -a来检查输出。
Fedora 指导
如果你使用的是 Fedora 或者它的衍生版,过程跟 Ubuntu 很类似。不同的是文件获取的位置不同,安装的命令也不同。
查看 最新 Fedora 内核构建列表。选取列表中最新的稳定版并翻页到下面选择 i686 或者 x86_64 版。这取决于你的系统架构。这时你需要下载下面这些文件并保存到它们对应的目录下(比如“Kernel”到下载目录下):
kernel
kernel-core
kernel-headers
kernel-modules
kernel-modules-extra
kernel-tools
perf 和 python-perf (可选)
如果你的系统是 i686(32位)同时你有 4GB 或者更大的内存,你需要下载所有这些文件的 PAE 版本。PAE 是用于32位系统上的地址扩展技术,它允许你使用超过 3GB 的内存。
现在使用cd命令进入文件夹,像这样
cd /home/user/Downloads/Kernel
接着运行下面的命令来安装所有的文件
yum --nogpgcheck localinstall *.rpm
最后重启你的系统,这样你就可以运行新的内核了!
使用 Rawhide
另外一个方案是,Fedora 用户也可以切换到 Rawhide,它会自动更新所有的包到最新版本,包括内核。然而,Rawhide 经常会破坏系统(尤其是在早期的开发阶段中),它不应该在你日常使用的系统中用。
Arch 指导
Arch 用户应该总是使用的是最新和最棒的稳定版(或者相当接近的版本)。如果你想要更接近最新发布的稳定版,你可以启用测试库提前2到3周获取到主要的更新。
要这么做,用你喜欢的编辑器以sudo权限打开下面的文件
/etc/pacman.conf
接着取消注释带有 testing 的三行(删除行前面的#号)。如果你启用了 multilib 仓库,就把 multilib-testing 也做相同的事情。如果想要了解更多参考这个 Arch 的 wiki 界面。
升级内核并不简单(有意这么做的),但是这会给你带来很多好处。只要你的新内核不会破坏任何东西,你可以享受它带来的性能提升,更好的效率,更多的硬件支持和潜在的新特性。尤其是你正在使用相对较新的硬件时,升级内核可以帮助到你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)