如何从头开始构建Linux内核?详细分步指南

2021年11月22日03:29:51 发表评论 1,372 次浏览

Linux内核构建教程介绍

Linux 内核是类 Unix 操作系统的基础。内核负责硬件和软件之间的通信以及可用资源的分配。

所有 Linux 发行版都基于预定义的内核。但是,如果你想禁用多个选项和驱动程序或尝试实验性补丁,则需要构建 Linux 内核。

如何构建Linux内核在本分步指南中,你将学习如何从头开始构建和编译 Linux 内核。

先决条件

  • 一个运行 Linux 的系统
  • 访问终端/命令行
  • 具有sudo/root权限的用户帐户
  • 硬盘上有 12GB 的可用空间

构建 Linux 内核

如何构建Linux内核?构建 Linux 内核的过程只需七个简单的步骤即可完成。但是,该过程需要大量时间才能完成,具体取决于系统速度。

在撰写本文时,请按照以下步骤构建最新的 Linux 内核。


注意:如果内核网站上的版本与以下步骤中的版本不匹配,请使用这些命令并替换内核版本号。


第 1 步:下载源代码

1.Linux如何构建内核?访问内核官方网站,下载最新的内核版本。下载的文件包含压缩的源代码。

如何从头开始构建Linux内核?详细分步指南

2、打开终端,使用wget命令下载Linux内核源码:

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.6.tar.xz

下载完成后,输出显示“已保存”消息。

如何从头开始构建Linux内核?详细分步指南

第 2 步:提取源代码

Linux内核构建教程:文件准备好后,运行 tar 命令以提取源代码:

tar xvf linux-5.9.6.tar.xz

输出显示提取的内核源代码:

如何从头开始构建Linux内核?详细分步指南

第 3 步:安装所需的软件包

Linux如何构建内核?在构建内核之前安装其他软件包。为此,请运行以下命令:

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

我们上面使用的命令安装以下软件包:

包裹包装说明
git在源代码中跟踪并记录开发过程中的所有更改。它还允许恢复更改。
fakeroot制作假根环境的打包工具。
build-essential安装开发工具,如 C、C++、gcc 和 g++。
ncurses-dev为基于文本的终端提供 API 的编程库。
xz-utils提供快速的文件压缩和解压。
libssl-dev支持加密数据并确保互联网连接安全的 SSL 和 TSL。
bc (基本计算器)一种支持语句交互执行的数学脚本语言。
flex (快速词法分析器生成器)生成将字符转换为标记的词法分析器。
libelf-dev发布用于管理 ELF 文件(可执行文件、核心转储和目标代码)的共享库
bison将语法描述转换为 C 程序的 GNU 解析器生成器。
如何从头开始构建Linux内核?详细分步指南

第 4 步:配置内核

如何构建Linux内核?Linux 内核源代码带有默认配置。但是,你可以根据需要对其进行调整。为此,请按照以下步骤操作:

1. 导航到 linux-5.9.6。目录使用cd命令:

cd linux-5.9.6

2. 使用以下cp命令复制现有配置文件:

cp -v /boot/config-$(uname -r) .config
如何从头开始构建Linux内核?详细分步指南

3. 要更改配置文件,请运行以下make命令:

make menuconfig

该命令会启动多个脚本,然后打开配置菜单:

如何从头开始构建Linux内核?详细分步指南

4. 配置菜单包括固件、文件系统、网络和内存设置等选项。使用箭头进行选择或选择帮助以了解有关选项的更多信息。完成更改后,选择“保存”,然后退出菜单。

如何从头开始构建Linux内核?详细分步指南

注意: 更改某些选项的设置可能会导致内核无法正常工作。如果你不确定要更改什么,请保留默认设置。


第 5 步:构建内核

1. 如何构建Linux内核?通过运行以下命令开始构建内核:

make

构建和编译 Linux 内核的过程需要一些时间才能完成。

终端列出了所有 Linux 内核组件:内存管理、硬件设备驱动程序、文件系统驱动程序、网络驱动程序和进程管理。

如何从头开始构建Linux内核?详细分步指南

2. 使用以下命令安装所需的模块:

sudo make modules_install
如何从头开始构建Linux内核?详细分步指南

3. 最后,输入以下命令安装内核:

sudo make install 

完成后输出显示完成:

如何从头开始构建Linux内核?详细分步指南

步骤 6:更新引导加载程序(可选)

Linux内核构建教程:GRUB 引导加载程序是系统开机时运行的第一个程序。

make install命令会自动执行此过程,但你也可以手动执行此过程。

1. 将 initramfs 更新为安装的内核版本:

sudo update-initramfs -c -k 5.9.6

2. 使用以下命令更新 GRUB 引导加载程序:

sudo update-grub

终端打印出流程和确认信息:

如何从头开始构建Linux内核?详细分步指南

步骤 7:重新启动并验证内核版本

Linux如何构建内核?完成上述步骤后,重新启动机器。

系统启动时,使用以下uname命令验证内核版本:

uname -mrs

终端打印出当前的 Linux 内核版本。

如何从头开始构建Linux内核?详细分步指南

Linux内核构建教程结论

如何构建Linux内核?在本分步指南中,你学习了如何从头开始构建 Linux 内核并安装所需的软件包。

如果你仔细按照说明进行操作,该过程将在你的 Linux 机器上成功完成。

Linux 内核采用模块化设计。功能可通过模块或驱动程序进行扩展。了解如何使用modprobe 命令在 Linux 上添加或删除模块。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: