
Ich arbeite an einer Live-Linux-Distribution, aber wenn ich die Programme kompiliere, hat die Init-Datei eine Größe von 1,1 GB und wenn ich versuche, sie zu booten, sagt Grub Error 28: Selected item cannot fit into memory
: .
Wie laden andere große Distributionen ihre Programme?
Antwort1
Im Allgemeinen andere Distributionennichtalles in das initrd legen. Sie haben nur ein sehr kleines initrd, das das eigentliche Rootfs von einem anderen Image mountet (könnte ext4 sein, aber häufiger ein .squashfs), und zwar genau so, wie „installierte“ Systeme ein initrd verwenden, um das Rootfs zu mounten.
Auf diese Weise wird das große Root-Dateisystem vom Linux-Kernel – nicht von GRUB – verwaltet. Es unterliegt daher nicht den Einschränkungen der GRUB-Umgebung und kann bei Bedarf ausgelagert werden (Linux muss nicht die gesamten 1,1 GB in den Speicher laden).