PetaLinux プロジェクト内のソフトウェア コンポーネント用にパッチを作成および追加するには、次の手順に従います。
- 次のコマンドを実行して、メタレイヤーで指定されgit URL からソース コードを取得します。
petalinux-devtool modify <recipe-name>
例:
petalinux-devtool modify linux-xlnx
上記のコマンドは、レシピのソースをフェッチし、<plnx-proj-root>/components/yocto/workspace/sources/<recipe-name> ディレクトリに解凍して、Git リポジトリとして初期化します。
- ソースに必要な変更を加えます。
- ビルドを実行して変更をテストします。
petalinux-build -c <recipename>
を実行するか、petalinux-build
を使用してイメージ全体をビルドして、変更を反映します (レシピで生成されたパッケージがイメージの一部であると想定)。何かを強制的に実行する必要はありません。ビルド システムによりソースの変更が検出され、必要に応じて再コンパイルされます。 - オプション: 変更をターゲットでテストします。
- 変更を PetaLinux プロジェクトへのパッチとして配置します。変更を確定するには、次のコマンドを使用します。
git add <filename> git commit -s
-
petalinux-devtool finish <recipe-name> <destination layer path>
を使用すると、確定された変更を含むパッチがレシピ ソース ディレクトリに作成されます。例:
petalinux-devtool finish linux-xlnx <plnx-proj-dir>/project-spec/meta-user
petalinux-devtool update-recipe linux-xlnx -a <destination layer path>
を使用すると、確定された変更を含むパッチがレシピ ソース ディレクトリに作成され、bbappend およびソース ディレクトリはワークスペース ディレクトリから削除されません。例:
petalinux-devtool update-recipe linux-xlnx -a <plnx-proj-dir>/project-spec/meta-user
- レシピの作業を終えたら、
petalinux-devtool reset <recipe-name>
を実行して、レシピのソース ディレクトリをワークスペースから削除します。