2022 年 10 月 24 日 Yocto Project よもやま話
今回は「Yocto への道 その 2」と題して、今日に至る Yocto Project の配布物 pokyに関する情報を提供する連載の第二回目をお届けします。

inky-1.0 と後日 TAG 付けされた最初のリリースは、2006 年 2 月 10 日付けでコミットがおこなわれたリビジョンとなります。
前回紹介した 2005 年 11 月 16 日付のコミットに対して、既存のレシピのアップデートの他、"alsa" のレシピの追加、gtk2 上で実装された "web" というWebブラウザのレシピが追加され、依存する "libsoupl" "js" 等のレシピが追加されています。
poky に含まれるwebブラウザは、9.0(dylan)までは "web"(web-webkit)、10.0(dora)から 13.0(fid)までは "midori"、14.0(jethoro)以降は "epiphany" が提供されています。
下図は、最新のpokyに含まれる epiphany_42.4 で弊社サイトを表示させた際のスクリーンショットとなります。(qemuarm64 上のcore-image-sato + ephipany + ttf-sazanami)

前回紹介した 2005年 11 月 16 日付のコミットから、inky-1.0 リリースの間、コンフィグレーションファイル関連に関して、大きな変更は有りませんでした。
2007 年 1 月 21 日のコミットでリリースが行われた poky-2.0(Clyde)は、多くの変更が行われています。Poky LinuxのGUI Sato Desktop Thema は本リリースから含まれています。
下図は、最新の Yocto4.0.4 の core-image-sato のスクリーンショットです。

$ tree -L 1
. .
|-- README
|-- bitbake
| |-- AUTHORS
| |-- COPYING
| |-- ChangeLog
| |-- HEADER
| |-- MANIFEST
| |-- bin
| |-- classes
| |-- conf
| |-- contrib
| |-- doc
| `-- lib
|-- build
| `-- conf
|-- meta
| |-- COPYING.MIT
| |-- classes
| |-- conf
| |-- files
| |-- packages
| `-- site
|-- meta-extras
| |-- COPYING.MIT
| `-- packages
|-- poky-init-build-env
`-- scripts
|-- README
|-- jhbuild
|-- poky-autobuild
|-- poky-env-internal
|-- poky-qemu
|-- poky-qemu-ifup
|-- poky-qemu-internal
|-- poky-qemu.README
`-- runqemu
19 directories, 17 file
$ ls -R conf/distro/ conf/distro/: angstrom-2007.1.conf maemo-1.0.conf poky-bleeding.conf include openzaurus-unstable.conf poky.conf conf/distro/include: angstrom.inc poky-eabi2.inc preferred-e-versions.inc sane-srcdates.inc openzaurus.inc poky-eabi3.inc preferred-gpe-versions-2.7.inc poky-eabi-csl2005q3-2.inc poky-eabi5.inc preferred-opie-versions.inc poky-eabi.inc poky-oabi.inc preferred-xorg-versions.inc $
conf/distro ディレクトリは構成が変更となり、直下のディレクトリ内には、実際に DISTRO 変数に設定可能なディストリビューションの定義ファイルが置かれ、".inc" をサフィックスに持つファイルは include ディレクトリ以下に移動となっています。
また、今回のリリースから familia.conf は、angstrom-2007.1.conf に置き換わっています。
$ ls -R conf/machine/ conf/machine/: akita.conf cmx270.conf ipaq-pxa270.conf qemuarm.conf spitz.conf c7x0.conf include nokia770.conf qemux86.conf conf/machine/include: ixp4xx.conf tune-arm926ejs.conf tune-ppc603e.conf tune-supersparc.conf poodle-2.6.conf tune-arm9tdmi.conf tune-ppce500.conf tune-xscale.conf qemu.conf tune-c3.conf tune-sh3.conf zaurus-2.6.conf tosa-2.6.conf tune-ep9312.conf tune-sh4.conf zaurus-clamshell.conf tune-arm920t.conf tune-iwmmxt.conf tune-strongarm.conf $
conf/machine ディレクトリも構成が変更となり、直下のディレクトリ内には、実際に MACHINE 変数に設定可能なマシンの定義ファイルが置かれ、SoC やアーキテクチャのコンフィグレーションファイルは include ディレクトリ以下に移動となっています。
また、今回のリリースから qemuarm, qemux86 が追加されています。
主な相違点を local.conf.sample を例に変数ごとに挙げます。
15 # The machine to target
16 MACHINE ?= "qemuarm"
17
18 # Other supported machines
19 #MACHINE ?= "cmx270"
20 #MACHINE ?= "qemux86"
21 #MACHINE ?= "c7x0"
22 #MACHINE ?= "akita"
23 #MACHINE ?= "spitz"
24 #MACHINE ?= "nokia770"
MACHINE 変数に設定可能なマシンに qemuarm/qemux86 が追加となり、デフォルトの構築対象マシンは qemuarm に変更となっています
31 # IMAGE_FEATURES configuration of the generated images
32 # (Some of these are automatically added to certain image types)
33 # "dev-pkgs" - add -dev packages for all installed packages
34 # (useful if you want to develop against libs in the image)
35 # "dbg-pkgs" - add -dbg packages for all installed packages
36 # (adds symbol information for debugging/profiling)
37 # "apps-core" - core applications
38 # "apps-pda" - add PDA application suite (contacts, dates, etc.)
39 # "dev-tools" - add development tools (gcc, make, pkgconfig etc.)
40 # "dbg-tools" - add debugging tools (gdb, strace, oprofile, etc.)
41 # "test-tools" - add useful testing tools (ts_print, aplay, arecord etc.)
42 # "debug-tweaks" - make an image for suitable of development
43 # e.g. ssh root access has a blank password
44
45 IMAGE_FEATURES = "dbg-tools test-tools debug-tweaks"
本リリースから IMAGE_FEATURES 変数が追加となり、デフォルトの指定が local.conf の中でおこなわれています。
47 # A list of packaging systems used in generated images
48 # The first package type listed will be used for rootfs generation
49 # include 'package_deb' for debs
50 # include 'package_ipk' for ipks
51 #PACKAGE_CLASSES ?= "package_deb package_ipk"
52 PACKAGE_CLASSES ?= "package_ipk"
本リリースから PACKAGE_CLASSES 変数が追加となり、デフォルト値の指定が local.conf の中でおこなわれています。
67 # Uncomment and set to allow bitbake to execute multiple tasks at once.
68 # Note, This option is currently experimental - YMMV.
69 # 'quilt' is also required on the host system
70 # BB_NUMBER_THREADS = "1"
本リリースから BB_NUMBER_THREADS 変数が登場しています。但しこの時点では試験的実装となっており、値は未設定となっています。
Poky1.0と poky2.0 のレシピの数を以下に挙げます。
| リリース | レシピ数 |
|---|---|
| poky-inky-1.0 | 356 |
| poky-clyde-2.0 | 552 |
レシピ数には、バージョンのみ違うものも含まれていますが、1 年の間に 5 割増しで増加しています。
poky-cylde-2.0 の 552 レシピのうち、poky 独自の meta-extras に含まれるレシピ数は 14 となっています。
$ tree -L 2 meta-extras/
meta-extras/
|-- COPYING.MIT
`-- packages
|-- bluez
|-- images
|-- libid3tag
|-- libmad
|-- madplay
|-- maemo-mapper
|-- mc
|-- python
|-- sqlite
`-- tasks
11 directories, 1 file
次回は 10 月末リリース予定の Yocto4.1(Langdale)に関するリリース情報をお届けする予定です。
今回の記事の続きは、2023 年 1 月以降のブログに掲載予定です。
2025 年 05 月 14 日 Vigiles サポート
2024 年 09 月 02 日 Vigiles サポート
2024 年 03 月 01 日 Vigiles サポート
2025 年 06 月 04 日 Yocto Project よもやま話
2025 年 06 月 03 日 Yocto Project よもやま話
2024 年 03 月 26 日 Yocto Project よもやま話
2024 年 01 月 10 日 Linux 技術ネタ
2023 年 12 月 12 日 Linux 技術ネタ
2023 年 03 月 31 日 Linux 技術ネタ
2025 年 08 月 08 日 イベントレポート
2024 年 12 月 06 日 イベントレポート
2024 年 07 月 26 日 イベントレポート
2025 年 04 月 01 日 リクルート
2023 年 05 月 30 日 リクルート
2022 年 12 月 27 日 リクルート
2025 年 10 月 06 日 信州リネオ便り
2025 年 07 月 08 日 信州リネオ便り
2025 年 05 月 01 日 信州リネオ便り
2019 年 12 月 10 日 ソリューション統括部
2019 年 12 月 10 日 ソリューション統括部
2019 年 12 月 10 日 ソリューション統括部
2019 年 12 月 13 日 マーケティング統括部
2019 年 04 月 25 日 マーケティング統括部
2018 年 12 月 18 日 マーケティング統括部