升级内核
出自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
