关注分享主机优惠活动
国内外VPS云服务器

linux编译内核的原因是什么(编译linux内核的意义是什么)

本文主要讲解“linux编译内核的原因是什么?”本文的解释简单明了,易学易懂。请按照主机频道的思路,研究学习“linux编译内核的原因是什么?”!

原因:新内核修改了老内核的bug,增加了很多新特性。如果用户想使用这些新特性,或者根据自己的系统定制一个更高效、更稳定的内核,就需要重新编译Linux内核。通常更新后的内核会支持更多的硬件,有更好的进程管理能力,运行更快更稳定,一般会修复旧版本中发现的很多漏洞等。经常选择更新的系统内核是Linux用户必须的操作内容。

为什么要编译Linux内核?新内核修复了旧内核的bug,并增加了许多新功能。如果用户想使用这些新特性,或者根据自己的系统定制一个更高效、更稳定的内核,就需要重新编译Linux内核。

通常更新后的内核会支持更多的硬件,有更好的进程管理能力,运行更快更稳定,一般会修复旧版本中发现的很多漏洞等。经常选择更新的系统内核是Linux用户必须的操作内容。

为了正确合理地设置内核编译配置选项,从而只编译系统需要的函数的代码,主要有四点考虑:

(1)自编译内核运行更快(代码更少)

(2)系统会有更多的内存(内核部分不会换入虚拟内存)。

(3)将不需要的函数编译到内核中可能会增加被系统攻击者利用的漏洞。

(4)将某个函数编译成模块的方式会比编译成内核的方式慢。

这种编译的目的是通过编译了解Linux内核编译的过程,熟悉内核的工作原理,甚至尝试做一些修改。编译只是将源代码编译成程序,不会替换当前系统,也不会影响当前系统的运行。

内核可能会针对一些需求进行编译,比如要求内核的大小,去掉内核中一些不用的部分。这种场景通常是嵌入式系统。或者你自己修改一些内核代码,编译后需要验证功能。

将一些功能模块编译成。编译模块时ko。insmod xxx.ko无需重新编译内核就可以使用系统中编写的代码函数。编译后的内核不会替换当前的内核。编译后的新内核往往在类似下面的目录下,名字多为bzImage。

/usr/src/kernels/3 . xx . x-. x86 _ 64/arch/x86/boot/

然后可以编辑系统的grub列表,添加最新的内核来使用。

新内核集成了新的驱动程序,比如Intel Kernel Display:/lib/modules/` uname-r '/Kernel/drivers/GPU/DRM/I915/I915 . ko。

一个系统可以安装多个内核,比如启动文件,新内核不会覆盖旧内核:

/boot/vmlinuz-VERSION
/boot/initrd.img-VERSION

在安装新内核的过程中,需要重新编译一些内核模块,比如VirtualBox:

/lib/modules/` uname-r `/ updates/dkms/vbox drv . ko

如果新内核不能正常工作,您可以选择旧内核在引导GRUB中启动。

你也可以像这样变回原来的内核:

ln-SF/boot/vmlinuz-VERSION/vmlinuz
ln-SF/boot/initrd . img-VERSION/initrd . img

其中VERSION是原始内核的版本。

编译一个Linux内核内核编译的整个过程非常简单,但是编译内核需要很长时间。这主要是因为内核有很多代码。当然,如果你的电脑性能很强,时间会短很多。另外,需要注意的是,建议在虚拟机环境下编译,以免错误导致系统问题。如果在虚拟机中测试,建议系统分区和内核源代码分区的大小大于20GB。

步骤1:下载源代码

1.去Linux内核官网下载最新版本或者其他版本的内核代码。下面是源代码的压缩包。

linux编译内核的原因是什么

2.假设我们现在在一个Linux操作系统中,我们可以通过在命令行输入下面的命令来下载内核。

Wget链接(因为链接会被认为是广告,本文省略链接,请自行复制)

在下载的过程中,可以看到下载进度,下载后的信息大致如下。

linux编译内核的原因是什么

linux编译内核的原因是什么步骤2:解压缩源代码

压缩包下载后,可以用tar命令解压。

tar xvf linux-5.9.6.tar.xz

解压时可以看到文件列表。这个会很多,可能需要一段时间。

linux编译内核的原因是什么步骤3:安装所需的软件包

安装编译工具和其他依赖软件包,并在Ubuntu 18.04环境下执行以下命令。

sudo apt-get install git fake root build-essential ncurses-dev xz-utils libssl-dev BC flex libelf-dev bison

如果一切顺利,大概安装输出信息如下。

linux编译内核的原因是什么步骤4:配置内核代码

我们可以在编译内核之前配置内核源代码。配置的主要目的是确定哪些模块将被编译到内核中。

1.输入源代码目录

cd linux-5.9.6

2.将配置信息从当前计算机的启动目录复制到源代码目录。这个操作意味着我们编译的内核的配置与当前环境一致。

cp -v /boot/config-$(uname -r)。配置

linux编译内核的原因是什么3.您可以通过以下命令启动配置界面。

制作菜单配置

这个命令将运行一些脚本,然后打开一个配置界面。

linux编译内核的原因是什么14.以下是开放的配置界面。可以看到它包含了所有的内核组件,包括文件系统、网络、IO栈、虚拟化和设备驱动。如果不熟悉的话,可以不做任何改动。

linux编译内核的原因是什么1步骤5:编译内核

1.您可以通过以下命令编译内核。

国产歼10

上面的参数是并发数,通常可以是CPU的两倍。

linux编译内核的原因是什么12.安装模块

sudo制作模块_安装

linux编译内核的原因是什么13.安装内核

sudo make安装

安装完成后,会有以下提示信息。

linux编译内核的原因是什么1步骤6:重启并验证版本。

当上述步骤没有错误时,让我们重新启动计算机,然后运行以下命令。

乌梅夫人

此时,您可以看到内核版本已经是我们的编译版本。

linux编译内核的原因是什么2结论

通过以上步骤,我们可以简单的编译一个内核。如果后来开发内核模块,也是基于内核代码树,所以这是内核开发的基础。

可能的问题

在编译内核时,您可能会遇到这个问题:

没有规则使目标debian/certs/debian-uefi-certs . PEM被certs/x509_certificate_list的要求停止。

只需编辑要编译的内核目录中的配置文件。简单的方法是执行下面的命令。

维姆。配置

然后找到CONFIG_SYSTEM_TRUSTED_KEYS,设置为空,就是这样。

配置系统可信密钥= "

linux编译内核的原因是什么

未经允许不得转载:主机频道 » linux编译内核的原因是什么(编译linux内核的意义是什么)

评论 抢沙发

评论前必须登录!