linux内核如何更新 为什么要更新内核

linux内核如何更新 为什么要更新内核,第1张

下载内核

下载热点内核标准配置文件

编译内核

make menuconfig

选中Load an Alternate Configuration File ,然后选择刚下载的。config

另外,要特别选中:

1)、通过make menuconfig选中以下对应的选项

General setup –>

[*] enable deprecated sysfs features to support old userspace tools

2)、修改。config文件

修改。config文件中CONFIG_SYSFS_DEPRECATED_V2,将原本被注释掉的

CONFIG_SYSFS_DEPRECATED_V2 改成CONFIG_SYSFS_DEPRECATED_V2=y

注: 修改这项是因为旧版的mkinitrd及其nash在内核没有CONFIG_SYSFS_DEPRECATED_V2参数时默认使用旧版sysfs路径格式,从而在新内核下无法正确访问/sys内的硬盘信息节点。

主要是解决"mount:could not find filesystem '/dev/root'"这样的错误

make bzImage

make modules

make modules_install

make install

解压修改内核

cp /boot/initrd-2.6.38.img /tmp

cd /tmp/

mkdir newinitrd

cd newinitrd/

zcat /initrd-2.6.38.img |cpio -i

rm -rf /tmp/initrd-2.6.38.img

vi init

找到这2行一样的,去掉1行

echo "Loading dm-region-hash.ko module"

insmod /lib/dm-region-hash.ko

echo "Loading dm-region-hash.ko module"

insmod /lib/dm-region-hash.ko

这主要是解决:"insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists"这样的错误

从新打包内核

find .|cpio -c -o >/initrd

cd /

gzip -9 <initrd >initrd-2.6.38img

rm -rf /boot/initrd-2.6.38.img

cp initrd-2.6.38.img /boot

rm -rf /cd /usr/src/linux-2.6.38.tar.gz

rm -rf /cd /usr/src/linux-2.6.38

设置从新内核启动,重启系统

vi /boot/grub/grub.conf

把default=1改为default=0

reboot(重启系统)

新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译Linux内核。

为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主要有下面四个考虑:

(1)自己定制编译的内核运行更快(具有更少的代码)

(2)系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)

(3)不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞

(4)

将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些

支持新硬件

解决bug

提升效率,支持新功能,主要面向网络、开发、服务应用的。

不升级也没坏处,如果你注意RH系列的 *** 作系统就该知道,面向个人桌面的fedora每半年就会出一个新版本,内核都已经升级到2.6.3x了。而面向服务器领域的RHEL和CentOS才到5.5,内核版本不详,但5.3的内核才2.6.18,差了十来个档次。就是因为服务器领域的 *** 作系统要考虑更多稳定方面的因素才不会随意地发布新版。

如果你是个人电脑,升级内核就当练手了。不过提醒,如果你没玩过,升级内核的后果一是系统崩溃,二是耗时极长劳心费神,三是不知筛选升级内容导致内核超大系统效率反而下降。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8729236.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存