This service is available only in Japanese-language.

ポートの機能変更と追加パッケージのconf変更について

renesasの評価ボードを使用しています。
ポート機能変更をする場合arch/arm/boot/dts/<board>.dts を変更してくださいという説明がありますがこのディレクトリはbuild/temp/以下にあって$bitbake core-image-weston後にできているものでした。
$bitbake core-image-weston後にできるファイルを変更した場合、それをイメージファイルに反映するにはどうすればよろしいのでしょうか?

また追加したパッケージ(vsftpd)のconfファイルを変更したいのですが、これも$bitbake core-image-weston後にできるディレクトリにありました。変更した後はどのようにイメージファイルへ反映するのでしょうか?

この辺の仕組みを教えていただけないでしょうか。
以上よろしくお願いいたします。

回答が長くなりますので、まずは現在構築中のtmp/work 以下のファイルの編集によって、対応する方法を
説明します。

bitbake core-image-weston を実行すると、

1) bitbake は conf/bblayers.conf に記載されている各レイヤーの情報を基に、それぞれのレイヤーに含まれるレシピファイルを
認識します。
2) パラメータとして渡されたcore-image-weston のレシピの中を調べ、
・イメージレシピである
・イメージを構成するパッケージを確認
 ・パッケージの生成元のレシピを確認
 ・各レシピに記載された依存関係を確認し、構築する順番を決定する
 ・決定した順番に従って各レシピの構築を実施する
 ・core-image-westonを構成するパッケージがすべて整った段階で、パッケージを展開してターゲット向けのイメージを生成する
といった手順で、最終的にターゲットボードにインストールするイメージを作成します。

カーネルに関しては、conf/local.conf で指定されたMACHINEに関する定義ファイル BSPレイヤーの
conf/machine/[$MACHINE].conf 内で指定された、カーネルのレシピ名、バージョンで、イメージに含まれる
パッケージが生成されることになります。

vsftpd に関しては、IMAGHE_INSTALL 変数にインストールを行うパッケージとしてvsftpdが追加されている
ため、meta-openembedded/meta-networking/recipes-daemon/vsftp/ 以下のレシピの構築を行って
vsftpdのパッケージが生成されています。

A.1 デバイスツリーの変更の反映
デバイスツリーファイル(dtb)は、linux-renesasレシピで展開されるカーネルのソースコードの中にある
arch/arm/boot/dts/[MACHINE].dts ファイルを元に生成されるため、変更を行う場合は
1. arch/arm/boot/dts/[MACHINE].dts ファイルを編集する
2. bitbake linux-renesas -f -c compile を実行して、強制的に再コンパイルを行う
3. bitbake linux-renesas を実行して、2. で強制再コンパイルされたカーネル関連パッケージの再生成を行う。

この状態でbitbake core-image-weston を実行すると、生成しなおされたkernlのパッケージを使用して
イメージの生成を行います。

A.2 vsftpd.conf の置き換え
vsftpdのレシピファイルを解析すると、do_install の段階で、構築時のworkディレクトリに置かれたvsftpd.conf
ファイルをimages/etc/ 以下にインストールを行っていることを確認できます。
よって、vsftpd.conf の修正を行う場合は
1. tmp/work/[アーキテクチャ]/vsftpd/[バージョン]/vsftpd.conf を修正する
2. bitbake vsftpd -f -c install を実行して、書き換えを行ったvsftpd.conf がimageディレクトリに展開されるよう強制実行する
3. bitbake vsftpd を実行して、更新されたimageディレクトリの内容を元にパッケージの再生成を行う

この状態でbitbake core-image-weston を実行すると、生成しなおされたvsftpdのパッケージを使用して
イメージの生成を行います。

今回の変更は、tmp/work 以下の編集で対応を行っているため、新規にプロジェクトを生成したり、当該レシピに対して
bitbake -c cleanall 等を実行した場合には作業内容が消えてしまします。
この対応を継続的に使用するためには、それぞれbbappendファイルを作成し、その中でpatchファイルや.conf ファイルを
指定することで可能となります。
この手順に関しては、別コメントにて回答します。

yakuhito様
回答ありがとうございます。
変更が反映されたイメージを生成できました。
具体的に教えていただきありがとうございます。

追加でA.1で回答いただいた内容に質問です。
「デバイスツリーファイル(dtb)は、linux-renesasレシピで展開されるカーネルのソースコードの中にあるarch/arm/boot/dts/[MACHINE].dts ファイルを元に生成されるため、」
とありますが、どこからlinux-renesasレシピと関係していると判断されたのでしょうか?
conf/bblayers.confやconf/local.conf からは読み解けませんでした。

また、継続的に対応する方法に関してもご教示いただければ幸いです。
以上よろしくお願いいたします。

まず、local.conf に記載されたMACHINE= で指定されているターゲットボードを特定します。
次に、MACHINE名.conf を探します。
見つかったファイルが、当該マシンの設定ファイルとなります。
このファイルの中、またはファイルからinclude なり require で指定されたファイル内で
# Configuration for kernel
PREFERRED_PROVIDER_virtual/kernel = "linux-renesas"
といった行が見つかると思います。
同じ機能を提供する複数のレシピが存在する場合、どのレシピを使用するのか指定するのが
PREFERRED_PROVIDE_virtual/[機能名] = ”レシピ名" となります。
上記の指定は、複数あるkernelレシピの中で、このボード(マシン)は、"linux-renesas" の
レシピを使用するといった宣言となります。

yakuhito様
回答ありがとうございます。

デバイスツリーを変更したときに何故カーネルを探すのかといったところが疑問に残りますが、一般的にデバイスツリーとカーネルの関係性が理解できていないのが原因かと思いました(この辺りは社内で学習します)。

といったいきさつが有り、デバイスツリーのソースファイルは、カーネルのソースツリーに含まれております。