环境:CentOS8,使用redhat的spec文件编译4.19内核。
命令:rpmbuild -bb 4.19.0.src.rpm
解决方法:
1.查找没找到的符号所在模块,查看是否在.config文件中打开。
2.在rpmbuild/SOURCES/filter-modules.sh文件中有一个过滤名单,将出错的模块名添加到名单中,这样导出符号时会忽略这个模块,也不影响功能。要注意的是,在rpmbuild/SOURCES/目录下有好几个filter-*.sh文件,分别对应不同的架构,也需要修改。不然编译对应架构的包也会同样的错。
下面是较为详细的分析过程:
错误日志(部分,已模糊处理):
+ cat depmod.out
Depmod failure
depmod: WARNING: /builddir/build/BUILDROOT/kernel-4.19.0/./lib/modules/kernel-4.19.0/kernel/drivers/gpu/drm/test/test.ko needs unknown symbol snd_pcm_new
depmod: WARNING: /builddir/build/BUILDROOT/kernel-4.19.0/./lib/modules/kernel-4.19.0/kernel/drivers/gpu/drm/test/test.ko needs unknown symbol snd_pcm_limit_hw_rates
depmod: WARNING: /builddir/build/BUILDROOT/kernel-4.19.0/./lib/modules/kernel-4.19.0/kernel/drivers/gpu/drm/test/test.ko needs unknown symbol snd_card_register
depmod: WARNING: /builddir/build/BUILDROOT/kernel-4.19.0/./lib/modules/kernel-4.19.0/kernel/drivers/gpu/drm/test/test.ko needs unknown symbol snd_card_free
depmod: WARNING: /builddir/build/BUILDROOT/kernel-4.19.0/./lib/modules/kernel-4.19.0/kernel/drivers/gpu/drm/test/test.ko needs unknown symbol snd_pcm_lib_preallocate_pages_for_all
depmod: WARNING: /builddir/build/BUILDROOT/kernel-4.19.0/./lib/modules/kernel-4.19.0/kernel/drivers/gpu/drm/test/test.ko needs unknown symbol snd_pcm_hw_constraint_minmax
depmod: WARNING: /builddir/build/BUILDROOT/kernel-4.

最低0.47元/天 解锁文章
1356

被折叠的 条评论
为什么被折叠?



