|
From: | Mario Marietto |
Subject: | Re: Invalid accelerator kvm / error: kvm run failed Function not implemented ERRORS trying to virtualize a guest OS on the ARM Chromebook running with a relatively recent kernel version and KVM enabled |
Date: | Thu, 10 Aug 2023 19:27:27 +0200 |
The guests that we will create later will be based on the Versatile Express QEMU machine model. For we will use a different kernel branch specific to that platform:
$ git checkout origin/kvm-vexpress-3.9
$ curl http://www.virtualopensystems.com/downloads/guides/kvm_on_chromebook/guest-config > .config
$ ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make zImage dtbs -j4
Then we can append the dtb file to the kernel image with:
$ cat arch/arm/boot/dts/rtsm_ve-cortex_a15x1.dtb >> arch/arm/boot/zImage
That way we only need to handle one file. Make sure to copy arch/arm/boot/zImage for later usage.
point 2)
On the devuan 4 host os that I have installed I'm using kernel 5.4,that's lower than 5.7,so the qemu support for it should be there.
point 3)
if I use the "virt" board,does the KVM acceleration work ?
thanks.
On Thu, 10 Aug 2023 at 17:52, Mario Marietto <marietto2008@gmail.com> wrote:
> I conducted some further experiments :
>
> In this example I've used qemu 5.2.0 installed by default by the devuan 4 :
>
>
> qemu-system-arm \
> -enable-kvm -serial stdio -kernel zImage \
> -m 512 -M vexpress-a15 -cpu cortex-a15 \
> -drive file=/mnt/fisso/bhyve/img/Linux/ubuntu2210.img,id=virtio-blk,if=none \
> -device virtio-blk,drive=virtio-blk,transport=virtio-mmio.0 \
> -device virtio-net,transport=virtio-mmio.1,netdev=net0,mac="52:54:00:12:34:55" \
> -netdev type=user,id=net0 \
> -append "earlyprintk=ttyAMA0 console=ttyAMA0 mem=512M \
> virtio_mmio.device=1M@0x4e000000:74:0 \
> virtio_mmio.device=1M@0x4e100000:75:1 \
> root=/dev/vda rw ip=dhcp --no-log"
>
> qemu-system-arm: invalid accelerator kvm.
You can't use KVM with the vexpress-a15 board. The only
Arm guest machine that will work with KVM is the "virt"
board.
Further, it looks like your host CPU is 32-bit. QEMU 5.2
dropped support for running KVM on 32-bit hosts, because this
support was dropped from host kernels in kernel version 5.7.
Basically, 32-bit hosts are just too small to do anything
sensible with virtual machines, which is why the kernel
(and in turn QEMU) dropped that support. If you want
to play around with Arm virtualization, use a 64-bit host.
(64-bit hosts can still use KVM to virtualize 32-bit
guests if you want 32-bit guests.)
thanks
-- PMM
[Prev in Thread] | Current Thread | [Next in Thread] |