Custom ISO bei Hetzner verwenden
Hetzner bietet keine Möglichkeit eigene ISO Images hochzuladen und diese für die VM Installation zu verwenden. Mithilfe des Rescue-Mode und Qemu kann dies aber umgangen werden. Qemu wird hierbei verwendet, um eine virtuelle Maschine innerhalb des Rescue-Mode zu erstellen. Die Festplatte (/dev/sda/) wird hierbei als RAW Device gemappt was und die Möglichkeit gibt die Festplatte mit unserem ISO Image zu beschreiben.
Hetzner bietet im Rescue-Mode allerdings auch ein Installation-Script an, hier muss geprüft werden, ob das für eure Images nutzbar ist.
Die Installation einer ARM und X86 verhält sich etwas anders. Hier müssen die QEMU Befehle angepasst werden. Die Installationsmethode kann für die neuen ARM VMs und auch für X86 verwendet werden.
Vorbereitung
Die VM muss in den Rescue-Modus gebooted sein. Falls noch nicht vorhanden muss qemu-kvm installiert werden und wir tunneln uns eine Verbindung über SSH um später per VNC auf ‘127.0.0.1:8888’ connecten zu können.
- Als Erstes muss
qemu-kvm
installiert werden:
apt update && apt install qemu-kvm
- SSH Tunnel starten von dem eigenen Terminal aus starten
ssh -L 8888:127.0.0.1:5901 root@your_host
- Nun kommen wir zu den unterschieden zwischen ARM und X86
ARM:
qemu-system-aarch64 -m 1024 -smp 2 -cpu cortex-a57 -M virt -nographic -boot d -cdrom /tmp/debian-testing-arm64-netinst.iso -drive file=/dev/sda,format=raw,media=disk -bios QEMU_EFI.fd -vnc 127.0.0.1:1
x86:
qemu-system-x86_64 -m 1024 -smp 2 -boot d -cdrom /tmp/vyos-1.5-rolling-202310030022-amd64.iso -drive file=/dev/sda,format=raw,media=disk -vnc 127.0.0.1:1
TL;DR
- VM im Rescue Mode booten
- mit Qemu eine VM bereitstellen und Installation durchführen
- Reboot
- Success
Quellen
- redfelineninja.org.uk/daniel/2018/02/running-an-iso-installer-image-for-arm64-aarch64-using-qemu-and-kvm/
- gist.github.com/ag88/163a7c389af0c6dcef5a32a3394e8bac#netboot-from-iso—install-from-debian-iso
- community.hetzner.com/tutorials/install-windows/de
- docs.hetzner.com/de/robot/dedicated-server/operating-systems/installimage