Erstellen eines Netplan-fähigen Systems über Debian-Installer – SlyBlog
4 mins read

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. Beginnen wir mit der Vorbereitung eines Arbeitsverzeichnisses und der Installation der Softwareabhängigkeiten für unser virtualisiertes Debian-System:

$ mkdir d-i_tmp && cd d-i_tmp
$ apt install ovmf qemu-utils qemu-system-x86

Jetzt laden wir das offizielle (tägliche) herunter. mini.iso, linux Bild des Kerns und initrd.gz Zu den Aktivierungsänderungen von Netplan gehören:

$ 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.efiund 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 20G

Zum Schluss starten wir es Debian-Installer Verwendung einer Preset.cfg Datei, die Netplan automatisch installiert (Netplan-Generator) für uns im Zielsystem. 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 interaktiven Python-CLI). netplan-generator Paket und systemd-resolved, um das gesamte Netplan-Erlebnis zu präsentieren. Sie können zwischen verschiedenen Variationen der voreingestellten Datei wählen, um verschiedene Konfigurationen zu testen:

  • Mindestnetzwerkplan
  • Konfiguration durch Netplan + systemd gelöst
  • Netplan + NetworkManager-Konfiguration

wir benutzen linux der Kern und initrd.gz Hier wird die voreingestellte URL als Parameter an den Kernel übergeben cmdline direkt. Der offizielle Start dieser VM sollte erscheinen Debian-Installer im gleichen netboot/gtk Form:

$ 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 ein neues Debian Sid/Trixie-System 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 die Datei, die es geändert hat 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, finden Sie uns unter GitHub:netplan.



technische Probleme auf

Leave a Reply

Your email address will not be published. Required fields are marked *