hi @fausp have to investigate was not aware Proxmox can run on a RPI.
This being said; I use armv7hf (arm32-bit) VM’s using qemu/libvirt on a Raspberry PI aarch64 (arm64-bit) for a while now…
From this experience can tell the virtualization for arm-32bit on arm-64bit is at low cost (does not take a lot of resources to run a 32bit vm on 64bit), as a matter of fact it still runs faster than virtualization on x86_64 throwing 24 cores at it…
Also Thanks for the pointer!
As almost always in virtualization: The greatest performance hit is alwas having to “emulate” a different CPU. Trying for example to emulate a PowerPC CPU on an Intel compatible platform was horribly slow. The otherway around was a bit faster.
Also emulating a RISC CPU was very slow.
But running native ARM stuff on a Raspberry (With ARM!) - a neat idea!
Needs more testing for me to define limits, really usable combinations, etc, but still a good idea!.
Setting up an arm32 bit VM is not as straight forward as arm64 bit or other architectures.
Core cause of this linux-arm 32bit originates from the embedded space which lack’s an unified boot loader ( such as grub(2) ) . However quite recently there have been a lot of improvements in the arm-linux-kernel in this area most notably at the arm-linux-efi stub…
With this we still not out of the woods to boot an centos-7-armv7hl VM because of the implementation of secure boot in elX. It’s a long story: it boils down to the arm-kernel which is not well suited to be loaded as an portable executable (PE) needed to chain-load signed (trusted) binaries.
About an year ago had a proof of concept using a close to mainline build of grub2. Did this for mageia with a little bit of work this can be ported to Centos el7/8 .
To boot a arm32 bit VM using (grub2) uefi as an bootloader the host needs qemu-system-arm, qemu-efi-arm and ofcuase an image with grub2-efi or ISO …
I suggest to try one of the fedora arm images from here: https://www.kraxel.org/repos/images/
It are qcow images do not know Proxmox can handle this virtual-disk format.
Proxmox can handle the format .qcow2 out of the box, it’s used as standard eg on NFS, which has no built in Snapshot function like ZFS does… (On ZFS, Proxmox uses .raw…).
To my knowledge it is not possible to run a 32 bit container on a 64 bit system, it has to be a vm with a kernel.
To give it another try you may install centos 7 aarch64 from the official minimal ISO.
However keep in mind epel-7 for aarch64 is not maintained since end 2019, that why from the Nethserver side we only keep the NS repositories up to date but do not release a aarch64 version.
It’s up and running, with your directions of setting up the VM it’s installing centos aarch64.
I have a clue why grub does not update the kernel entry properly, most likely because during nethserver-install we enable the centos-altarch sig kernel repository. From there it pulls in the kernel from the newer 5.4.x branch.
Should de solved by editing /etc/sysconfig/kernel to resemble this:
# UPDATEDEFAULT specifies if new-kernel-pkg should make
# new kernels the default
UPDATEDEFAULT=yes
# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel
then grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfgEDIT: (confirmed) works as expected
Running (and booting) from an USB Attached SCSI (uas) ssd turned out to be the fastest in other setups. Doubt is ZSF is an viable set up on these low resources. However it is amazing it can… just because it is possible is part of the fun