Vorbereiten der VM
Beschreibung
Es ist unter Proxmox dank Qemu/KVM auch möglich eine arm64 CPU zu emulieren. Z.b Für ein Raspberry System oder einen UniFi Videorekorder als Beispiel.
VorberietungVorbereitung
ISO Download in den Proxmox Storage. Unter Version 7 geht das direkt über die GUI ansonsten per WGET
Die aktuellen Dieban ARM64 ISOs findet man hier : https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/
Ab Version 8.0 :
Muss das Efi Image in Proxmox nachinstalliert werden.
per ssh auf Proxmox gehen und
apt install pve-edk2-firmware-aarch64
GUI-Methode wer sie noch nicht kennt:
AUf den gewünschten Speicher klicken wo die ISO heruntergeladen werden soll
Dann im Menü ISO Images auswählen
Nun oben auf Download from URL klicken
Nun die URL zur ISO einfügen, hier die : https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-11.6.0-arm64-netinst.iso und auf Query URL klicken.
Nun wird der Name ermittelt und dann auf Download klicken
Download Fenster schließen über X wenn unten Task OK steht.
WGET Methode:
Auf dem Proxmoxhost als root per ssh einloggen und folgenden wget Befhl absetzten. Dazu die gewünschte URL zur ISO eingeben/einfügen zum Beispiel diese: wget https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-11.6.0-arm64-netinst.iso
#bei standard local storage
cd /var/lib/vz/template/iso
wget https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-11.6.0-arm64-netinst.iso
#bei anderen storages wie bei mir ein cephfs
cd /mnt/pve/<datastorename>/template/iso
cd /mnt/pve/cephfs/template/iso
wget https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-11.6.0-arm64-netinst.iso
Virtuelle Machine anlegen
Auf Create VM klicken
Nun dem Kind einen Namen geben und auf weiter klicken.
Nun als ISO aus dem Storages die arm64 iso auswählen und auf weiter klicken.
Nun als BIOS : OVMF (UEFI) auswählen
Add EFI Disk : abhaken
Auf weiter klicken
Storage auswählen und Größe angeben. Mir reichen 32GB, aber so wir Ihr es braucht
CPU Kerne auswählen. Ich nehme 4 aber das wieder nach den eigenen bedürfnissen anpassen
Genau wie bei Arbeistspeicher, ich nehme 4096 aber auch wieder nach den Bedürfnissen
Ballooning Device : haken raus
Auf weiter
Netzwerk passt bei mir so. Ansonsten euren Bedürfnissen anpassen und auf weiter.
Nun auf Finish klicken
Virtuelle machine bearbeiten
Nun Im Menü die Virtuelle Machine auswählen
Nun Auf den Menüpunkt Hardware klicken
Nun das CD/DVD Laufwerk anklciken und danach oben auf remove klicken
Frage ob wirklich gelöscht werden soll, mit ja beantworten
Nun Oben im Neü auf ADd und dann Serial Port anklicken
Nun einfach auf Add klicken. Denn der Port 0 reicht uns
Nun wieder auf Add und CD/DVD auswählen
Als BUS SCSI auswählen
Den Stoarge wo die Iso liegt auswählen
Die arm64 iso auswählen
Auf add klicken
Nun doppelklick auf Display
Bei Graphiccard : Serial terminal 0 auswählen und ok
Nun doppelklick auf die Festplatte
Dort dann den haken bei iothread raus und auf ok
Nun doppelklick auf SCSI Controller
Nun den von VirtIO SCSI single auf VirtIO SCSI ändern und auf ok
Nun im Menü auf options klicken
Dann doppelklcik auf Boot Order
Nun das CD Laufwerk mit Linksgedrückt halten und an die erste stelle ziehen, so das es dann so aussieht
Anpassen der Architektur der Maschine
Dazu wieder per ssh auf dem Host einloggen und die Conf datei von der Machine zu editieren
nano /etc/pve/qemu-server/<vmid>.conf
in usnerem Fall
nano /etc/pve/qemu-server/134.conf
Von:
balloon: 0
bios: ovmf
boot: order=scsi1;scsi0;net0
cores: 4
memory: 4096
meta: creation-qemu=7.1.0,ctime=1677936909
name: myarm64guest
net0: virtio=56:3F:39:75:A3:0C,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: rbd:vm-134-disk-0,iothread=1,size=32G
scsi1: cephfs:iso/debian-11.6.0-arm64-netinst.iso,media=cdrom,size=337196K
scsihw: virtio-scsi-single
serial0: socket
smbios1: uuid=4d234d40-733c-4881-bc0c-38ec912e0432
sockets: 1
vga: serial0
vmgenid: 6794e873-22e6-4ff1-b35e-654e01d58f02
Nach ändern:
vmgenid: .... auskommentieren
und arch:aarch64 hinzufügen
Sieht dann so aus:
balloon: 0
bios: ovmf
boot: order=scsi1;scsi0;net0
cores: 4
memory: 4096
meta: creation-qemu=7.1.0,ctime=1677936909
name: myarm64guest
net0: virtio=56:3F:39:75:A3:0C,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: rbd:vm-134-disk-0,iothread=1,size=32G
scsi1: cephfs:iso/debian-11.6.0-arm64-netinst.iso,media=cdrom,size=337196K
scsihw: virtio-scsi-single
serial0: socket
smbios1: uuid=4d234d40-733c-4881-bc0c-38ec912e0432
sockets: 1
vga: serial0
#vmgenid: 6794e873-22e6-4ff1-b35e-654e01d58f02
arch:aarch64
Nun noch die Efi Disk mit folgendem Befehl hinzufügen
efitype=2m, wenn es über die GUI gemacht wird, gibts an array fehler
qm set VMID -efidisk0 local:1,efitype=2m,pre-enrolled-keys=0,format=qcow2
Speicherpfad anpassen wenn nötig
Mein Beispiel:
Die formate sind qcow2 und raw.
je nachdem was euer Zielspeicher unterstützt.
RBD unterstützt nur raw
qm set 134 -efidisk0 rbd:1,efitype=2m,pre-enrolled-keys=0,format=raw
Output
<pre>pdate VM 134: -efidisk0 rbd:1,efitype=2m,pre-enrolled-keys=0,format=raw
transferred 0.0 B of 64.0 MiB (0.00%)
transferred 2.0 MiB of 64.0 MiB (3.12%)
transferred 4.0 MiB of 64.0 MiB (6.25%)
transferred 6.0 MiB of 64.0 MiB (9.38%)
transferred 8.0 MiB of 64.0 MiB (12.50%)
transferred 10.0 MiB of 64.0 MiB (15.62%)
transferred 12.0 MiB of 64.0 MiB (18.75%)
transferred 14.0 MiB of 64.0 MiB (21.88%)
transferred 16.0 MiB of 64.0 MiB (25.00%)
transferred 18.0 MiB of 64.0 MiB (28.12%)
transferred 20.0 MiB of 64.0 MiB (31.25%)
transferred 22.0 MiB of 64.0 MiB (34.38%)
transferred 24.0 MiB of 64.0 MiB (37.50%)
transferred 26.0 MiB of 64.0 MiB (40.62%)
transferred 28.0 MiB of 64.0 MiB (43.75%)
transferred 30.0 MiB of 64.0 MiB (46.88%)
transferred 32.0 MiB of 64.0 MiB (50.00%)
transferred 34.0 MiB of 64.0 MiB (53.12%)
transferred 36.0 MiB of 64.0 MiB (56.25%)
transferred 38.0 MiB of 64.0 MiB (59.38%)
transferred 40.0 MiB of 64.0 MiB (62.50%)
transferred 42.0 MiB of 64.0 MiB (65.62%)
transferred 44.0 MiB of 64.0 MiB (68.75%)
transferred 46.0 MiB of 64.0 MiB (71.88%)
transferred 48.0 MiB of 64.0 MiB (75.00%)
transferred 50.0 MiB of 64.0 MiB (78.12%)
transferred 52.0 MiB of 64.0 MiB (81.25%)
transferred 54.0 MiB of 64.0 MiB (84.38%)
transferred 56.0 MiB of 64.0 MiB (87.50%)
transferred 58.0 MiB of 64.0 MiB (90.62%)
transferred 60.0 MiB of 64.0 MiB (93.75%)
transferred 62.0 MiB of 64.0 MiB (96.88%)
transferred 64.0 MiB of 64.0 MiB (100.00%)
transferred 64.0 MiB of 64.0 MiB (100.00%)
efidisk0: successfully created disk 'rbd:vm-134-disk-0,efitype=2m,pre-enrolled-keys=0,size=64M'
</pre>
Fehler:
Sollte beim Efi Disk erstellen dieser Fehler auftauchen:
root@pve01:~# qm set 100 -efidisk0 local-lvm:1,efitype=2m,pre-enrolled-keys=0,format=raw
update VM 100: -efidisk0 local-lvm:1,efitype=2m,pre-enrolled-keys=0,format=raw
EFI base image '/usr/share/pve-edk2-firmware//AAVMF_CODE.fd' not found
Ap Version 8 gibt es keine aarch64 efi images mehr.
Nachinstallieren
apt install pve-edk2-firmware-aarch64































