wir freuen uns, heute die offizielle Freigabe des neuesten opsi-Releases bekanntzugeben.
Mit diesem Feature-Release setzen wir die im August begonnenen Modernisierungen im Bereich Netboot fort.
Der Fokus liegt auf einer verbesserten Bedienbarkeit, höherer Stabilität, gesteigerter Sicherheit und einer klaren Basis für zukünftige Erweiterungen.
Es gibt auch einen neuen Blog-Eintrag zur Modernisierung des Netboots.
Modernisierung Netboot
Die Konfiguration der Netboot-Komponenten findet jetzt hauptsächlich über Host-Parameter (Configs / ConfigStates) statt.
Im opsi-configed sind diese nun in einem eigenen Unterpunkt `netboot` zusammengefasst.
Host-Parameter, die für ein Depot gesetzt werden, gelten als Default für alle Clients an diesem Depot.
Für einzelne Clients können diese Parameter abweichend gesetzt werden.
Hierbei ist jedoch zu beachten, dass die abweichenden Werten momentan nur dann greifen wenn eine Aktion für ein Netboot-Produkt für einen Client gesetzt ist.
Denn nur dann wird eine spezielle Konfigurations-Datei für einen Client erzeugt.
Die folgenden Parameter steuern das Verhalten des PXE-Boots:
netboot.usehostonetime_password
Beim Netzwerk-Boot authentifiziert sich der Client am opsi-Service.
Standardmäßig wird hierfür der opsi-Host-Key genutzt.
Ist dieser Parameter auf `true` gesetzt, wird stattdessen ein einmaliges Passwort verwendet, was die Sicherheit erhöht.
netboot.host_identifiers
Legt fest, wie Clients beim Netzwerk-Boot identifiziert werden. Mögliche Werte sind:
- `mac_address` (MAC-Adresse der Netzwerkkarte)
- `system_uuid` (System-UUID des Clients)
Je nach Auswahl wird im Boot-Verzeichnis eine Konfigurationsdatei erstellt, die entweder auf der System-UUID oder der MAC-Adresse basiert.
netboot.grub.additionalmenuentries
Ermöglicht das Hinzufügen weiterer Menüeinträge zu GRUB2.
netboot.grub.graphicsmode
Aktiviert oder deaktiviert den Grafikmodus von GRUB2.
netboot.grub.password
Legt ein Passwort für den Zugriff auf das GRUB2-Menü fest.
Damit kann verhindert werden, dass Menü-Einträge von normalen Benutzern verwendet bzw. bearbeitet werden können.
Der Benutzername ist immer `admin`.
Das Passwort kann im Klartext oder als Hash angegeben werden (`grub.pbkdf2.sha512.10000.<salt>.<hash-value>`).
Hashwerte lassen sich zum Beispiel mit `grub-mkpasswd-pbkdf2` erzeugen.
netboot.grub.timeout
Legt fest, wie viele Sekunden das GRUB2-Menü angezeigt wird, bevor automatisch der Standard-Eintrag gestartet wird (sofern keine Aktion für ein Netboot-Produkt gesetzt ist).
netboot.linux-bootimage.cmdline.*
Alle Parameter die mit `netboot.linux-bootimage.cmdline.` beginnen, konfigurieren das opsi-linux-bootimage.
Die einzelnen Parameter werden beim Booten als Linux-Kernel-Parameter übergeben.
Diese neuen Host-Parameter ersetzen den bisherigen Host-Parameter `opsi-linux-bootimage.append`.
Die Client-spezifisch gesetzten Werte werden automatisch auf die neuen Parameter migriert und `opsi-linux-bootimage.append` verliert seine Wirkung.
Es gibt zwei Typen von Host-Parametern:
Boolesche Host-Parameter
Diese dienen als Flags.
Sie werden der Kernel-Commandline hinzugefügt, wenn sie auf `true` gesetzt sind.
Bei `false` werden sie nicht übergeben.
String-Host-Parameter
Diese werden als `<Parametername>=<Wert>` an die Kernel-Commandline übergeben.
Mehrere Werte werden durch Kommata getrennt.
Ist kein Wert gesetzt, wird der Parameter nicht übergeben.
Weitere Kernel-Parameter können jederzeit ergänzt werden, indem entsprechende Host-Parameter mit dem Präfix `netboot.opsi-linux-bootimage.cmdline.` definiert werden.
Das neue opsi-linux-bootimage
Mit diesem Release setzen wir die Erneuerung des opsi-linux-bootimage fort.
Zum ersten mal unterstützt das opsi-linux-bootimage nun auch die ARM64-Architektur.
Das bereitet den Weg um zukünftig auch Betriebssystem-Installationen auf ARM64-Hardware durchführen zu können.
Im Standard-Modus startet das neue opsi-linux-bootimage nun mit einem neu designten Splash-Screen und schneller als je zuvor.
Der Splash-Screen kann über den Host-Parameter `netboot.linux-bootimage.cmdline.splash` an- und abgeschaltet werden.
Die Unterstützung unterschiedlicher Sprachen und Tastatur-Layouts (`netboot.linux-bootimage.cmdline.lang`) wurde deutlich verbessert und auch Zeitzonen (`netboot.linux-bootimage.cmdline.tz`) können nun konfiguriert werden.
Um die Sicherheit zu erhöhen, wird der eingebaute SSH-Server standardmäßig nicht mehr gestartet.
Über den Parameter `netboot.opsi-linux-bootimage.cmdline.ssh` kann der SSH-Server wieder aktiviert werden.
Das root-Passwort für das opsi-linux-bootimage wir über den Parameter `netboot.opsi-linux-bootimage.cmdline.pwh` konfiguriert.
Standardmäßig wird hierbei ein Zufallswert gesetzt.
Netboot-Produkte mit speziellen PXE-Boot-Konfigurationen
Standardmäßig werden Netboot-Produkte über das opsi-linux-bootimage ausgeführt.
Es besteht jedoch auch die Möglichkeit, eigene Boot-Images einzubinden, indem eine individuelle PXE-Boot-Konfiguration erstellt wird.
Dazu kann das Attribut `pxeConfigTemplate` in den Metadaten des Netboot-Produkts verwendet werden.
In diesem Attribut lässt sich jetzt ein GRUB2-Konfigurations-Template hinterlegen, das beim Start des Netboot-Produkts automatisch in die GRUB2-Konfiguration eingebunden wird.
Die Templates basieren auf Jinja2 und können auf verschiedene Informationen zugreifen, wie die Metadaten des Clients, des zu startenden Produkt, der ProductProperties und ConfigStates.
Hierdurch wird die Einbindung von Produkten anderer Anbieter, wie MemTest86 oder Desinfec`t deutlich einfacher und flexibler.
Neue Verzeichnisstruktur
Die Verzeichnisstruktur des Boot-Verzeichnisses wurde komplett überarbeitet.
Basis-Verzeichnisse und Bootloader sind nun mit opsipxeconfd ausgeliefert.
Durch ein einheitliches Benennungsschema ist nun immer klar zu erkennen, für welche Architektur und BIOS-Typ eine Datei gedacht ist.
Auch zukünftige Architekturen können so problemlos ergänzt werden.
Die Bootloader (GRUB2, shim) befinden sich jetzt im Verzeichnis `/tftpboot/opsi/loader`.
Die Primären Boot-Dateien, die für DHCP verwendet werden folgen nun dem Schema `opsi-netboot.<arch>.<bios|efi>`:
- `opsi/loader/opsi-netboot.x86.bios` (x86_64, Legacy BIOS)
- `opsi/loader/opsi-netboot.x64.efi` (x86_64, UEFI)
- `opsi/loader/opsi-netboot.arm64.efi` (aarch64, UEFI)
Die GRUB2-Konfigurationen befinden sich im Verzeichnis `/tftpboot/opsi/cfg`.
Alle Konfigurationsdateien werden automatisch durch opsipxeconfd generiert.
Die allgemeine GRUB2-Konfiguration ist in der Datei `grub.cfg` zu finden.
Client-spezifische Konfigurationsdateien basieren entweder auf der MAC-Adresse (`<MAC-Adresse>.cfg`) oder der System-UUID (`<System-UUID>.cfg`) des Clients.
Das opsi-linux-bootimage befindet sich nun im Verzeichnis `/tftpboot/opsi/opsi-linux-bootimage`
und bringt nun nur noch den Linux-Kernel (`kernel.<arch>`), vormals `install-x64` und das Initramfs (`initramfs.<arch>`), vormals `miniroot-x64` mit.
Zusätzlich noch das GRUB2-Konfigurations-Template (`grub.cfg`).
Dateien anderer opsi-Netboot-Produkte, wie memtest86, können im Verzeichnis `/tftpboot/opsi/<product-id>` abgelegt werden.
Überarbeitete Dokumentation
Die offizielle opsi-Dokumentation wurde auf die Neuerungen angepasst und umfangreich überarbeitet.
Eine Anleitung zum Debugging von Problemen bei Netzwerk-Boot wurde ergänzt.
Netboot-Produkt memtest86
Das überarbeitete Netboot-Produkt memtest86 verwendet die neuen Möglichkeiten zum Einbinden von GRUB-Konfigurationen.
Dadurch ist es nun möglich MemTest86+ über ProductProperies zu steuern.
Damit ist memtest86 auch ein gutes Beispiel für die Verwendung der neuen GRUB-Config-Templates.
Netboot-Produkt enter-uefi-firmware-setup
Neues Produkt enter-uefi-firmware-setup dient zum einmaligen Starten des UEFI-Firmware-Setups.
opsi-cli
Das opsi-cli-Kommando `opsi-cli bootimage` wurde auf die neuen Configs zur Konfiguration des opsi-linux-bootimage angepasst.
opsiconfd
Neben kleinen Problembehebungen betreffen die Änderungen im opsiconfd auch den Netboot.
Die neuen netboot-Parameter werden automatisch angelegt und dabei die bisherigen `opsi-linux-bootimage.append`-Parameter migriert.
Das Produkt-Attribut `pxeConfigTemplate` wurde vergrößert um Platz für die GRUB-Config-Templates zu bieten.
opsi-configed
Dieses Update bringt zahlreiche Verbesserungen und Fehlerbehebungen.
Probleme bei der Zuordnung von Clients und Lizenzen wurden behoben.
Die Bedienung der Tabellen wurde durch neue Kontextmenüs und Tooltips optimiert, außerdem fokussieren sich die Suchfelder nun automatisch.
Auch bei Clients mit fehlerhaften Einträgen ist die Produktauswahl jetzt möglich.
Verbindungen mit Client-Zugangsdaten oder zu Nicht-Configservern werden blockiert.
Darüber hinaus wurden die Netboot-Parameter in einer eigenen Kategorie zusammengefasst.
opsi-server
Die aktuelle Version von opsi-server sowie den Paketen opsi-server-full und opsi-server-expert enthält einen neuen, in seiner Gültigkeit verlängerten GPG-Key für unser Repository.
Dieses Update sollte zeitnah eingespielt werden.
Abkündigung SLES 15 SP1/SP2/SP3
Ab sofort werden die Versionen SLES 15 SP1 und SP2 nicht mehr als Server- oder Client-Systeme unterstützt.
m Januar 2026 endet zudem der Support für SLES 15 SP3.
Pakete für opsi 4.3 stable:
== OPSI_PACKAGE ==
- enter-uefi-firmware-setup 1.0-2 Changelog
- memtest86 7.20-4 Changelog
- opsi-cli 4.3.29.0-1 Changelog
- opsi-client-agent 4.3.14.1-1 Changelog
- opsi-configed 4.3.15.2-1 Changelog
- opsi-linux-client-agent 4.3.14.1-1 Changelog
- opsi-local-image-backup 4.3.0.2-1 Changelog
- opsi-local-image-restore 4.3.0.2-1 Changelog
- opsi-mac-client-agent 4.3.14.1-1 Changelog
- opsi-script 4.12.18.7-7 Changelog
- ubuntu 4.3.0.4-1 Changelog
- ubuntu22-04 4.3.0.2-8 Changelog
- ubuntu24-04 4.3.0.2-8 Changelog
- windows10-upgrade 22h2-7 Changelog
- windows11-enablement 25h2-1 Changelog
- windows11-upgrade 25h2-1 Changelog