Dies ist eine weiterführende Anleitung zu meinem Grundgerüst, basierend auf dem nachfolgenden Artikel:
PXE&TFTP&DHCP Server einrichten
Ubuntu bietet die Möglichkeit, statt der Live CD auch direkt das Netzwerkinstallations-Image über PXE zu laden und zu installieren. Diese Images sind deutlich kleiner und somit sehr schnell geladen. Die Installation läuft aber überwiegend über die Internetverbindung ab, da die zwei Dateien (Kernel und Ramdisk) zusammen gerade mal 55 MB groß sind. Sie wissen natürlich selbst, dass dies viel zu wenig ist, um Ubuntu komplett darüber zu installieren. Deshalb wird eine Internetverbindung vorausgesetzt. Bei der Live CD hätten Sie bereits alle erforderlichen Dateien. Das Laden dauert dort aber auch deutlich länger. Ich persönlich nutze die Installer, wenn ich wirklich vorhabe es zu installieren. Eine Live CD hingegen ist mal ganz praktisch um Fehler zu analysieren, weil das Hauptsystem nicht starbar ist.
Ubuntu 20.04 LTS Netzwerkinstaller herunterladen
Gehen Sie auf diese Seite:
https://wiki.ubuntuusers.de/Downloads/Netzwerkinstallation/
und laden sie sich einmal das amd64 (64bit) Paket für die Version 20.04 unter dem Menüpunkt „PXE“ herunter.
Entpacken Sie dieses Paket an einem beliebigen Ort.
Ordnerstruktur anlegen
In den von Ihnen heruntergeladenen und entpacktem Paket sind auch einige Dateien, die wir nicht brauchen werden. Denn wir haben bereits eine funktionierende und eingerichtete PXE Umgebung via PXElinux und iPXE verwirklicht.
Sie brauchen aus dem Paket nur die zwei folgenden Dateien aus dem Ordner: „ubuntu-installer„.
linux initrd.gz
Kopieren Sie diese auf Ihren PXE Server in folgendes Verzeichnis:
images/Ubuntu/Ubuntu20.04LTS/Netboot/x64/
PXElinux Konfigurationsdateien bearbeiten
Öffnen sie die pxelinux.cfg/default_BIOS in einem Text-Editor.
Ich mache Ihnen ein Beispiel wie Sie das einbinden könnten. Wenn Sie eine richtige Menüstruktur angelegt haben, so können Sie den folgenden Text einfach in Ihr bereits bestehenden Untermenü einfügen.
Untermenüs fangen immer mit einem MENU BEGIN an und hören mit einem MENU END auf. Sollten Sie so etwas verwenden, so können Sie den Code einfach nach MENU TITLE einfügen
MENU BEGIN {........................} MENU TITLE {HIER EINFÜGEN!} MENU END
Einzufügender Code:
LABEL Ubuntu2004LTSNetbootamd64 MENU LABEL 1. Ubuntu 20.04 X64 LTS - Netboot amd64 MENU INDENT 3 KERNEL images/Ubuntu/Ubuntu20.04LTS/Netboot/x64/linux APPEND vga=788 initrd=images/Ubuntu/Ubuntu20.04LTS/Netboot/x64/initrd.gz --- quiet TEXT HELP Ubuntu V20.04 X64 LTS (Long Term Support) Systeme mit mehr als 2GB RAM. Installiert Ubuntu via Internet. Ubuntu mit 5 Jahren Garantie fuer Sicherheitsupdates und Patches. ENDTEXT
Wenn Sie den Lightweight IP HTTP Support eingerichtet haben, so können sie vor die Adressen ein http://IHRE_DS_IP:IHR_PORT/ setzen, um die Pakete über den Webserver zu verteilen. Wie man das einrichtet, können Sie hier nachlesen:
https://www.german-syslinux-blog.de/syslinux-6-04-pxe-lightweight-ip-http-ftp-support-einrichten/
iPXE Booteinträge erstellen
Suchen Sie nun in der pxeEFI32.ipxe.menu und pxeEFI64.ipxe.menu:
menu Installationsumgebungen - Client: ${ip} ${platform}_${buildarch}
Fügen Sie darunter folgendes ein:
item --gap -- ----- Ubuntu Installationen ------------------------------------------------------------------------ item ubuntu-netboot-newest Ubuntu Netboot Installer ${ubuntu-version} LTS ${arch}
Suchen Sie weiter:
:menu-install-timed choose --timeout ${submenu-timeout} --default ${submenu-default} selected && goto ${selected} || goto start
Fügen Sie darunter folgendes ein:
:ubuntu-netboot-newest echo Starte Ubuntu Netboot Installer ${ubuntu-version} LTS ${arch} set base-url images/Ubuntu/Ubuntu${ubuntu-version}LTS/Netboot/${arch} kernel ${boot-url}${base-url}/linux initrd ${boot-url}${base-url}/initrd.gz imgargs linux initrd=initrd.gz boot=casper vga=normal netboot=nfs nfsroot=${nfs-server}:${nfs-root}${base-url} ip=dhcp locale=de_DE keyboard-configuration/layoutcode=de console-setup/layoutcode=de boot || goto failed goto start
iPXE Konfigurationseinträge erstellen
Fügen Sie folgendes ganz am Ende der Dateien pxeEFI32.ipxe.cfg und pxeEFI64.ipxe.cfg ein:
# OPTIONAL: Neueste Ubuntu Version set ubuntu-version 20.04
Wenn der Eintrag bereits existiert, dann überspringen Sie den Schritt bitte.
Jedes Mal wenn Sie nun die neueste Ubuntu Netboot Version aufspielen, dann editieren Sie stets die Versionsnummern in den Konfigurationsdateien. Der Eintrag für Ubuntu ist in der iPXE Umgebung so geschrieben, dass Sie diesen nicht editieren müssten, wenn Sie sich haargenau an meine Anleitung gehalten haben.
Aktualisierung
Sollte eine neue Version von Ubuntu erhältlich sein als in der Anleitung angegeben ist, dann ändern Sie einfach die Versionsnummer des vorhandenen Ordners ab: Ubuntu21.04. Löschen Sie die alte Version in dem x64 Ordner und entpacken Sie dann die neue netboot.tar.gz.
Sie brauchen aus dem Paket nur den amd64 Ordner aus dem Ordner „ubuntu-installer„.
In diesen Ordnern müssen nur 2 Dateien liegen, der Rest kann gelöscht werden.
Das wären folgende:
linux initrd.gz
Diese kopieren Sie dann in das alte Verzeichnis.
Danach müssen Sie nur noch die Versionsnummern in den Dateien: pxeEFI32.ipxe.cfg und pxeEFI64.ipxe.cfg ändern und sind fertig für die iPXE Umgebung.
Die pxelinux.cfg/default_BIOS Einträge müssen Sie immer selbst editieren!
Wenn Sie das alles geändert haben, können Sie das auch direkt live testen. Starten Sie entweder über eine VM über Netzwerk oder Sie benutzen einfach Ihren normalen Rechner zum Testen, ob die Linux Netboot Version auch ohne Probleme gestartet werden können.