AnsweredAssumed Answered

Kernel modules not present in manual build

Question asked by thomasculverhouse on Jun 14, 2016

I have an LS2080A RDB.


Following these instructions Yiping Wang:


$ bitbake virtual/kernel -c cleansstate

$ bitbake virtual/kernel -c patch -f

cd build_<platform>_release/tmp/work/<platform>-fsl-linux/linux-ls2-sdk/4.1-r0/git.

$cp arch/arm64/configs/defconfig .config


$ make ARCH=arm64 menuconfig


Assume Toolchain is installed in /opt/fsl-networking/LS2080A-SDK/sysroots/x86_64-fsl-linux/usr/bin/aarch64-fsl-linux/.

Build Kernel image with the following commands.

$ make ARCH=arm64 CROSS_COMPILE="/opt/fsl-networking/LS2080A-SDK/sysroots/x86_64-fsl-linux/usr/bin/aarch64-fsl-linux/aarch64-fsl-linux-" LD=aarch64-fsl-linux-ld.bfd


This works fine. During the compile, I can see e.g. drivers/staging/fsl-dpaa2/ethernet/fsl-dpaa2-eth.ko being compiled, and these are also present in the modules.builtin file that gets written at the end of the build.


However, when I install this kernel on the board, and do


$cat /lib/modules/XXX/modules.builtin, I don't see any freescale-specific items at all.


Conversely, if I do a normal bitbake of the virtual/kernel and load that to the board, e.g.


bitbake virtual/kernel


the modules are present in modules.builtin.


One other (possibly-related) thing:


In my manual kernel build, when I boot the board, the modules.builtin file is in directory /lib/modules/3.16.0-4-arm64, but using the Yocto project I have /lib/modules/4.1.8-rt8+gbd51a. I build both on the same machine (3.16.0 is the Linux version of that machine).


I don't understand why my manual and yocto kernel builds give different module installations, and I don't understand why the kernel version is different between the two builds.