
Erstellen eines Netplan-fähigen Systems über Debian-Installer – SlyBlog
Mit der in debian-installer/netcfg merge-proposal !9 durchgeführten Arbeit kann ein Standard-Debian-System mit dem normalen Debian-Installer (di) installiert werden. mini.iso Bilder, die strukturiert mit Netplan und allen Netzwerkkonfigurationen vorinstalliert sind /etc/netplan/
.
In diesem Beitrag möchte ich eine Liste von Befehlen ausführen, um einen ersten Blick auf den Installationsprozess bei aktiviertem Netplan zu werfen. Vorerst verwenden wir das benutzerdefinierte ISO-Image, während wir auf das Eintreffen des oben erwähnten Zusammenführungsvorschlags warten. Da das Debian-Archiv außerdem große Umstellungen durchläuft, funktionieren die Builds des „unstable“-Zweigs von di nicht. Also habe ich einen kleinen Backport implementiert und aktualisierte netcfg und netcfg-static für Bookworm erstellt, die als verwendet werden können localudebs/ beim Bau von di.
Beginnen wir mit der Vorbereitung eines Arbeitsverzeichnisses und der Installation der Softwareabhängigkeiten für unser virtualisiertes Debian-System:
$ mkdir d-i_bookworm && cd d-i_bookworm
$ apt install ovmf qemu-utils qemu-system-x86
Jetzt laden wir die benutzerdefinierte Datei herunter mini.iso
, linux
Bild des Kerns und initrd.gz
Enthält die oben erwähnten Aktivierungsänderungen von Netplan.
$ wget
$ wget
$ wget
Als Nächstes bereiten wir eine VM vor, indem wir die EFI-Firmwaredateien kopieren und einige persistente EFIVARs-Dateien für den Start vorbereiten. FS0:\EFI\debian\grubx64.efi
und erstellen Sie eine virtuelle Festplatte für unsere Maschine:
$ cp /usr/share/OVMF/OVMF_CODE_4M.fd .
$ cp /usr/share/OVMF/OVMF_VARS_4M.fd .
$ qemu-img create -f qcow2 ./data.qcow2 5G
Lassen Sie uns abschließend das Installationsprogramm mit einer benutzerdefinierten preseed.cfg-Datei ausführen, die Netplan automatisch auf dem Zielsystem installiert. Eine minimale Preset-Datei könnte so aussehen:
# Install minimal Netplan generator binary
d-i preseed/late_command string in-target apt-get -y install netplan-generator
Für diese Demo führen wir eine vollständige Installation durch netplan.io
Paket (einschließlich der Python-CLI), as netplan-generator
Das Paket wurde während des Bookworm-Zyklus noch nicht als unabhängige Binärdatei verteilt. Sie können zwischen verschiedenen Variationen der voreingestellten Datei wählen, um verschiedene Konfigurationen zu testen:
- Konfiguration durch Netplan + systemd gelöst
- Netplan + NetworkManager-Konfiguration
Wir verwenden benutzerdefinierte linux
der Kern und initrd.gz
Hier wird die voreingestellte URL als Parameter an den Kernel übergeben cmdline
direkt. Beim Booten dieser VM sollte das normale Debian-Installationsprogramm aufgerufen werden netboot/gtk
bilden:
$ export U=
$ qemu-system-x86_64 \
-M q35 -enable-kvm -cpu host -smp 4 -m 2G \
-drive if=pflash,format=raw,unit=0,file=OVMF_CODE_4M.fd,readonly=on \
-drive if=pflash,format=raw,unit=1,file=OVMF_VARS_4M.fd,readonly=off \
-device qemu-xhci -device usb-kbd -device usb-mouse \
-vga none -device virtio-gpu-pci \
-net nic,model=virtio -net user \
-kernel ./linux -initrd ./initrd.gz -append "url=$U" \
-hda ./data.qcow2 -cdrom ./mini.iso;
Sie können sich nun durch den normalen Debian-Installer-Prozess klicken und dabei größtenteils die Standardeinstellungen verwenden. Optional können Sie mit den Netzwerkeinstellungen experimentieren, um zu sehen, wie sie übersetzt werden /etc/netplan/
auf dem Zielsystem.
Nachdem Sie Ihre Partitionsänderungen bestätigt haben, wird das Basissystem installiert. Ich empfehle, keine zusätzlichen Komponenten auszuwählen, um den Prozess zu beschleunigen, wie z. B. Desktop-Umgebungen.

Im letzten Schritt der Installation (finish-install.d/55netcfg-copy-config
) di erkennt, dass Netplan auf dem Zielsystem installiert wurde (anhand der bereitgestellten Standarddatei) und kann die Netzwerkkonfiguration schreiben. /etc/netplan/
anstatt /etc/network/interfaces
oder /etc/NetworkManager/system-connections/
.

Erledigt! Nachdem die Installation abgeschlossen ist, können Sie Ihr Debian Bookworm-System in einem makellosen Zustand neu starten.
Beenden Sie dazu den aktuellen Qemu-Prozess durch Drücken von Strg+C und stellen Sie sicher, dass Sie es überschreiben EFIVARS.fd
geschriebene Datei grub
Während der Installation kann Qemu das neue System erkennen. Starten Sie dann das neue System neu, ohne es zu verwenden mini.iso mehr Bilder:
$ cp ./OVMF_VARS_4M.fd ./EFIVARS.fd
$ qemu-system-x86_64 \
-M q35 -enable-kvm -cpu host -smp 4 -m 2G \
-drive if=pflash,format=raw,unit=0,file=OVMF_CODE_4M.fd,readonly=on \
-drive if=pflash,format=raw,unit=1,file=EFIVARS.fd,readonly=off \
-device qemu-xhci -device usb-kbd -device usb-mouse \
-vga none -device virtio-gpu-pci \
-net nic,model=virtio -net user \
-drive file=./data.qcow2,if=none,format=qcow2,id=disk0 \
-device virtio-blk-pci,drive=disk0,bootindex=1
-serial mon:stdio
Endlich können Sie mit sich selbst spielen Netplan-fähiges Debian-System! Wie Sie feststellen werden, /etc/network/interfaces
existiert, ist aber leer, könnte trotzdem verwendet werden (optional/zusätzlich). Netplan wurde in gegründet /etc/netplan/
di gemäß den während des Installationsvorgangs vorgenommenen Einstellungen.

In unserem Fall haben wir auch die Netplan-CLI installiert, damit wir einige ihrer Funktionen ausprobieren konnten, z. B netplan status
:

Vielen Dank, dass Sie den Debian-Installationsprozess mit aktiviertem Netplan verfolgt haben, und viel Spaß beim Hacken! Wenn Sie mehr erfahren möchten, nehmen Sie an der Diskussion unter Salsa:installer-team/netcfg teil und finden Sie uns unter GitHub:netplan.