I have system on i.MX 8M Nano DDR4 Evk board, uname -r
5.10.9-1.0.0+g32513c25d8c7
built from
$ repo init -u git://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-gatesgarth -m imx-5.10.9-1.0.0.xml
Where is Module.symvers file? I expected to see it either on 8M Nano board system or in the yocto folder imx-yocto-bsp.
Thanks for the help.
JP
Hi joanxie,
The reason why I need Module.symvers files is the following:
I was trying to compile and load driver panel-ilitek-ili9881c which is not present in the system on my i.MX 8M Nano DDR4 EVK:
Linux imx8mnddr4evk 5.10.9-1.0.0+g32513c25d8c7 #1 SMP PREEMPT Tue Mar 9 02:17:18 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux.
Hence, I have downloaded kernel 5.10.9 from https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.9.tar.gz and cross-compiled driver to obtain kernel module file panel-ilitek-ili9881c.ko (matching vermagic and .config) on the x86_64 Linux dedicated machine cross-compiled for aarch64 architecture. Then I downloaded panel-ilitek-ili9881c.ko to my i.MX 8M Nano DDR4 EVK board. When I tried
$ insmod panel-ilitek-ili9881c.ko
I was getting these messages:
[ 122.920524] panel_ilitek_ili9881c: disagrees about version of symbol regulator_enable
[ 122.928511] panel_ilitek_ili9881c: Unknown symbol regulator_enable (err -22)
[ 122.935624] panel_ilitek_ili9881c: disagrees about version of symbol gpiod_set_value
[ 122.943455] panel_ilitek_ili9881c: Unknown symbol gpiod_set_value (err -22)
[ 122.950459] panel_ilitek_ili9881c: disagrees about version of symbol drm_panel_add
[ 122.958078] panel_ilitek_ili9881c: Unknown symbol drm_panel_add (err -22)
[ 122.964905] panel_ilitek_ili9881c: disagrees about version of symbol drm_mode_probed_add
[ 122.973020] panel_ilitek_ili9881c: Unknown symbol drm_mode_probed_add (err -22)
[ 122.980374] panel_ilitek_ili9881c: disagrees about version of symbol mipi_dsi_attach
[ 122.988135] panel_ilitek_ili9881c: Unknown symbol mipi_dsi_attach (err -22)
And since versions of symbols are present in the Module.symvers and vmlinux.symvers files I wanted to find original Module.symvers file as per my question to try to compare the symbol CRC values. For instance, the symbol regulator_enable is present in both Module.symvers and vmlinux.symvers files, and I am not sure how to match these symbols versions obtained from cross-compilation to the symbols versions (which I even do not know where to find at this point) on my i.MX 8M Nano board whose system is obtained from:
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-gatesgarth -m imx-5.10.9-1.0.0....
As a test I also picked random kernel module from cross-compilation, downloaded it to the i.MX 8M nano board and successfully insmod it and rmmod it to the kernel. The issue I have is with panel-ilitek-ili9881c.ko.
Hope I answered your question. Maybe I am missing some steps too?
Thanks.
JP