Linux Kernel 5.0带来了哪些改进?

Linux Kernel 5.0带来了哪些改进?,第1张

Linux Kernel 从4.20直接更新到5.0,原因是Linus Torvalds 认为为“手指和脚趾加在一起数不过来”,没有什么特殊的理由。

The numbering change is not indicative of anything special. If you want to have an official reason, it's that I ran out of fingers and toes to count on, so 4.21 became 5.0.

-Linus Torvalds

Linux 5.0 的新特性包括:

AMD FreeSync 支持,初步支持 NVIDIA Turing GPU,更新中国的 C-SKY CPU 架构代码;

初步支持 NXP i.MX8 SoC;

支持 Allwinner T3、Qualcomm QCS404 和 NXP Layerscape LX2160A,英特尔 Stratix 10 FPGA 驱动,Fscrypt Adiantum 支持, Raspberry Pi 触控屏驱动,等等。

Linus Torvalds 今日宣布:期待已久的 Linux 5.0 内核系列,终于在今天迎来了面向公众发布的大版本更新。 Linux 5.0 内核系列的开发工作,属于两个月前。期间,维护团队一共发布了七个候选发布(RC)版本,完成了一系列的除虫测试工作。需要指出的是,Linux Kernel 5.0 只是一个引入适度改进的大版本,意味着并有太多激动人心的地方。

当然,Linux Kernel 5.0 还是带来了一些有趣的内容:

其它值得留意变化包括:支持用户数据报协议(UDP)中的通用接收卸载(GRO)功能,cgroupv2 中的cpuset 资源控制器,以及支持能够运行多个 Android 实例的 binderfs 文件系统。

Linux Kernel 5.0 下载地址:

在更新核心之前,可以执行uname -r或uname -a检查系统中目前使用的Kernel版本。

编译核心可按下面步骤来:

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重新启动。


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

原文地址: http://outofmemory.cn/yw/7346926.html

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

发表评论

登录后才能评论

评论列表(0条)

保存