静的ドライバコードから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(このモジュール用)を使用してビルドしてみてください。

関連情報