私がやろうとしていることが可能かどうかさえわかりません。望ましくないかもしれませんが、これを機能させることができるかどうか知りたいです。
Android タブレット用にコンパイルされた Linux カーネルがあり、組み込みモジュールの 1 つに変更を加える必要があります。(ソースから新しいカーネルをコンパイルすることは、この特定のケースでは、私にとってオプションではありません)。
修正したソースを使用してコンパイルし、必要な .ko ファイルをコンパイルするところまで行きました。ただし、これらのモジュールをコンパイルすると、次のようなエラーのリストが表示されます。
WARNING: "alarm_start_range" [/modules/p3_battery.ko] undefined!
私の Makefile がこのヘッダーを正しくリンクしていないようです:
#include <linux/power/p3_battery.h>
とにかく、これらのモジュールをデバイスにロードしようとしましたが、実行しようとするinsmod p3_battery.ko
と、失敗メッセージが表示されました (これは予想通りでした)。dmesg を見ると、次のようなメッセージが表示されます。
p3_battery: Unknown symbol alarm_start_range (err 0)
上記のように、これらの関数は kallsyms テーブルに存在します。
Makefile が役立つ場合は、詳細を提供できますが、ここで行っていることが意味を成すかどうかを確認するために、問題の簡潔な定式化を提供したかったのです。