6

複数のパッケージに分割して適用したいと思います。基本的に、特定のイメージを使用してビルドできる別のものを追加したいと思います。

追加したアプリケーションに関連付けられた .bb ファイル内:

SRC_URI = " \
          ...
          file://api.conf \
          file://script.sh \
          "

PACKAGES =+ "${PN} ${PN}-tools"

FILES_${PN}-tools = "${bindir}/mrvl/tools/script.sh \
                     ${sysconfdir}/mrvl/api.conf \
                    "

次に、bb 画像テストに次の行を追加しました

IMAGE_INSTALL += " mrvl-tools"

次を返すコマンド bitbake image-test を使用しています。

ERROR: Nothing RPROVIDES 'mrvl-tools' (but /home/usr/../image-test.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'mrvl-tools' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['mrvl-tools']
ERROR: Required build target 'image-test' has no buildable providers.
Missing or unbuildable dependency chain was: ['image-test', 'mrvl-tools']

bluez5-obex パッケージと IMAGE_ISTALL += " bluez5-obex" の同じ定義に従いました。

私は何を忘れますか?

4

4 に答える 4

3

アンダースは近い。

まず、あなたの PACKAGES 定義が間違っています。必要なのは PACKAGES += "${PN}-tools" だけです。

ただし、覚えておくべき重要なことは、FILES は PACKAGES の順序で評価されるため、${PN} が最初に処理され、デフォルトの FILES_${PN} には ${bindir} ${sysconfdir} が含まれているため、${bindir} のすべてが${sysconfdir} は ${PN} にあります。次に、${PN}-tools を処理しようとしましたが、FILES 内のどの式も残りのファイルと一致しないため、パッケージは空です。

したがって、FILES_${PN} を含めたいものに設定するか、PACKAGE_BEFORE_PN=${PN}-tools を使用して、デフォルトの PACKAGES 値の PN の前にPN-tools を挿入します。bitbake.conf を読むと、これがより明確になります。

エラーはイメージ構築の失敗ではなく、rootfs 時の失敗であると予想していましたが、これが問題であることを願っています。

于 2015-02-06T13:37:50.563 に答える
0

答えてくれてありがとうロス・バートン。しかし、.bb ファイルを変更したところ、現在、次の行が含まれています。

SUMMARY_${PN}-tools="mrvl tools test"
PACKAGE_BEFORE_PN += "${PN}-tools"
RDEPENDS_${PN}-tools = ""

FILES_${PN}-tools = "${bindir}/mrvl/tools/script.sh ${sysconfdir}/mrvl/api.conf"
ALLOW_EMPTY_${PN}-tools = "1"

ビルドが終了し、mrvl-test-tools_0.1-r0.ipk という名前のパッケージが /build/tmp/deploy/ipk/board/ の下に適切に作成されていますが、何も含まれていません。これは、変数「ALLOW_EMPTY..="1"」が原因です。この行がなければビルドは失敗し、次のメッセージが表示されます

Collected errors:
 * opkg_install_cmd: Cannot install package mrvl-test-tools.

 ERROR: Function failed: do_rootfs
 ERROR: Logfile of failure stored in: /home/../build/tmp/work/oe-linux/test-img/1.0-r0/temp/log.do_rootfs.4639
 ERROR: Task 7 (/home/../sources/meta-board/recipes-images/images/test-img.bb, do_rootfs) failed with exit code '1'

ファイルが .ipk に含まれなくなった理由がわかりません

于 2015-02-09T08:32:27.283 に答える