升级内核

出自Gentoo Linux Wiki

跳转到: 导航, 搜索
这篇文章属于 经验心得 系列的一部分。
终端/Shell 网络 X 窗口系统 Portage 系统 文件系统 内核 其它

目录

[编辑] 安装

首先安装内核源码包

代码: /bin/bash
emerge -av vanilla-sources

如果你是用别的内核,请替换 vanilla-sources。

然后创建一个指向新内核源码的链接。

代码: /bin/bash
 cd /usr/src
 ln -sfn <新内核源码包> linux

用你的内核源码包名替换 <新内核源码包>。 或者使用

代码: /bin/bash
 eselect kernel list
 eselect kernel set <number>

[编辑] 配置

复制旧的 .config 到 linux/.config

代码: /bin/bash
 cp <旧源码包>/.config linux/.config

若你已用/proc/config编译进你正在运行的内核,你可以使用你现在运行的内核的配置文件。

代码: /bin/bash
 cat /proc/config > linux/.config

或者

代码: /bin/bash
zcat /proc/config.gz > linux/.config

现在你可以用你的旧选项或正在运行的内核配置你的新内核了。

代码: /bin/bash
 cd linux
 make oldconfig

make oldconfig 使用旧选项编译内核。如果在新内核中有新的选项,它会问你如何处理。 输入 '?' 可以获得该选项的帮助。make oldconfig之后可编译内核或编辑.config文件。 注意make oldconfig只用于内核修订版之升级,如从gentoo-sources-2.6.9-r1 升至 gentoo-sources-2.6.9-r2。在不同的官方发行版间make oldconfig 可能是不安全的。

[编辑] 编译和安装

至于如何编译和安装新内核,请参看焉编译内核。若你的编译后的新内核与旧内核名有不同,请修改启动器(grub或lilo)的相关配置文件。

[编辑] 驱动

在升级或重编译内核之后,记住你得重新emerge一些驱动程序如alsa-driver、 nvidia-kernel之类的。

如果想让这种事自动化一点,你可以用module-rebuild: emerge -av module-rebuild

想看看这个命令有什么选项,只需运行 module-rebuild

第一次运行时,它寻找需要重编译的模块,所以速度会慢一点。你也可以再增减模块。你首先得在module-rebuild的数据库中登记驱动程序列表: module-rebuild populate

在某次内核升级之后,重emerge驱动程序你现在只需运行: module-rebuild rebuild

个人工具
其它语言