如何将大文件加载到内存中

如何将大文件加载到内存中

我正在使用实时 Linux 发行版,但是当我编译程序时,init 文件大小为 1.1G,当我尝试启动它时,grub 说Error 28: Selected item cannot fit into memory

其他大型发行版如何加载其程序?

答案1

一般来说,其他发行版把所有东西都放到 initrd 中。它们只有一个很小的 ​​initrd,用于从另一个映像(可能是 ext4,但更常见的是 .squashfs)安装实际的 rootfs,与“已安装”系统使用 initrd 安装 rootfs 的方式完全相同。

这样,大型 rootfs 由 Linux 内核处理 - 而不是由 GRUB 处理 - 因此它不受 GRUB 环境的限制,并且可以按需分页(Linux 不需要将整个 1.1GB 加载到内存中)

相关内容