qemux86向けのYoctoをビルドしてみた
普段は、ARMのシングルボードコンピュータ向けでYoctoを使っているんですが、 qemu向けを試したことが無かったので、Yocto 1.6.1をMACHINE=qemux86でビルドしてみました。
core-image-satoのビルド
ソースの取得
$ export WORK=/path/to/work $ cd $WORK $ git clone git://git.yoctoproject.org/poky $ git clone git://git.openembedded.org/meta-openembedded $ git clone git://git.linaro.org/openembedded/meta-linaro.git $ cd $WORK/poky $ git checkout -b work yocto-1.6.1 $ cd $WORK/meta-openembedded $ git checkout -b work dca466c074c9a35bc0133e7e0d65cca0731e2acf $ cd $WORK/meta-linaro $ git checkout -b work 8a0601723c06fdb75e62aa0f0cf15fc9d7d90167
パッチの適用
core-image-satoをYocto 1.6.1でビルドするとdocbook-utils-nativeでエラーになります
どうやらバグらしいので、パッチを当てて回避します
$ cd $WORK/poky $ curl -k "http://pastebin.com/raw.php?i=cUb1x2Qj" > fix-openjade-yocto-issue.patch $ patch -p1 < fix-openjade-yocto-issue.patch
参考:
[meta-freescale] [meta-fsl-arm] Build Errors
ビルド
$ cd $WORK $ source poky/oe-init-build-env $ bitbake core-image-sato
実行
$ runqemu qemux86
実行するとYocto Projectのスプラッシュが表示された後に、X11のデスクトップ画面が表示されました なお、core-image-satoにはWayland/Westonは含まれていないようです。
core-image-westonのビルド
$ bitbake core-image-weston
ビルドは通りましたが、runqemuを実行しても、以下のログで止まります。
Starting with no config file. Loading module '/usr/lib/weston/drm-backend.so' initializing drm backend
ちなみに、drm-backend.soではなくfbdev-backend.soを使うようにすれば、Framebufferでは動作しました。
P.S.
昨日、同僚からlinux 3.xの次は4.xをすっ飛ばして5.xになるようだ、というメールが kernel.org のコラ画像と共に送られてきてまんまと騙されました。