Linuxカーネルモジュールパラメータ



Linux Kernel Module Parameters



http://baruch.siach.name/blog/posts/linux_kernel_module_parameters/

Linuxカーネルモジュールパラメータの設定

多くのLinuxカーネルモジュールには、ロード時、ブート時、場合によっては実行時に設定できるパラメータがあります。以下では、それぞれの方法を示します。



ロード時にモジュールパラメータを設定する

実行時にカーネルモジュールをロードする最も簡単な方法は、modprobeを使用することです。コマンド。モジュールパラメータを設定するには、パラメータの名前と値をmodprobeに入力します。コマンドライン:

modprobe foo parameter=value

コマンドmodinfo特定のカーネルモジュールが受け入れるパラメータと、各パラメータの予想されるタイプを一覧表示します。たとえば、私のLinux 3.2ベースのシステムでは、コマンドmodinfo ambassadorは、次のパラメータ情報を示しています。



parm: debug:debug bitmap, see .h file (ushort) parm: cmds:number of command queue entries (uint) parm: txs:number of TX queue entries (uint) parm: rxs:number of RX queue entries [4] (array of uint) parm: rxs_bs:size of RX buffers [4] (array of uint) parm: rx_lats:number of extra buffers to cope with RX latencies (uint) parm: pci_lat:PCI latency in bus cycles (byte)

タイプbyteまたはuintの単純な値は、数値で表されます。

modprobe ambassador debug=1

配列値は、コンマ区切りの値リストを使用して設定されます。

modprobe ambassador rxs=1000,2000,3000,4000

文字列(charp)値は、文字列を使用して設定されます。



modprobe parport_pc init_mode=epp

起動時のモジュールパラメータの設定

モジュールがカーネルにコンパイルされると、実行時にモジュールをロードすることも、パラメーターを設定することもできません。ただし、で説明されているように、カーネルコマンドラインからモジュールパラメータを設定できます。 Documentation / kernel-parameters.txtmodprobeに相当します上記のコマンドは、カーネルコマンドラインの次の文字列です。

ambassador.debug=1 ambassador.rxs=1000,2000,3000,4000 parport_pc.init_mode=epp

実行時のモジュールパラメータの設定

カーネルモジュールでは、実行時にパラメータを設定できる場合があります。この場合、パラメータは/sys/module/modulename/parameters/の下にあり、書き込み可能なファイル権限があります。 debug ambassadorのパラメータモジュールはそのようなパラメータの例です。単純なechoを使用してこのパラメーターに値を設定しますコマンド:

echo -n 1 > /sys/module/ambassador/parameters/debug

転載:https://blog.51cto.com/crkzh/1089723