Arch的mkinitcpio升级到v39,新增功能如下

对于那些来自Arch生态系统的人来说,mkinitcpio是一个熟悉的工具。对于其他方面,让我们澄清一下,它会生成引导过程中使用的初始ramdisk环境(类似于Dracut或Booster)。

从本质上讲,它是一个Bash脚本,用于创建一个压缩的文件系统映像,其中包括在安装主根文件系统之前支持引导过程所需的一切。

最近发布的mkinitcpio 39带来了一些重要的更新和新功能,以增强功能并改善用户体验。这就是它的全部内容。

mkinitcpio 39亮点

Arch的mkinitcpio升级到v39,新增功能如下-HowToTech
mkinitcpio 39

此更新强调了对用于访问命令行参数的全局变量的弃用。以前,修改引导过程的脚本(称为钩子)可以使用全局变量来获得这些参数。

接下来,mkinitcpio鼓励开发人员使用
getarg
函数。是什么需要这种改变?简言之,这是使该工具现代化并提高其稳健性和安全性的更广泛努力的一部分。

此外,最新版本引入了对ARM zImage的支持,扩展了mkinitcpio与不同体系结构的兼容性,这对基于ARM的系统的开发人员来说是一个受欢迎的补充。此外,mkinitcpio 39首次推出了一个新的钩子,“
安装/acpi_override
,”方便了ACPI表的升级和覆盖,进一步扩展了该工具的自定义功能。

关于mkinitcpio本身的更改,压缩文件的位置已经调整。它们现在包含在早期的未压缩cpio中,而不是压缩的cpio中。这种修改避免了双重压缩文件的低效性,这可以提高启动速度,尤其是在CPU功能较弱的系统上。

此外,该工具现在默认在引导过程中解压缩模块和固件文件,这在以前是手动设置。

其他改进包括更改文件处理命令,如
添加文件

添加_早期
,增强了工具的灵活性和功能。例如
添加文件
现在支持从文件描述符复制,允许在引导过程中进行更动态的文件操作。

mkinitcpio39还更新了lsinitcpio,这是一个列出、分析和提取initramfs映像的配套工具。它现在支持新的格式并提供更详细的输出,这对调试和开发至关重要。

继续这些变化,mkinitcpio的打包也进行了改进,例如“
mkinitcpio-generate-shutdownramfs.service
“具有各种系统目标,以确保在系统电源状态(如重新启动或关闭)期间进行更平稳的转换。

最后,开发人员还专注于通过各种增强和错误修复来改进mkinitcpio的可用性。其中包括改进模块和文件在ramdisk中的包含方式,调整默认文件权限以增强安全性,等等。

查看更改日志,了解更多详细信息和mkinitcpio 39中新颖之处的完整列表