faith's blog

気まぐれ日記

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 のコラ画像と共に送られてきてまんまと騙されました。