This service is available only in Japanese-language.

Column & Tips

Yocto2.5の新機能 その1


現在4月末にリリース予定(延期の可能性もあります)のYocto2.5(Sumo)のリリース候補版の評価をおこなっています。
数回に別けて、新規に追加された機能を紹介していきたいと思います。

LAYERSERIES変数の追加
この変数は、conf/bblayers.conf に登録されている各レイヤーのconf/layer.conf に記述する変数で、layerの各レシピが
yoctoのどのバージョンと互換性を持つのかを記述可能となっています。

OpenEmbedded Layer Index で Branch master で検索によってヒットしたレシピやレイヤー、喜んで取得したものの
古すぎて使えなかったという経験をされた方も多いと思います。
#OpenEmbedded Layer Index ↓
http://layers.openembedded.org/layerindex/branch/master/layers/

Yocto2.5から、LAYERSERIES変数が設定されていないlayerを conf/bblayers.conf に含んだ状態でbitbakeを実行した
場合、warningを出して確認を求めるような仕様変更が行われています。
http://lists.openembedded.org/pipermail/openembedded-core/2018-April/149...

pokyにて配布するpoky/meta に含まれてない基本的なレシピ(日本語のフォント等も提供されています)を集めた
base layer の meta-openembedded/meta-oe では、4月13日付けで対応が行われ、現在branch master で取得可能な
レイヤーは sumo 互換であることが確認できます。

chromiumのレシピが含まれるmeta-browser レイヤーについては4/7付けで対応が行われており、現在のbranch master
は、rocko/sumo の2バージョン対応となっています。
https://github.com/OSSystems/meta-browser/commit/2b9134ff33c4680ee0f52a3...

Yocto2.5 M3にて、RPMを使用したpackage-indexのbugが修正されています


Yocto 2.3 からパッケージ形式にRPMを指定した場合、bitbake package-index で、repodataが tmp/deploy/rpm/ 直下にのみ生成してしまうというbugがあり、
DNFを使用したパッケージ管理を行う場合にcreaterepoコマンドを別途インストールして実行する必要がありましたが、本日リリースのアナウンスされた
Yocto 2.5M3 にて修正が行われていました。

Yocto 2.3/ 2.4 ベースのBSPで、パッケージ形式にRPMを使用している場合、2018/4/13 現在、yocto 2.3 / 2.4 に向けて package_manager.py の修正の
コミットは行われておりませんが、Yocto 2.5M3 の meta/lib/oe/package_manager.py に置き換えることで、bitbake package-index 実行後 tmp/deploy/rpm/[arch]/ 以下に
repodataが生成されることを確認できております。

gcc6系列は6.4に移行


morry-next,pyro-nexr,rocko-nextで動作確認が行われていたgcc6.4が3/14付けでmort,pyro,rockoにマージされました。
従来mortyはgcc6.2 pyro及びrockoはgcc6.3でリリースされていましたが、gcc6系列は6.4を使用する方針となりました。
2018年4月リリース予定のYocto2.,2.4(mory)及び2.3.4(pyro)は、gcc6.4のマージにより、予定どおりQAに入る模様です。

Yocto ProjectのWebSiteで紹介されている書籍


新しくなったYoctoProjectのWebSiteで、以前はblogで紹介されていた関連書籍情報が更新されて
掲載されています。一覧は、以下のURLとなります。
https://www.yoctoproject.org/learn/books/

リンクの有るもの無いもの、有ってもUSのサイトにリンクが張られているため日本のamazonのリンクを
記載します。

Embedded Linux Systems with the Yocto Project (Pearson Open Source Software Development Series)
著者:Rudolf J. Streif
発行日:2016/5/12
http://amzn.asia/ipEiBUy

Embedded Linux Development Using Yocto Project Cookbook
著者;Alex Gonzalez
発行日:2018/1/25
http://amzn.asia/679ouYz

Linux: Embedded Development
著者:Alexandru Vaduva,‎ Alex Gonzalez,‎ Chris Simmonds
発行日:2016/9/27
http://amzn.asia/8U3zVLO

Mastering Embedded Linux Programming-Second Edition
著者:Chris Simmonds
発行日:2017/6/30
http://amzn.asia/0vaZIR8

Using Yocto Project with BeagleBone Black
著者:H M Irfan Sadiq
発行日:2015/6/30
http://amzn.asia/1gsBBYy

Learning Embedded Linux Using the Yocto Project
著者:Alexandru Vaduva
発行日:2015/6/30
http://amzn.asia/i2pXcT0

Embedded Linux Projects Using Yocto Project Cookbook
著者:Alex Gonzalez
発行日:2015/3/30
http://amzn.asia/d5Pm8HS

Yocto ProjectのWebSiteがリニューアルしました


本日(2018年3月6日)、YoctoProjectのWebSite https://www.yoctoproject.org/ がリニューアルしました。
リニューアルに伴い、ページ構成ががらりと変わってしまい、本サイトからリンク切れが生じております。
ご迷惑をおかけしますが、順次修正を行っていきますので、ご了承くださいますようよろしくお願いします。

Spectre及びMeltdown対応版のリリース予定


先日までTBDとなっていたSpectre 及びMeltdown 対応版のリリースについてですが、
2.2.4 / 2.3.4 は 2018年4月 、2.4.2 は 2018年3月 をめどにリリースを行うようスケジューリング
されています。
2.4.2 に関しては、gccのバージョンを 7.2 から 7.,3 に上げることで対応を行いますが
2.2.4 / 2.3.4 に関しては、 upstreamのバックポートの対応が行われた後に、QAを経ての
リリースとなる予定です。

do_fetchallが無くなります


http://lists.openembedded.org/pipermail/openembedded-core/2018-February/...
にあるよう、今後リリース予定のyocto2.5から bitbake core-image-sato -c fetchall といった
fetchall/checkuriall のタスクが使えなくなります。
代わりに、bitbake core-image-sato --runall=fetch を使用することで、より高速に同様な
タスクが実行可能となります。

高速化の対応とは言え、今まであちらこちらで紹介されていたknow howが使えなくなって
しまうのは、ちょっと不親切かなと。

Yocto2.2.3のリリースは暫く先になります


昨年(2017年)12月12日の段階では、2.3.3より前にリリース予定だったYocto2.2.3ですが、specter/meltdownへの対応を行った後のリリースとなる模様です。
先週リリースの2.3.3/2.4.1に関しては、今春リリース予定の2.5が出た後も、リリースが継続しますが2016年10月リリースの2.2.0は今回が最終の公式リリース
となるため、重大な脆弱性への対応を行った後のリリースに変更となったようです。

https://lists.yoctoproject.org/pipermail/yocto/2018-January/039640.html

以下 2018年2月6日更新

2月5日付けのYocto Project Status WW06’18から

2.2.3 は 2017-12-14 版にて、rc2のQAを実行中です。
当然ながらspecter/meltdown 対応パッチは含まれませんが、これらは2.2.4にて対応する
予定とのことです。
http://lists.openembedded.org/pipermail/openembedded-core/2018-February/...

以下 2018年2月28日追記

2.2.3 ですが、Tue, 27 Feb 2018 15:02:04 -0800 にリリースのアナウンスがありました。
2017/12/14 時点のmetaデータでのリリースとなります。
web siteの更新はこれからとなります。

webkitgtkのアップデートがcommit


正月明けにお屠蘇気分を吹っ飛ばしてくれたSpecterとMeltdownチップの脆弱性ですが、Yocto Projectも現在対応を行っているところです。
MeltdownはQEMU等の対応もあり、もう少し待つ必要がありそうですが、Specterに関して、軽減対応を行ったwebkitgtkが1/14 夜、先ず
Yocto2.4.1向けにcommitされ、1/15朝にはYocto2.3.2/2.2.3向けにcommitされています。
Upstreamでは、2.18.5のみ対応となっているため、morty(Yocto2.2)は2.12.5→2.18.5へ、 pyto(Yocto2.3)は2,14,5→2.18.5へ rocko(Yocto2,4)は2.16.6→2.18.5と
3つのリリースですべて同一のバージョンのwebkitgtkが提供されることになりました。

2018年2月2日追記:
webkitgtk ですが、arm向けは、2.3/2.4/master ではコンパイラの仕様変更によりbuildに失敗します。
各バージョンの次期ポイントリリースまでには修正されることを期待しております。

yocto-layer,yoct-bsp,yocto-kernelが使えなくなる?


Yocto Projectでリリースしているツール(openembeddedで元々開発されていたものではない)が、メンテナンスされていないという理由で、
次期リリース(2.5)向けのmaster branchでは削除となる方向でパッチがコミットされています。

yocto-kernel 削除パッチ
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=2813a9380f6266...

yocto-kernelの使い方
http://www.yoctoproject.org/docs/2.4/mega-manual/mega-manual.html#managi...

yocto-bsp 削除パッチ
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=95d4f4ec1e512d...

yocto-bso の使い方
http://www.yoctoproject.org/docs/2.4/mega-manual/mega-manual.html#creati...

yocto-layer 削除パッチ
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=31684e86858812...

yocto-layer の削除予告(2.4のマニュアルでの事前告知)
http://www.yoctoproject.org/docs/2.4/mega-manual/mega-manual.html#creati...

yocto-layer に関しては、exampleで出力されるbbファイルのdo_compile()が、最近のbitbakeではエラーになるなど
メンテナンスされていないことは、講習の中でも取り上げていました。
今後は、bitbake-layers のサブコマンドcreate-layer を使うことで、新規レイヤーを作る方法を推奨するようです。

ページ