如何让 init 远离pivot_root 并保留在 ramdisk 中?

如何让 init 远离pivot_root 并保留在 ramdisk 中?

简而言之,我对可用的发行版不满意,因为它们要么太大,要么缺少我需要的 ootb 功能,我还希望它能够将其启动到 ramdisk,所以我制作了自己的 ISO。
该 ISO 包含 isolinux 引导加载程序、linux 内核和 initrd(其中包含 busybox 和一些其他工具)。
现在我遇到的问题是 busybox init 正在尝试pivot_root并且我没有指定root,我也不想旋转,因为我需要的所有东西已经在ramdisk中,但是设置 root=/dev/ram0 不会不起作用(无效的分区/根),它仍然会导致内核恐慌

在此“操作”下关联我想进入第5步,不再进一步,我还没有找到太多,所以我在这里问。

我如何阻止 linux/busybox/init 尝试离开 ramdisk?

答案1

所以是的,看来我是个傻瓜,问题是双重的:我用 initramfs 源文件编译了内核,并且我有两个 initrd。

第一个阻止了外部 initrd 的加载,而第二个是 isolinux 不喜欢点 (.) 的情况,因为我没有清理 iso 根并且有 initrd 和 initrd.xz

现在我只需要弄清楚如何在runit上获取

这是我的项目的灵感和基础:尼尔·利希特曼 (Nir Lichtman) 的视频从头开始制作简单的 Linux 发行版

相关内容