ドライバーモジュールを開始しようとしています
insmod path/to/module.ko
次のエラーが表示されます
> init_module 'path/to/module.ko' failed <File exists>
モジュールがすでに稼働していることを意味するのか、それとも完全に初期化に失敗しているのかを理解しようとしています。
の意味を探して<File exists>
いますが、すでに初期化されているということですか?
これは、モジュールが既にロードされていることを意味します。の出力を確認しますlsmod
。
ここでの問題は、Android ROM によって起動された読み取り専用パーティションからカーネルが実行されていることだと思います。私もwifiモジュールを挿入しようとしたときに同様の問題を抱えていました. つまり、出力が次のようになっている場合:
root@stackoverflow:~# insmod rkwifi.ko
Error: could not insert module rkwifi.ko: File exists
root@stackoverflow:~# lsmod | grep rkwifi
root@stackoverflow:~# lsmod
Module Size Used by
fbcon 34211 66
font 7042 1 fbcon
bitblit 3708 1 fbcon
softcursor 880 1 bitblit
wlan 458451 0
rk30xxnand_ko 314328 0
root@stackoverflow:~#
私のセットアップは、3.0.36+ カーネルで debian を実行している android tv ボックスです。私の場合、ソースからカーネルをダウンロードして変更する必要があります。次に、カーネルのバックアップをパッケージ化し、デバイスに適したフラッシュ ツールを使用して、カーネル パーティションのみをデバイスにフラッシュし、ファイルシステムを変更せずに残します。