PXElinux 6.04-pre1/iPXE 1.20.1 – Ubuntu 20.04 LTS Netzwerkinstallation einrichten

Anmerkung:
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.

Zum Anfang!

Schreibe einen Kommentar

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