[bitbake-devel] [yocto] Adding KVM kernel modules to Yocto Kernel

Bruce Ashfield bruce.ashfield at gmail.com
Wed Nov 6 16:40:44 UTC 2019


On Wed, Nov 6, 2019 at 11:30 AM Wayne Li <waynli329 at gmail.com> wrote:
>
> Dear Yocto Developers,
>
> I'm trying to get KVM added and working on a Yocto kernel I built up for a T4240 RDB (has a PowerPC CPU).  KVM isn't working and the reason why it isn't working seems to be I'm missing the necessary kernel modules.  More specifically, I don't seem to have a kvm.ko file that I can load.  Here's how I attempted to add KVM to the kernel.
>
> I went to the SDK install folder and ran ". fsl-setup-env -m t4240rdb-64b" and then "bitbake virtual/kernel -c menuconfig".  After the GUI comes up, I went to Virtualization -> KVM support for PowerPC E500MC/E5500/E6500 processors and hit "Save" to save the configuration.  I then went and copied the content of the .config file created by this into the kernel configuration file specified by the following path; "build_t4240rdb-64b/virt1.config".  This path was specified by the variable KERNEL_DEFCONFIG in sources/meta_freescale/conf/machine/t4240rdb-64b.conf.  Here's what I currently have in the kernel configuration file (i.e. the virt1.config file I mentioned above):
>
> https://gist.github.com/WayneZhenLi/4172cd4a819b71a11b85fc5aaa57ebd1
>
> After this, I built the kernel by running "bitbake -c compile -f virtual/kernel" and rebuilt the full linux image.  I re-added everything to the SD card and booted up the T4240 RDB with the newly modified Yocto kernel.  At this point if I run lsmod, only the following two kernel modules show up:
>
> Module                  Size  Used by
> nfsd                  100940  11
> exportfs                6723  1 nfsd
>
> But if I do a "find . -name "kvm"" I get the following:
>
> ./usr/src/kernel/Documentation/virtual/kvm
> ./usr/src/kernel/arch/arm/kvm
> ./usr/src/kernel/arch/arm64/kvm
> ./usr/src/kernel/arch/mips/kvm
> ./usr/src/kernel/arch/powerpc/kvm
> ./usr/src/kernel/arch/s390/kvm
> ./usr/src/kernel/arch/tile/kvm
> ./usr/src/kernel/arch/x86/kvm
> ./usr/src/kernel/drivers/s390/kvm
> ./usr/src/kernel/include/config/kvm
> ./usr/src/kernel/include/config/have/kvm
> ./usr/src/kernel/include/kvm
> ./usr/src/kernel/virt/kvm
> ./dev/kvm
> ./sys/devices/virtual/misc/kvm
> ./sys/class/misc/kvm
> ./sys/kernel/debug/kvm
> ./sys/module/kvm
>
> So it does look like kvm-related files were added to the Yocto kernel because of the changes I made to the kernel configuration file.  But there is no kvm.ko (or any .ko file related to kvm) anywhere in the file system.

Is the image you are building installing the specific kernel modules
you need, or the generic meta package "kernel-modules" ? Without
something like that, you can build the support, but the modules won't
be present on the image.

Bruce

>
> Is there something I'm doing wrong here?  Am I missing important lines in my kernel configuration file?  Let me know your thoughts.
>
> -Thanks!, Wayne Li
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


More information about the bitbake-devel mailing list