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 月以降のブログに掲載予定です。
2024 年 09 月 02 日 Vigiles サポート
2024 年 03 月 01 日 Vigiles サポート
2023 年 08 月 28 日 Vigiles サポート
2024 年 03 月 26 日 Yocto Project よもやま話
2023 年 07 月 25 日 Yocto Project よもやま話
2023 年 06 月 20 日 Yocto Project よもやま話
2024 年 01 月 10 日 Linux 技術ネタ
2023 年 12 月 12 日 Linux 技術ネタ
2023 年 03 月 31 日 Linux 技術ネタ
2024 年 07 月 26 日 イベントレポート
2024 年 07 月 09 日 イベントレポート
2024 年 06 月 03 日 イベントレポート
2023 年 05 月 30 日 リクルート
2022 年 12 月 27 日 リクルート
2022 年 09 月 27 日 リクルート
2024 年 09 月 25 日 信州リネオ便り
2024 年 08 月 20 日 信州リネオ便り
2024 年 08 月 07 日 信州リネオ便り
2019 年 12 月 10 日 ソリューション統括部
2019 年 12 月 10 日 ソリューション統括部
2019 年 12 月 10 日 ソリューション統括部
2019 年 12 月 13 日 マーケティング統括部
2019 年 04 月 25 日 マーケティング統括部
2018 年 12 月 18 日 マーケティング統括部