unameコマンドを使用すると、Linux環境の現在のカーネルバージョンを確認することができます。ただし、unameコマンドからの結果を変更して、カーネルバージョンを一致させる必要があります。
次の手順を実行すると、unameコマンドを変更して、必要な値を指定できます。
現在のカーネルバージョンを取得するには、次のように入力します。
uname -r
ステップ 4で使用できるように、バージョン番号を書き留めておいてください。この例では、SLES 9 SP2インストールからバージョン2.6.13-15-smpを使用します。
新しいディレクトリを作成するには、次のように入力します。
mkdir /bin/orig
作成した/bin/origディレクトリにunameバイナリを移動するには、次のように入力します。
mv /bin/uname /bin/orig/uname
Linuxエディタ(viなど)を使用して、次の行を含む/bin/unameファイルを作成します。
#!/bin/sh#unameif [ $KRNLVERSION"a" = "a" ] ; then if [ $(/bin/orig/uname -r) = "2.6.13-15-smp" ] ; then export KRNLVERSION=2.6.13-15-smp else export KRNLVERSION=2.4.31 fi fi if [ $1"a" = "-ra" ] ; then echo $KRNLVERSION else /bin/orig/uname $* fi
重要:文字列“2.6.13-15-smp”を手順1で確認したバージョンに置き換えます。
新しいunameコマンドスクリプトを実行可能にするには、次のように入力します。
chmod +x /bin/uname
次のように入力して、モジュールのコンパイル時などに、uname -rコマンドによって特定のバージョンが返されるようにします。
export KRNLVERSION="2.6.5-7.191"
メーカーの指示に従って、適切なmakeコマンドを使用してモジュールをコンパイルします。
実際の値が返されるようにunameをリセットします。
unset KRNLVERSION