我有一个 initrd 和一个 cloop (squashFS)。哪种方法最简单,可以将这两个文件合并为一个 initrd 文件,以便一次性 PXE 启动整个映像而无需任何引导过程?
当然,它将是一个实时 Linux 系统,因此它应该是只读的。大小限制并不重要,因为目标系统确实有足够的 RAM,并且它将通过网络快速启动。
答案1
您尝试做的不是一个好方法;它将强制进行过大的 TFTP 传输。
最好修改 initrd 以打开 SAMBA/NFS 客户端,甚至使用 wget 进行 HTTP 传输,以便在启动时携带您的 squashfs 文件。
您可以看到,当使用 PXE 启动/安装当今大多数可用的实时发行版时,Serva(我与 Serva 开发相关)是如何使用这种方法的。
http://vercot.com/~serva/an/NonWindowsPXE3.html
您不需要组装一个全新的 initrd,只需创建一个补充的 initrd,添加缺失的组件(如果有)和相应更新的 init 脚本。