2

Ubuntu 10.04でカーネル2.6.35-22を使用してカーネルモジュールをコンパイルしようとしていますが、proc_root_driverが見つからないと文句を言います。いくつか検索したところ、これを定義することになっていることがわかりましたが、私のバージョンのlinux-headersでは定義されていません。その代わりに使用することになっている別のグローバル変数がありますか、それともカーネルモジュールがコンパイルできるようにどこかに定義できる方法がありますか?

4

1 に答える 1

2

proc_root_driverproc_dir_entry以前は、として作成されたものへのポインタproc_mkdir("driver", NULL);でした。2008年4月にこのコミットで削除されました:http: //git.kernel.org/?p = linux / kernel / git / torvalds / linux-2.6.git; a = commit; h = 928b4d8c8963e75bdb133f562b03b07f9aa4844a

また、カーネルAPIの一部であるとは考えられていなかったと思いますが、AFAIKは内部的なものでした。

本当に、あまり効果がありません。/ procの下のフルパスを使用するだけです。つまり、次のようなコードを置き換えます。

proc_array = proc_mkdir("drvnamehere", proc_root_driver);

次のようなコードで

proc_array = proc_mkdir("driver/drvnamehere", NULL);

そして、あなたは元気でなければなりません。

于 2010-11-15T21:25:44.170 に答える