MTK新增驱动代码,但会遇到编译不到或者编译出ko却没有打包到rootfs里的问题
以新增PHY驱动代码jlsemi_t1.c为例:
-
yocto内核代码路径src/kernel/linux/v6.6_mt8678下有co_common以及co_device_module两个目录代码,MTK在yocto里编译的时候是有做区分,内核镜像编译使用co_common下代码,内核模块编译使用co_device_module下代码,所以我们新增驱动的时候Makefile里如何选择y那就需要改co_common目录,如果选择m那就需要改co_device_module目录,否则会修改不生效
-
将新增代码放到drivers/net/phy路径下
我此处修改已经简化了,建议添加对应编译宏以及Kconfig
这时候编译已经可以看出build目录下已经编译出对应ko文件
build/tmp/work/auto2718p1_64_hyp-poky-linux/linux-mtk-extension/6.6/build/device_module/drivers/net/phy/jlsemi_t1.ko,但ko并没有打包到rootfs里
- MTK增加了一个ko table用来管控系统需要load的ko模块