【发布时间】:2019-10-29 14:35:22
【问题描述】:
我的板上有 3 MB 的 SPI 闪存,我可以将 bzImage、busybox initrd 和 coreboot ROM 打包到这个 SPI 闪存中。我还可以启动到 shell,全部使用 ROM kernel-as-bootloader。
我在 USB 设备上有更大的内核。我还能够检测到 USB 并安装它。但问题是busybox 似乎没有kexec 实用程序。我不能使用任何其他 initrd 包,因为由于内存限制,我的 cpio(未压缩)大小不应超过 1.4 MB。 U-root 支持 kexec,但最小图像大小很容易达到 3MB,或者至少,我找不到小于该大小的构建方法。
因此,有没有办法将 kexec 支持添加到 busybox(编译静态二进制文件并复制到 initrd?)或任何其他可以满足 1.4MB 大小的需求的 initrd 包?
编辑
This post 表明busybox 中可能有kexec 支持,但我找不到任何痕迹。事实上,busybox 的request to add kexec-tools 是十多年前完成的。但是当我在busybox中执行grep时,我没有看到它的痕迹。
【问题讨论】:
标签: linux-kernel embedded-linux buildroot initrd initramfs