VyOSカーネル用のパッチを作成する方法

VyOSカーネル用のパッチを作成する方法

私はVyOS開発が初めてです。 VyOSカーネルモジュールから情報を取得し、それをnetlinkソケットに書き込むパッチを作成しました。しかし、問題は、私が定義した関数を呼び出すためにカーネルモジュールコードを直接編集する必要があるのか​​、それともパッチを書くのかわかりません。パッチファイルを作成する必要がある場合は、カーネルソースのどこに配置する必要がありますか? diffコマンドを使用してパッチファイルを作成しました。

答え1

長い検索の最後に私が直面していた問題を解決しました。皆さんの中で同じ問題に封着した場合に備え、結論は次のとおりです。

  1. はい、VyOS開発でカーネルモジュールコードを編集できます。しかし、このアプローチはあまり注目を集めなかった。

  2. はい、カーネルモジュール用のパッチも作成できます。で説明されているようにGIT形式でなければなりません。VyOSパッチの作成方法。まもなく.patchVyOSカーネルコードでファイルを配置する場所を更新する予定です。

デバッグ出力チェックを有効にするには、オプションをdmesg使用します。KERN_DEBUG他人にはよく分からないからです。

printk(KERN_DEBUG "%s: Debuging info \n", __FUNCTION__);

また、VyOS カーネルの修正を確認するために必ず完全な ISO ファイルを作成する必要はありません。次のコマンドを実行します。

*各パスは、パスの問題を回避するために、毎回デフォルトのisoビルドディレクトリで説明されています。

cd build-iso/
sudo make clean-linux-image
sudo make linux-image

それから

cd buil-iso/pkgs/

ここでこれらのDebianパッケージを見つけることができます。

buil-iso/pkgs/linux-image-3.13.11-1-amd64-vyos_999.dev_amd64.deb
buil-iso/pkgs/linux-libc-dev_999.dev_amd64.deb
buil-iso/pkgs/linux-vyatta-kbuild_999.dev_amd64.deb

このファイルをインストールされたVyOSシステムにコピーし、そこにインストールします。

dpkg -i linux-image-3.13.11-1-amd64-vyos_999.dev_amd64.deb
dpkg -i linux-libc-dev_999.dev_amd64.deb
dpkg -i linux-vyatta-kbuild_999.dev_amd64.deb

rebootシステムを使用して変更を確認してくださいdmesg

関連情報