Arch Linux initramfs 生成工具 mkinitcpio 使用教程
1. 项目的目录结构及介绍
mkinitcpio/
├── LICENSE
├── README
├── mkinitcpio
│ ├── hooks
│ ├── install
│ ├── initcpio
│ │ ├── bin
│ │ ├── hooks
│ │ ├── install
│ │ └── lib
│ ├── scripts
│ └── util
├── mkinitcpio.conf
└── mkinitcpio.d
目录结构介绍
- LICENSE: 项目许可证文件,采用 GPL-2.0 许可证。
- README: 项目介绍文件,包含项目的概述、依赖关系、贡献指南、用户文档和许可证信息。
- mkinitcpio: 主要代码目录,包含以下子目录:
- hooks: 包含 initramfs 钩子脚本。
- install: 包含 initramfs 安装脚本。
- initcpio: 包含 initramfs 的核心文件和库。
- bin: 包含 initramfs 使用的二进制文件。
- hooks: 包含 initramfs 钩子脚本。
- install: 包含 initramfs 安装脚本。
- lib: 包含 initramfs 使用的库文件。
- scripts: 包含 mkinitcpio 的脚本文件。
- util: 包含 mkinitcpio 的实用工具脚本。
- mkinitcpio.conf: mkinitcpio 的主配置文件。
- mkinitcpio.d: 包含 mkinitcpio 的其他配置文件和脚本。
2. 项目的启动文件介绍
mkinitcpio
mkinitcpio
是项目的启动脚本,用于生成 initramfs 镜像。它通过读取配置文件 mkinitcpio.conf
和 mkinitcpio.d
目录中的配置文件来生成 initramfs。
启动流程
- 读取配置文件:
mkinitcpio
首先读取mkinitcpio.conf
文件,获取生成 initramfs 的基本配置。 - 加载钩子脚本: 根据配置文件中的钩子列表,加载相应的钩子脚本。
- 生成 initramfs: 使用
busybox
和其他工具生成 initramfs 镜像。 - 安装 initramfs: 将生成的 initramfs 镜像安装到系统中。
3. 项目的配置文件介绍
mkinitcpio.conf
mkinitcpio.conf
是 mkinitcpio 的主配置文件,包含生成 initramfs 的基本配置选项。
主要配置项
- MODULES: 指定 initramfs 中包含的内核模块。
- BINARIES: 指定 initramfs 中包含的二进制文件。
- FILES: 指定 initramfs 中包含的文件。
- HOOKS: 指定 initramfs 中包含的钩子脚本。
- COMPRESSION: 指定 initramfs 的压缩方式,默认为
zstd
。
mkinitcpio.d
mkinitcpio.d
目录包含 mkinitcpio 的其他配置文件和脚本,用于扩展和定制 initramfs 的生成过程。
主要文件
- install: 包含 initramfs 安装脚本。
- hooks: 包含 initramfs 钩子脚本。
- scripts: 包含 mkinitcpio 的脚本文件。
通过这些配置文件,用户可以自定义 initramfs 的内容和行为,以满足特定的系统需求。