2009
So, was der Dennis alles zu diesem Thema zu sagen hat, kann man ja auch bei Ihm nachlesen. :-)
Ich denke darüber nach, dass ganze so umzustellen, dass das Overlay mit unionfs schon im early-userspace stattfinden, also mit klibc und initramfs. Die Jungs von archlinux haben für die Erstellung eines initramfs mkinitcpio entwickelt…und dass Tool find ich voll schick. :-)
Mein Skript fügt sich dort einfach wie ein Plugin (bei denen heißt das hooks) in die Erstellung des initramfs ein. Das kleine Shell-Skript erzeugt ein Verzeichnis, dass später einmal das gesamte root-Filesystem beheimaten wird. Darunter werden dann noch Verzeichnisse für das Unionfs-Overlay, das beschreibaretmpfs und schließlich für das per NFS einzumountende Remote-root. Nachdem die Verzeichnisse da sind, wird tmpfs gemountet, dass Netzwerk-Interface konfiguriert (die Daten dafür hat ja der DHCP-Server beim booten per pxe schon übergeben) und schlussendlich das NFS eingemountet.
Anschließend baut unionfs daraus ein beschreibbares root-Filesystem, dass dann per kinit zum / des lokalen Rechners wird…im Ganzen sind dass wohl 10-12 Zeilen Skript. ;-) Danach geht die Kontrolle des Bootprozesses an die INIT-Version des gewünschten Systems über, mit dem Vorteil, dass schon alle Devices von udev erzeugt worden sind und am Remote-System selbst keine Änderungen nötig sind.
