gitでbitbakeの設定と使用されたレイヤーを追跡する正しい方法は何ですか?
答え1
これが私が見つけた最も効果的な方法です:
git submodule add git://git.yoctoproject.org/poky.git
my-yocto
ルートディレクトリで実行します。
source poky/oe-init-build-env .
Yocto GBの一時my-yocto
ファイルが 。poky
poky
- このスクリプトは、いくつかのファイルを含む
conf
ディレクトリを作成し、それをリポジトリに追加します。my-yocto
conf/local.conf
conf/bblayers.conf
- デフォルトでは、yoctは絶対パスに設定されます
bblayers.conf
。これは、Aliceによって設定されたストレージがBobのコンピュータで実行できないことを意味します。bblayers.conf
Yocto変数を使用して修正してこの問題を解決しました${TOPDIR}
。
(...)
BBLAYERS ?= " \
${TOPDIR}/poky/meta \
${TOPDIR}/poky/meta-poky \
${TOPDIR}/poky/meta-yocto-bsp \
(...)
サポートされているプラットフォームで編集してください
local.conf
。MACHINE=beaglebone-yocto
で
my-yocto
実行しますbitbake core-image-minimal
。コンピュータの風通しが良いことを確認し、ハイキングに行きます。
これが機能する場合は、サブモジュールとしてMeta-openembeddedなどを追加して残りの構成を構築できます。すべてのカスタムレイヤーは、gitサブモジュールの詳細とbitbake設定のみを含むようにmy-yocto
gitリポジトリから分離することをお勧めします。my-yocto
ビルドする前に更新するには、次の手順を実行します。
git pull
git submodule update --remote --recursive
git submodule init
他のユーザーは複製後に一度実行する必要がありますmy-yocto
。
他の2つの提案:
まず、複数のシステム用に構築する場合は、システムごとにlocal.confを作成し、local.confからシステム固有のconfファイルへのシンボリックリンクを作成します。これにより、複数のコンピュータを追跡できますmy-yocto
。
次に、各yoctoブランチ(たとえばtmp-zeus
、、、、、tmp-dunfell
などtmp-gatesgarth
)の一時ディレクトリを作成し、ビルドするブランチtmp
へのシンボリックリンクを作成します。 (gitに追加しないでください。)Yoctoはディレクトリに多くのデータを蓄積し、tmp
ブランチtmp
を切り替えるときにそれをクリーンアップする必要があります。最新バージョンに移行すると問題はありませんが、ブランチ間で前後に切り替えると、キャッシュされたデータがすべて失われるのは恐ろしいことです。