FETMX6ULL-C プラットフォームを例に挙げると、VPN を使用する場合は、次の方法でカーネルで tun 構成を開く必要があります。
カーネルのコンパイル
以下の 2 つの方法のいずれかを選択します。
1..config ファイルを直接変更します。
カーネル ソース パスで .config ファイルを見つけます。
ファイル内で CONFIG _TUN を見つけて、次のように変更します。
カーネルの構成ファイルを .config に置き換えます。
※実際の使用状況を前提としております。
カーネルを再コンパイルします。
2. グラフィカル設定インターフェイスを使用して TUN を設定します。
メニューコンフィグを作成します。
次の場所を見つけます。
変更後に保存して終了します。これは.config で確認できます。
カーネルの構成ファイルを .config に置き換えます。
※実際の使用状況を前提としております。
カーネルを再コンパイルします。
カーネルを更新します。
Arch/arm/boot/zImage ファイルはコンパイル後に生成され、カーネルを個別に更新するか再書き込みすることでカーネルを置き換えることができます。
このファイルを使用して、フラッシュ ツールのターゲット パスにある同じ名前のファイルを置き換えます。
zImage ファイルを個別に置き換えるには、FETmx6ull-c ユーザー マニュアルのシングルステップ カーネル アップデートの章を参照してください。
コンパイルモジュール:
カーネル ソース コードでは、一部のドライバーはモジュールの形式でコンパイルされ、システムの起動時にカーネル バージョン番号によって指定されたパスからロードされます。カーネルを再コンパイルしてカーネルを更新すると、システム内のカーネルのバージョン番号が変更されます。カーネルのバージョン番号は、uname -r コマンドで確認できます。カーネルを更新すると、uname -r のバージョン番号は変わりますが、モジュールが格納されているパス (/lib/modules/) のバージョン番号は変わりません。これにより、モジュールのロードに失敗する可能性があります。通常はカーネルを更新した後、WiFi が使用できなくなります。
以下に示すように、uanme -r の下の名前と /lib/modules/ の下の名前は同じではないため、/lib/modules/$(uname -r) ディレクトリに移動してもモジュールをロードできません。起動するときは、両方の名前を同じになるように変更する必要があります。
この問題は次の 2 つの方法で解決できます。
1. モジュールのロード パスを変更し、カーネルのバージョン番号を変更します。
2. モジュールを再パッケージ化します。
最初の方法には 2 つの欠点があります。
a.バッチ変更には適していません。
b. モジュールドライバーの変更には適していません。
したがって、カーネルのコンパイル時にモジュールを再パッケージ化することができます。
上記の操作を実行すると、.tmp/root/modules.tar.bz2 が生成されます。これにより、フラッシュ ツールのターゲット パス下の同名のファイルを置き換えることができます。
ファイル システムに直接抽出されることもあります。
元は www.forlinx.net で公開されています。