-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to run 32-bit armv7 / armhf OS #147
Comments
Seems this was explicitly added in the pimox project: pimox/qemu-server@2d13f27 |
When modifying the command to invoke the vm generated by proxmox to use From aarch64 (generated by proxmox) /usr/bin/kvm -id 100 -name pikvm,debug-threads=on -no-shutdown -chardev socket,id=qmp,path=/var/run/qemu-server/100.qmp,server=on,wait=off -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/100.pid -daemonize -smbios type=1,uuid=c04d3c22-ecb9-4637-8778-712056c23c4a -drive if=pflash,unit=0,format=raw,readonly=on,file=/usr/share/pve-edk2-firmware//AAVMF_CODE.ms.fd -drive if=pflash,unit=1,id=drive-efidisk0,format=qcow2,file=/var/lib/vz/images/100/vm-100-disk-0.qcow2 -smp 1,sockets=1,cores=1,maxcpus=1 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/100.vnc,password=on -cpu host -m 1024 -readconfig /usr/share/qemu-server/pve-port.cfg -device qemu-xhci,id=ehci,bus=pcie.0,addr=0x1 -device qemu-xhci,p2=15,p3=15,id=xhci,bus=pcie.1,addr=0x1 -device usb-tablet,id=tablet,bus=ehci.0,port=1 -device usb-kbd,id=keyboard,bus=ehci.0,port=2 -device virtio-gpu-pci,id=vga,bus=pcie.0,addr=0x2 -device virtio-serial,id=spice,bus=pcie.0,addr=0x9 -chardev spicevmc,id=vdagent,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -spice tls-port=61000,addr=127.0.0.1,tls-ciphers=HIGH,seamless-migration=on -device virtio-balloon-pci,id=balloon0,bus=pcie.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:eb4f53577652 -device virtio-scsi-pci,id=scsihw0,bus=pcie.0,addr=0x5 -drive file=/var/lib/vz/template/iso/debian-12.8.0-armhf-netinst.iso,if=none,id=drive-scsi2,media=cdrom,aio=io_uring -device scsi-cd,bus=scsihw0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi2,id=scsi2,bootindex=100 -netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=BC:24:11:4F:97:E5,netdev=net0,bus=pcie.0,addr=0xb,id=net0,bootindex=101 -machine type=virt-6.0+pve0,gic-version=host To use 32-bit arm: /usr/bin/qemu-system-arm -id 100 -name pikvm,debug-threads=on -no-shutdown -chardev socket,id=qmp,path=/var/run/qemu-server/100.qmp,server=on,wait=off -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/100.pid -daemonize -smbios type=1,uuid=c04d3c22-ecb9-4637-8778-712056c23c4a -drive if=pflash,unit=0,format=raw,readonly=on,file=/usr/share/pve-edk2-firmware//AAVMF_CODE.ms.fd -drive if=pflash,unit=1,id=drive-efidisk0,format=qcow2,file=/var/lib/vz/images/100/vm-100-disk-0.qcow2 -smp 1,sockets=1,cores=1,maxcpus=1 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/100.vnc,password=on -m 1024 -readconfig /usr/share/qemu-server/pve-port.cfg -device qemu-xhci,id=ehci,bus=pcie.0,addr=0x1 -device qemu-xhci,p2=15,p3=15,id=xhci,bus=pcie.1,addr=0x1 -device usb-tablet,id=tablet,bus=ehci.0,port=1 -device usb-kbd,id=keyboard,bus=ehci.0,port=2 -device virtio-gpu-pci,id=vga,bus=pcie.0,addr=0x2 -device virtio-serial,id=spice,bus=pcie.0,addr=0x9 -chardev spicevmc,id=vdagent,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -spice tls-port=61000,addr=127.0.0.1,tls-ciphers=HIGH,seamless-migration=on -device virtio-balloon-pci,id=balloon0,bus=pcie.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:eb4f53577652 -device virtio-scsi-pci,id=scsihw0,bus=pcie.0,addr=0x5 -drive file=/var/lib/vz/template/iso/debian-12.8.0-armhf-netinst.iso,if=none,id=drive-scsi2,media=cdrom,aio=io_uring -device scsi-cd,bus=scsihw0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi2,id=scsi2,bootindex=100 -netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=BC:24:11:4F:97:E5,netdev=net0,bus=pcie.0,addr=0xb,id=net0,bootindex=101 -machine type=virt |
If kernel enable You can exec
A good example is that the Raspberry Pi supports both arm64 and armhf armbian. The principle is to run the armhf rootfs by starting the aarch64 kernel |
Seems like both modes are supported by the CPU
|
Trying to run a VM with the Debian armhf iso (https://cdimage.debian.org/debian-cd/current/armhf/iso-cd/) attached:
results in the device not being found error:
I interpreted this as "the vm doesn't find the iso, because the iso is 32-bit and the vm is 64 bit". |
Yes.Only aarch64 efi or aarch64 kernel can be boot! |
So using LXC will be a very convenient method |
Interesting! How does the aarch64 grub “know” how to run the armhf OS? Are there particular settings that need to be applied? I’m trying to boot/create a PiKVM vm image (https://pikvm.org/download/) , don’t think LXC is going to work. |
Describe the bug
I'm trying to run a 32-bit arm OS. I changed the
arch
in the machine configuration as mentioned here but proxmox fails to start the vm with errorFull vm settings:
The necessary qemu binaries seem to be available
Expected behavior
I expect a 64-bit arm hypervisor like Proxmox to be able to run a 32-bit arm virtual machine
ENV (please complete the following information):
Linux proxmox 6.6.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 GNU/Linux
pveversion -v
]The text was updated successfully, but these errors were encountered: