Nach einigem Hin und Her mit der Grub-Mailingliste entdeckte ich, dass Sie ein Squashfs-Image von einem Remote-Server mithilfe von Kernel-Parametern bereitstellen können.
Ich habe Legacy und EFI PXE so eingerichtet, dass Kernel und Initrd im PXEBOOT-Verzeichnis des CentOS 7.4 ISO (Kernel 3.10.0-693) verwendet werden. Zusammengenommen sind sie etwa 60 MB oder so.
Dann legte ich die Datei squashfs.img aus dem Root-Dateisystem ab, das ich eigentlich in einem http-zugänglichen Verzeichnis auf demselben Server verwenden wollte.
Dann benutzte ich 2 Kernel-Parameter (die mir die Mailing-Liste zeigt), damit der CentOS-Kernel das squashfs-Image als Root-Dateisystem mounten kann. Der Kernel ist klug genug, um zu wissen, dass dies live:
bedeutet, und erstellt ein temporäres (und sehr fragiles - dieses Teil noch nicht herausgefunden; ein Gig von Schreibvorgängen führt dazu, dass es schreibgeschützt wird), im RAM-Dateisystem, mit dem grundlegende Lese- / Schreiboperationen ausgeführt werden Schreiben. Ich habe diese Parameter zum PXE-Menüeintrag hinzugefügt:
rootfstype=auto root=live:http://path/to/squashfs.img
Das war's. Das war die Magie, die mir gefehlt hat.