Linux 4.1.15 で仮想ネットワークをサポートするにはどうすればよいですか?

FETMX6ULL-C プラットフォームを例に挙げると、VPN を使用する場合は、次の方法でカーネルで tun 構成を開く必要があります。 

www.forlinx.net

カーネルのコンパイル

以下の 2 つの方法のいずれかを選択します。

1..config ファイルを直接変更します。

カーネル ソース パスで .config ファイルを見つけます。

Linux 4.1.15 で仮想ネットワークをサポートするにはどうすればよいですか?

ファイル内で CONFIG _TUN を見つけて、次のように変更します。

Linux 4.1.15 で仮想ネットワークをサポートする方法

カーネルの構成ファイルを .config に置き換えます。

Linux 4.1.15 で仮想ネットワークをサポートする方法

※実際の使用状況を前提としております。

カーネルを再コンパイルします。

Linux 4.1.15 で仮想ネットワークをサポートする方法

2. グラフィカル設定インターフェイスを使用して TUN を設定します。

メニューコンフィグを作成します。

次の場所を見つけます。

Linux 4.1.15 で仮想ネットワークをサポートする方法

変更後に保存して終了します。これは.config で確認できます。

Linux 4.1.15 で仮想ネットワークをサポートする方法

カーネルの構成ファイルを .config に置き換えます。

Linux 4.1.15 で仮想ネットワークをサポートする方法

※実際の使用状況を前提としております。

カーネルを再コンパイルします。

Linux 4.1.15 で仮想ネットワークをサポートする方法

カーネルを更新します。

Arch/arm/boot/zImage ファイルはコンパイル後に生成され、カーネルを個別に更新するか再書き込みすることでカーネルを置き換えることができます。

このファイルを使用して、フラッシュ ツールのターゲット パスにある同じ名前のファイルを置き換えます。

zImage ファイルを個別に置き換えるには、FETmx6ull-c ユーザー マニュアルのシングルステップ カーネル アップデートの章を参照してください。

コンパイルモジュール:

カーネル ソース コードでは、一部のドライバーはモジュールの形式でコンパイルされ、システムの起動時にカーネル バージョン番号によって指定されたパスからロードされます。カーネルを再コンパイルしてカーネルを更新すると、システム内のカーネルのバージョン番号が変更されます。カーネルのバージョン番号は、una​​me -r コマンドで確認できます。カーネルを更新すると、uname -r のバージョン番号は変わりますが、モジュールが格納されているパス (/lib/modules/) のバージョン番号は変わりません。これにより、モジュールのロードに失敗する可能性があります。通常はカーネルを更新した後、WiFi が使用できなくなります。

以下に示すように、uanme -r の下の名前と /lib/modules/ の下の名前は同じではないため、/lib/modules/$(uname -r) ディレクトリに移動してもモジュールをロードできません。起動するときは、両方の名前を同じになるように変更する必要があります。

Linux 4.1.15 で仮想ネットワークをサポートする方法

この問題は次の 2 つの方法で解決できます。

1. モジュールのロード パスを変更し、カーネルのバージョン番号を変更します。

Linux 4.1.15 で仮想ネットワークをサポートする方法

2. モジュールを再パッケージ化します。

最初の方法には 2 つの欠点があります。

a.バッチ変更には適していません。

b. モジュールドライバーの変更には適していません。

したがって、カーネルのコンパイル時にモジュールを再パッケージ化することができます。

上記の操作を実行すると、.tmp/root/modules.tar.bz2 が生成されます。これにより、フラッシュ ツールのターゲット パス下の同名のファイルを置き換えることができます。

ファイル システムに直接抽出されることもあります。

元は www.forlinx.net で公開されています。

www.forlinx.net