如何將大檔案載入記憶體中

如何將大檔案載入記憶體中

我正在開發一個即時 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載入到Linux中)記憶)

相關內容