私はチュートリアルをフォローしています@ http://www.embeddedsystemonline.com/home/embedded-system/embedded_linux/lab3-linux-device-driver
このチュートリアルのステップ7で、
$ cd /usr/src/kernels/linux-2.6.20.1/drivers/char/examples
$ /sbin/insmod hello1.ko
次に、次のエラーが表示されます(Sudo /sbin/insmod hello1.ko
の後)。
insmod: error inserting 'hello1.ko': -1 Invalid module format
Lsmodコマンドを使用すると、カーネルにモジュールが表示されません
Sudo
を実行せずにコマンドを実行してみてください。代わりにrootになって試してください。
$ Sudo su -
$ /sbin/insmod hello1.ko
また、dmesg
を調べて、問題の原因に関する追加のメッセージがあるかどうかを確認し、modinfo
を使用してモジュールを確認してください。
$ modinfo /dir/to/mod/hello1.ko
次のことを確認してください。
同じカーネルを使用現在インストールされているカーネルの構成。通常は次の場所にあります。
/proc/config.gz
/boot/config
/boot/config-*
適切なコンパイルツールチェーンを使用する。
正しいカーネルバージョンヘッダーに対してモジュールをコンパイルしていますか?この問題に直面した後、正しいカーネルバージョンのヘッダーをインストールしました。