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.

 

Outcomes