iPXE Docker Build environment

Veröffentlicht von

Ich setze gern PXE ein (über Netzwerk verschiedenen Betriebssysteme mit unterschiedlichen Funktionen starten).
Primär benutze ich iPXE mit wimboot und nicht, wie man es auf den meisten Seiten findet, pxelinux. iPXE kann z.B. über NFS, HTTP, iSCSI und viele weitere Protokolle die zu bootenden Images beziehen. Dafür ist es in der Ersteinrichtung etwas umfangreicher weil Binaries nicht direkt zum download angeboten werden, sondern nur der Source Code.

Da ich immer wieder die Anforderungen von iPXE zum kompilieren vergesse, welche make Befehle ich nutzen muss und wo die fertigen Binaries nach dem kompilieren zu finden sind, habe ich das ganze „dockerisiert“.

Natürlich bekommt man alle nötigen Informationen auf der iPXE Homepage. Da ich aber eher selten neu kompiliere, müsste ich mir das jedes mal neu raussuchen. So reicht jetzt ein docker-compose up -d um neue Binaries zu erstellen. Nebenbei lädt es am Schluss noch das aktuellste wimboot herunter, damit ich auch dran denke, dieses zu aktualisieren.

Das ganze findet ihr ausführlicher dokumentiert auf github:
https://github.com/Madic-/ipxe-docker-compile.

PRs und Issues gern gesehen!

2 Kommentare

  1. Vielen Dank!
    ich bin kein großer Fan von Docker :-/
    das ganze als sauberen lxc Container in einer Proxmox Umgebung mit nem
    pfsense master dhcp wäre da doch bestimt ne super „Alternative“.
    ich bin gerade dabei nicht (nur) ipxe dafür das komplette fog system als container einzurichten
    ( https://fogproject.org/ )

    1. Du kannst dir im git repo das Dockerfile ansehen und mit den darin vorhandenen Befehlen einen LXC Container einrichten. Der Docker Container ist auch nur dafür gedacht, eine Build Umgebung mal eben aufzusetzen, iPXE mit den passenden Parametern zu kompilieren und am Ende die Build Umgebung wieder abzureißen, ohne Reste auf dem System zu belassen…und, damit ich bei neuen Systemen nicht immer nachdenken muss, welche Voraussetzungen iPXE zum kompilieren braucht 🙂

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.