This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62A7:Kernel version not match

Part Number: AM62A7


Tool/software:

Hi TI Experts,

I used Yocto to crop and build the system image, then used Balena to flash the image to the SD card, and then used Tisdk to build the falcon-mode tispl.bin file for the system in the SD card. Now I have a problem, that is, when running insmod, it prompts that the kernel version does not match. The following is the error content:

+ export SOC=am62a
+ SOC=am62a
+ export DEVICE_NAME[ 1.192909] rpmsg_char: version magic '6.6.44-ti-01478-g541c20281af7-dirty SMP preempt mod_unload aarch64' should be '6.6.58-ti-01497-ga7758da17c28-dirty SMP preempt mod_unload aar'
=AM62A
+ DEVICE_NAME=AM62A
+ insmod /lib/modules/6.6.44-ti-01478-g541c20281af7-dirty/kernel/drivers/rpmsg/rpmsg_char.ko
insmo[ 1.221492] rpmsg_ctrl: version magic '6.6.44-ti-01478-g541c20281af7-dirty SMP preempt mod_unload aarch64' should be '6.6.58-ti-01497-ga7758da17c28-dirty SMP preempt mod_unload aarch64'
d: ERROR: could not insert module /lib/modules/6.6.44-ti-01478-g541c20281af7-dirty/kernel/drivers/rpmsg/rpmsg_char.ko: Invalid module format
+ insmod /lib/modules/6.6.44-ti-01478-g541c20281af7-dirty/kernel/drivers/rpmsg/rpmsg_ctrl.ko
insmod: ERROR: could not insert module /lib/modules/6.6.44-ti-01478-g541c20281af7-dirty/kernel/drivers/rpmsg/rpmsg_ctrl.ko: Invalid module format
+ /sbin/udevd --daemon
Starting systemd-udevd version 255.13^


How should I deal with this version problem?

Regrads,

Meng

  • Hi Meng,

    The reason is that the kernel modules, which are located in the rootfs, were compiled in Yocto; while the kernel Image. which is located in tispl.bin, was compiled in the SDK. Both parties don't match.

    You have two options to solve the problem:

    - Do not rebuild kernel Image in the SDK, rather take the kernel Image compiled in Yocto and put it in the falcon-mode tispl.bin.

    - Take all the kernel modules compiled in the SDK and put them in the rootfs compiled in Yocto.

    In either way, the version of the kernel Image and modules will match.

  • Hi Mr Liu:

    Is that better that i switch the yocto version to 6.6.58. Right now the SDK is using 6.6.58 version. and yocto is using the version for 6.6.44. and in the future i need to operation the tailor with our linux sdk. but i change the receipt that it seems that not work. can you share me the reason. thx.

  • Hi Meng,

    I am not an Yocto expert to tell what would be wrong in your recipe. If you need help on this issue, please create a new e2e thread with the exact change you made in the recipe, and our Yocto expert will take a look.

    However, switching to kernel 6.6.58 in Yocto would still be possible to have such mismatch problem, depending on the build process. Basically as long as that the kernel Image and modules come from two different kernel build, even if the kernel source is the same, there is possibility that the version mismatch problem would happen, because the build process could be different in the two kernel builds.