module_init()
がありません そして module_exit()
マクロといくつかの重要な #defines
. make/gcc オプションなどの詳細情報も必要です。カーネルが 64 ビットのときに 32 ビットでコンパイルしているため、「無効なモジュール形式」が報告されている可能性があります。-64 コンパイルおよびリンク フラグを使用していることを確認してください。
カーネル モジュールの優れた Hello World チュートリアルは、http://archive.is/KNkEE にあります (記事への元のリンクは壊れています)。
カーネル モジュールの作成へようこそ。それらは、Windows ドライバーを作成するのに比べて非常に楽しいものです (私は両方を行いました)。 Linux カーネル モジュール インターフェースは非常に使いやすく、委譲して作業をより迅速に完了できる多くのベース ドライバーがあります。