Linux内核构建教程介绍
Linux 内核是类 Unix 操作系统的基础。内核负责硬件和软件之间的通信以及可用资源的分配。
所有 Linux 发行版都基于预定义的内核。但是,如果你想禁用多个选项和驱动程序或尝试实验性补丁,则需要构建 Linux 内核。
如何构建Linux内核?在本分步指南中,你将学习如何从头开始构建和编译 Linux 内核。
先决条件
- 一个运行 Linux 的系统
- 访问终端/命令行
- 具有sudo/root权限的用户帐户
- 硬盘上有 12GB 的可用空间
构建 Linux 内核
如何构建Linux内核?构建 Linux 内核的过程只需七个简单的步骤即可完成。但是,该过程需要大量时间才能完成,具体取决于系统速度。
在撰写本文时,请按照以下步骤构建最新的 Linux 内核。
注意:如果内核网站上的版本与以下步骤中的版本不匹配,请使用这些命令并替换内核版本号。
第 1 步:下载源代码
1.Linux如何构建内核?访问内核官方网站,下载最新的内核版本。下载的文件包含压缩的源代码。
2、打开终端,使用wget命令下载Linux内核源码:
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.6.tar.xz
下载完成后,输出显示“已保存”消息。
第 2 步:提取源代码
Linux内核构建教程:文件准备好后,运行 tar 命令以提取源代码:
tar xvf linux-5.9.6.tar.xz
输出显示提取的内核源代码:
第 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 解析器生成器。 |
第 4 步:配置内核
如何构建Linux内核?Linux 内核源代码带有默认配置。但是,你可以根据需要对其进行调整。为此,请按照以下步骤操作:
1. 导航到 linux-5.9.6。目录使用cd
命令:
cd linux-5.9.6
2. 使用以下cp
命令复制现有配置文件:
cp -v /boot/config-$(uname -r) .config
3. 要更改配置文件,请运行以下make
命令:
make menuconfig
该命令会启动多个脚本,然后打开配置菜单:
4. 配置菜单包括固件、文件系统、网络和内存设置等选项。使用箭头进行选择或选择帮助以了解有关选项的更多信息。完成更改后,选择“保存”,然后退出菜单。
注意: 更改某些选项的设置可能会导致内核无法正常工作。如果你不确定要更改什么,请保留默认设置。
第 5 步:构建内核
1. 如何构建Linux内核?通过运行以下命令开始构建内核:
make
构建和编译 Linux 内核的过程需要一些时间才能完成。
终端列出了所有 Linux 内核组件:内存管理、硬件设备驱动程序、文件系统驱动程序、网络驱动程序和进程管理。
2. 使用以下命令安装所需的模块:
sudo make modules_install
3. 最后,输入以下命令安装内核:
sudo make install
完成后输出显示完成:
步骤 6:更新引导加载程序(可选)
Linux内核构建教程:GRUB 引导加载程序是系统开机时运行的第一个程序。
该make install
命令会自动执行此过程,但你也可以手动执行此过程。
1. 将 initramfs 更新为安装的内核版本:
sudo update-initramfs -c -k 5.9.6
2. 使用以下命令更新 GRUB 引导加载程序:
sudo update-grub
终端打印出流程和确认信息:
步骤 7:重新启动并验证内核版本
Linux如何构建内核?完成上述步骤后,重新启动机器。
系统启动时,使用以下uname
命令验证内核版本:
uname -mrs
终端打印出当前的 Linux 内核版本。
Linux内核构建教程结论
如何构建Linux内核?在本分步指南中,你学习了如何从头开始构建 Linux 内核并安装所需的软件包。
如果你仔细按照说明进行操作,该过程将在你的 Linux 机器上成功完成。
Linux 内核采用模块化设计。功能可通过模块或驱动程序进行扩展。了解如何使用modprobe 命令在 Linux 上添加或删除模块。