arangaran Posted January 4 Posted January 4 Guys i have an orange pi zero 3 with 4GB RAM running a tiny proxmox 8.3.2 and everything was ok, i used the ./compile.sh command in /build to create a custom kernel with KVM enabled to get this to work a few months ago, now i have updated the system but the kernel installed has no support for KVM, obviously i want to use the standard procedure to recompile the kernel re-enabling the KVM but i dont know how, i know there is a way to pass commands to ./compile.sh but from what i have seen i dont know where or how to pass to the program the fact that i want KVM support enabled, i have seen things like this: apt -y install git git clone https://github.com/armbian/build cd build ./compile.sh \ BOARD=orangepizero \ BRANCH=default \ BUILD_DESKTOP=no \ KERNEL_ONLY=yes \ KERNEL_CONFIGURE=yes but how do i tell this to let me use KVM? is this even correct? cos the docs wont explain exactly HOW to create only the new custom kernel and update it, without having to rebuild everything from zero, it seems that in the past the docs had info about this but now the docs wont tell me anything, i know it is a very noob question but if someone could guide me please. 0 Quote
Werner Posted January 4 Posted January 4 1 hour ago, arangaran said: BOARD=orangepizero double-check which board you actually have so matching packages can be built. 1 hour ago, arangaran said: KERNEL_ONLY=yes deprecated 1 hour ago, arangaran said: BRANCH=default Never heard of that branch before. Try ./compile.sh BOARD=orangepizero3 KERNEL_CONFIGURE=yes kernel Adjust kernel config as needed. Check with Google or similar for necessary options to use KVM. Then check output/debs folder. 0 Quote
eselarm Posted January 4 Posted January 4 3 hours ago, arangaran said: orange pi zero 3 This is "Orange Pi Zero 3 is powered by Allwinner H618 quad-core Cortex-A53 processor: I am a bit surprised that you needed own actions to enable KVM. At least already Debian Bullseye aarch64 had this enabled by default. I used that on RPi3 although that one can run 32-bit kernel then it won't work. I use standard KVM/libvirt/QEMU, no proxmox. 0 Quote
arangaran Posted January 4 Author Posted January 4 i dont know why the default kernel has KVM disabled, i did all that was mentioned lines above and virtualization was disabled had to enable it manually to make it work, now i got the problem that ZFS is not enabled, even though someone mentioned to use zfs-dkms but doesnt work, i wonder where in the kernel i should toggle something to enable it, anyone got info? 0 Quote
arangaran Posted January 5 Author Posted January 5 Also trying what Werner said i got this: ] error! [ KERNEL_CONFIGURE=yes is not supported anymore. Please use the new 'kernel-config' CLI command. Current command: 'kernel' ], more over i tried current and edge just enabled the virtualization and that was it but when installing linux-image and linux-kernel i end with an unbootable device, tried kernel-config as parameter for compile.sh but it doesnt work, anyone knows where the documentation for this is? please 0 Quote
Werner Posted January 5 Posted January 5 Yes, apologies. I forgot that KERNEL_CONFIGURE is also deprecated. Anyway there is a nice write-up on how to deal with this the modern way: https://zuckerbude.org/armbian-using-kernel-config/ 0 Quote
eselarm Posted January 5 Posted January 5 I see that for my 64-bit ARMs (rk3588 rockchip64/rk3568 bcm2711) the kernel configs have the following which allow me to use KVM/libvirtd/QEMU: /local/s0/armbuild/rock3a/build/config/kernel$ grep KVM linux-bcm2711-current.config CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y CONFIG_HAVE_KVM_IRQ_ROUTING=y CONFIG_HAVE_KVM_DIRTY_RING=y CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y CONFIG_NEED_KVM_DIRTY_RING_WITH_BITMAP=y CONFIG_HAVE_KVM_EVENTFD=y CONFIG_KVM_MMIO=y CONFIG_HAVE_KVM_MSI=y CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y CONFIG_KVM_VFIO=y CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y CONFIG_KVM_XFER_TO_GUEST_WORK=y CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y CONFIG_KVM=y CONFIG_PTP_1588_CLOCK_KVM=y For 64-bit Allwinner (I only have 32-bit Allwinner SoCs): /local/s0/armbuild/rock3a/build/config/kernel$ grep KVM linux-sunxi64-current.config CONFIG_HAVE_KVM=y CONFIG_PTP_1588_CLOCK_KVM=m I do not know the details, but already KVM IRQ ROUTING needs to be there AFAIR, otherwise hardware accelerated virtualization won't work. 0 Quote
eselarm Posted January 5 Posted January 5 (edited) I did a quick test based on my december 16th rock3a build tree: /local/s0/armbuild$ sudo btrfs subvolume snapshot rock3a orangepizero3 /local/s0/armbuild$ cd orangepizero3/build /local/s0/armbuild$ ./compile.sh BOARD=orangepizero3 BRANCH=edge kernel-config and also there in the kernel menuconfig Virtualization is not selected, also not the setting 1 level deeper. But when selected, the .config is as expected (like other 64-bit ARMs). My build-host is NanoPi-R6C (RK3588S) running Armbian Bookworm (beta repo, 6.12.6 kernel) where that armbuild folder is 30GB btrfs space on NVMe. Edited January 5 by eselarm 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.