Fedora39新提案:使用mkosi-initrd替代Dracut,加
,Fedora 39 发行版目前正处于开发阶段,最新提案建议使用 systemd 的 mkosi-initrd 来替代 Dracut,从而加速本地构建 initrds。
IT之家翻译功能提案部分内容如下:
mkosi-initrd 是 initrds 的替代构建器,通过整合到 Fedora 发行版本中,帮助用户在本地构建 initrds。
通过 mkosi-initrd 安装内核包的时候,可以提供一个内核安装插件来构建 initrd。
其延伸目标是让 initrds 在 koji 中构建,并通过 rpm 包交互;而后续目标是预构建的 initrds,通过 rpm 包交付直接嵌入到统一内核镜像中。
我们创建 initrd 的过程既复杂又低效。Initrds 包含重复的功能,需要大量的维护者工作。该提案的目的是引入一个大大简化的初始化创建和简化的初始化内容的机制。
mkosi-initrd 项目是一组 mkosi 的配置文件。MKOSI 是一个从系统包构建操作系统镜像的程序。initrd 是通过使用 mkosi-initrd 提供的配置调用 mkosi 来构建的。
不是通过抓取文件系统并再次找出依赖项来构建 initrd,而是使用现有软件包和通过 dnf / rpm 进行的正常软件包安装来填充 initrd。这也意味着包管理器负责满足依赖项。在运行时,systemd 负责设置执行环境和调用程序。
目前,以这种方式构建的 initrd 比 dracut 构建的 initrd 大。它们的功能也有限:许多常见类型的系统工作得很好,但不支持一些特殊的配置。
此更改的目标是提供替代机制。如果反馈是肯定的,我们可能会考虑在某些情况下使用使用 mkosi-initrd 构建的 initrds 作为默认值。
在可预见的未来,没有计划移除 dracut。这意味着对于任何不受支持或效果不佳的情况,dracut 仍然是自然的后备。