前回までの方法では限定的なbitbakeにしか成功しなかった(ほぼ運任せ)ので
yoctoのdocumentページをもう少し読んで見た
Building an Image for Hardwareによると例えばmeta-intelと言うハードウェア情報をdownloadしてきて認識させる事でintelハードウエァでのビルドを行えるようである
ターゲットボードがMinnowBoardである場合のbitbakeのやり方が分かった
pokyをクローンしrockoをチェックアウトする
> git clone https://git.yoctoproject.org/git/poky
> cd poky
> git checkout -b rocko origin/rocko
meta-intelをクローンするtagは8.0-rocko-2.4をチェックアウトする
> git clone git://git.yoctoproject.org/meta-intel
> cd meta-intel
> git checkout tags/8.0-rocko-2.4 -b meta-intel-rocko-2.4
> cd ..
pokyディレクトリに戻ってoe-init-build-envをsourceする
meta-intelをlayerにaddする
> source oe-init-build-env build.meta-intel
> bitbake-layers add-layer "../meta-intel"
local.confに行を追加する
INHERIT += "rm_work"はbitbake後にテンポラリファイルを削除します
> echo 'INHERIT += "rm_work"' >> conf/local.conf
> echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf
bitbakeを行いますcore-image-baseは標準のコンソールのみのビルド
> bitbake core-image-base
これで焼き込みファイルが作成してされました
以下のコマンドでSDカードには焼き込めました(/dev/sdbはSDカードのデバイス)
> sudo dd if=tmp/deploy/images/intel-corei7-64/core-image-base-intel-corei7-64.wic of=/dev/sdb
ここまでやって私はMinnowBoardが無い事に気が付いたので、ここまで
ひとまず、カーネルのビルドの基本が分かったので良しとしよう
#この方法だと、Ubuntu17でもbitbakeに成功した