This service is available only in Japanese-language.
イメージにファイルを追加する方法をご教示いただけないでしょうか。
bbappendファイルに以下の記述をしてビルドしました。
追加するファイルは「sample_file」とします。
========================================
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
SRC_URI += " \
file://sample_file \
"
do_install_append() {
install -d ${D}ファイル保存先パス
install -m 0644 ${WORKDIR}/sample_file ${D}ファイル保存先パス/sample_file
}
========================================
すると、以下のエラーが発生します。
Error: Transaction check error:
file ファイル保存先パス/sample_file conflicts between attempted installs of xxxxx
ファイルの競合が発生しているように思えるのですが、解決方法がわかりません。
よろしくお願いいたします。
yakuhito
2018/12/10 (月) 10:07
bbappendは、既存のイメージレシピに対するものでしょうか
イメージレシピで、rootfsイメージに対して追加指定を行う場合は、パッケージ名を指定します。
あるファイルを追加したい場合は、そのファイルを含むパッケージを生成するレシピを作成し、イメージのbbappendに
そのパッケージ名をIMAGE_INSTALL_append()で追加します。
sankyo_takada
2018/12/10 (月) 10:48
早々のご回答ありがとうございます。
早々のご回答ありがとうございます。
認識が違っていたら申し訳ないのですが、IMAGE_INSTALL_append()でパッケージを追加するのではなく、
標準のイメージに組み込まれているファイルを入れ替えようとしています。
独自レイヤー(meta-custom)を作成し、その中にbase-files_3.0.14.bbappendを生成してファイルを追加しようとしています。
ディレクトリ構成は以下です。
meta-custom/recipes-core/base-files/base-files_3.0.14.bbappend
meta-custom/recipes-core/base-files/base-files/sample_file
色々と試しているのですが、標準イメージに存在しないファイルを追加する場合はエラーが発生しないのですが、
既に標準イメージに組み込まれているファイルを追加しようとするとエラーが発生するようです。
よろしくお願いいたします。
yakuhito
2018/12/10 (月) 10:59
既存のファイルに対する変更方法
既存のファイルがどのパッケージに含まれているのか調べ、そのパッケージの生成元のレシピのbbappendを作成します。
a) 同一名称のファイルをbbappendに記載すれば、ファイルはbbappendのものが使用されます。
b) 何らかのスクリプトを介して出力されるようなファイルの場合は、その出力処理に対するpatchを作成する。
といった方法で対処可能と考えます。
sankyo_takada
2018/12/10 (月) 13:21
解決しました
>a) 同一名称のファイルをbbappendに記載すれば、ファイルはbbappendのものが使用されます。
上記にてファイルを組み込むことが出来ました。
ご対応ありがとうございました。