Freescale の Yocto のディレクトリ構成
blog
2019-4-1 12:42 JST

Freescale の Yocto のディレクトリ構成

Freescale の Yocto を使ったディレクトリ構成はうまく整理されています。

特に sources ファイル以下で poky と他のメタデータを分離しているところに工夫のあとが見えます。sources にはレシピのソースがまとめられています。多くの環境では poky の下に追加する形でおいてしまっています。昔の oe の環境では oe-core の下に bitbake をそのようにコピーしなければならなかったので、それを踏襲した形の環境構築が広まったようです。いまや poky としてまとめられていて、他のソースと分離が可能です。

  • sources
    各メタデータのソースがディレクトリ毎にまとめられています。
  • sources/poky
    poky のメタデータ。他のメタデータと分離してブラックボックス的に使用可能
  • sources/meta-openembedde
    openembedded が用意する追加的なメターデータ
  • sources/meta-fsl-arm
    Freescale が用意する ARM に関するメターデータ
  • sources/meta-fsl-arm-extras
    Freescale が用意する ARM に関する追加的なメターデータ
  • sources/meta-fsl-demos
    Freescale が用意する DEMO

これらの違いは bblayers.conf に顕著に現れます。

■ 標準の Yocto の設定
# LAYER CONF VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF VERSION = "6"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " 
/opt/Yocto/poky-dora-10.0.1/meta 
/opt/Yocto/poky-dora-10.0.1/meta-yocto 
/opt/Yocto/poky-dora-10.0.1/meta-yocto-bsp 
"
BBLAYERS NON REMOVABLE ?= " 
/opt/Yocto/poky-dora-10.0.1/meta 
/opt/Yocto/poky-dora-10.0.1/meta-yocto 
"
■ Freescale の Yocto の設定
LCONF VERSION = "6"
BBPATH = "${TOPDIR}"
BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar(FILE, True)) + /../..)}"
BBFILES ?= ""
BBLAYERS = " 
${BSPDIR}/sources/poky/meta 
${BSPDIR}/sources/poky/meta-yocto 

${BSPDIR}/sources/meta-openembedded/meta-oe 

${BSPDIR}/sources/meta-fsl-arm 
${BSPDIR}/sources/meta-fsl-arm-extra 
${BSPDIR}/sources/meta-fsl-demos 
"