无法从静态驱动程序代码构建 Linux 内核模块

无法从静态驱动程序代码构建 Linux 内核模块

.ko我正在尝试从默认情况下没有模块配置的驱动程序构建内核模块( )。我想避免使用内置驱动程序,因为我遇到固件加载错误。

我做了以下事情,

  1. Bt_driver.c:

    module_int(BT_Driver_init);
    module_exit(BT_Driver_deinit);
    
  2. 菜单配置:

    obj-$(CONFIG_BT_DRI) := Bt_driver.o
    
  3. 内核配置:

    tristate "Bt Module " // So, I can select Y, N and M option
    
  4. 定义配置

    CONFIG_BT_DRI=m
    

构建完成后,我Bt_driver.ko在构建位置没有找到模块。

答案1

添加后module_init()module_exit()您可能需要添加模块许可证: MODULE_LICENSE("GPL")例如。

除非模块不会被构建(污染)。

如果仍然无法构建可加载模块内核,请尝试使用您自己的 Makefile(针对此模块)进行构建。

相关内容