This service is available only in Japanese-language.

構築

firmwareの追加方法

Wifi,Bluetooth等で使用する、firmwareの追加方法を教えて下さい。

バイナリ自体は
tmp/work/all-poky-linux/linux-firmware/
のimage内に含まれています。
しかし、rootfsにはinstallされていません。

具体的には
/lib/firmware/qca
ディレクトリを追加したいと考えています。

ユーザ独自のdefconfigファイルを使用して、カーネルイメージ(uImage、zImage)またはカーネルモジュールをビルドする方法

とあるメーカーのYocto(BSP)を元に、defconfigの変更を独自のものに変更してビルドをするため、
https://yoctobbq.lineo.co.jp/?q=node/41
の(a)の方法(下記にも示します)で行いたいのですが、細かい手順が分からないため、教えてください。
やりたい事はBSPで提供されているdefconfigの内容を一部変更(注釈にしたり、追加する)をして独自のdefconfigで
ビルドをするのが目的です。
------------------------------------------------------------------------------------------------------------------
(a) ユーザー独自のdefconfigを使用する
1. bitbake カーネル名 -c menuconfig を実行して、make menuconfig と同様にコンフィグを変更します。
2. bitbake カーネル名 -c diffconfig を実行して、差分ファイルfragment.cfg を生成します。
3. fragment.cfg ファイルを、recipes-kernel/linux/linux-xxx/ ディレクトリ以下にコピーする。
4. bbappend ファイルに、SRCURI += "file://fragment.cfg" を追加する。
 # xxx.cfgと、cfgがサフィックスに指定されたファイルは、コンフィグレーション関連のファイルとbitbakeは認識します。
-------------------------------------------------------------------------------------------------------------------

Q1:1で述べている「カーネル名」とは、Linuxカーネルバージョンを入れるのでしょうか?
Q2:2で述べている差分ファイルfragment.cfgを生成するためにが、元々のdefconfigファイルと独自に用意したdefconfigファイル差分を取ると思いますが、独自に用意したdefconfigファイルはどのディレクトリに置けば良いのでしょうか?

当方、初心者のため的外れな質問をしてるかもしれませんが、宜しくご教示願います。

SDK構築でエラー発生

TI社SoCを載せたカスタムボード用のrootfsイメージとSDKを構築しようとしています。
Yocto は thud2.6 相当 arago (processor-sdk-0.6.00.00.07-config) です。
rootfsイメージまでは順調に進みました。
しかし 「bitbake -c populate_sdk イメージ名」で下記メッセージが出て止まります。
「bitbake meta-toolchain」でも同様です。
どういった理由が考えられるでしょうか?

======
ERROR: arago-custom-image-1.0-r0 do_populate_sdk: Unable to install packages. Command '/home/aki/Works/71-Arago/build/arago-tmp-external-arm-toolchain/work/jfe700-linux-gnueabi/arago-custom-image/1.0-r0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /home/aki/Works/71-Arago/build/arago-tmp-external-arm-toolchain/work/jfe700-linux-gnueabi/arago-custom-image/1.0-r0/opkg-sdk.conf -t /home/aki/Works/71-Arago/build/arago-tmp-external-arm-toolchain/work/jfe700-linux-gnueabi/arago-custom-image/1.0-r0/temp/ipktemp/ -o /home/aki/Works/71-Arago/build/arago-tmp-external-arm-toolchain/work/jfe700-linux-gnueabi/arago-custom-image/1.0-r0/sdk/image --force_postinstall install nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-jfe700' returned 1:
Collected errors:
* Solver encountered 1 problem(s):
* Problem 1/1:
* - nothing provides nativesdk-perl needed by nativesdk-autoconf-2.69-r11.x86_64-nativesdk
*
* Solution 1:
* - do not ask to install a package providing nativesdk-packagegroup-sdk-host

ERROR: arago-custom-image-1.0-r0 do_populate_sdk: Function failed: do_populate_sdk
ERROR: Logfile of failure stored in: /home/aki/Works/71-Arago/build/arago-tmp-external-arm-toolchain/work/jfe700-linux-gnueabi/arago-custom-image/1.0-r0/temp/log.do_populate_sdk.2678
ERROR: Task (/home/aki/Works/71-Arago/sources/meta-arago/meta-arago-distro/recipes-core/images/arago-custom-image.bb:do_populate_sdk) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3490 tasks of which 3489 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/aki/Works/71-Arago/sources/meta-arago/meta-arago-distro/recipes-core/images/arago-custom-image.bb:do_populate_sdk
Summary: There were 6 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

proxy環境下のrepo sync実行でエラーメッセージが出てしまう

とある環境で、repoを使う手順になっているものがあります。
repo init ****
を実行後、
repo sync
を実行すると、ログメッセージの中に、
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
というエラーメッセージが出ていることに気がつき、どうやらうまくいっていない様子です。
本来であれば、リポジトリからローカル環境にファイルがダウンロードされるかと思うのですが。。。

プロキシ環境下であるが故のエラーではないかとみていて、
webなどで調べて実践してみるものの、解決しません。

かつて、プロキシ環境下で git clone が実行できなかったことがあるのですが、
その際は、下記サイトを参考にしたら解決することができました。
https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy
それ以来、yocto環境では不都合がなかったのですが、
repoを使う場合は別の対策を打たなければならないのでしょうか。

原因と対策などお心当たりがあれば
ご教示いただけますと助かります。

特定のレシピに対するrm_workを抑止したい

社内からの問い合わせです。
カーネルのソースの編集を行いたいが、INHERIT += "rm_work" の設定が有効になっていると
編集した結果が消えてしまうので、カーネルに関してのみrm_workを無効にすることは可能か?

Unable to start bitbake server

bitbake core-image-minimal
を実行したときに、以下のようなERROR文が表示されてしまいます。

ERROR: Unable to start bitbake server
ERROR: Last 10 lines of server log for this session (/mnt/work/build/bitbake-cookerdaemon.log):
File "/mnt/work/poky/bitbake/lib/bb/server/process.py", line 433, in _startServer
self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset)
File "/mnt/work/poky/bitbake/lib/bb/cooker.py", line 197, in __init__
self.initConfigurationData()
File "/mnt/work/poky/bitbake/lib/bb/cooker.py", line 356, in initConfigurationData
self.databuilder.parseBaseConfiguration()
File "/mnt/work/poky/bitbake/lib/bb/cookerdata.py", line 316, in parseBaseConfiguration
raise bb.BBHandledException
bb.BBHandledException
ERROR: Layer openembedded-layer is not compatible with the core layer which only supports these series: rocko (layer is compatible with thud warrior)

解決する方法にお心当たりはないでしょうか。

2日前は実行できていたのですが。。。

拡張SDKの構築について

ベンダー提供のBSPを拡張SDKに対応させようとしています。
populate_sdk_extのタスクは成功しました。
しかし、インストールをしようとすると下記のエラーがでて失敗しています。
当方、これが何を意味するエラーなのかがわかりかねています。

考えられる原因、なにか不足していそうなこと、または解析のヒントになりそうなことなどありませんでしょうか?

$ bash tmp/deploy/sdk/poky-glibc-x86_64-rootfs-pos-cortexa9hf-vfpv3-toolchain-ext-2.4+snapshot.sh
Poky (Yocto Project Reference Distro) Extensible SDK installer version 2.4+snapshot
==========================================================================================
Enter target directory for SDK (default: ~/poky_sdk):
The directory "/home/dev/poky_sdk" already contains a SDK for this architecture.
If you continue, existing files will be overwritten! Proceed[y/N]? y
Extracting SDK....................................................done
Setting it up...
Extracting buildtools...
Preparing build system...
Loading cache: 100% |######################################################################################################################################################################################################################################| Time: 0:00:00
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb: Exception during build_dependencies for sysroot_stage_dirs | ETA: --:--:--
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb: Error during finalise of virtual:nativesdk:/home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb: Exception during build_dependencies for sysroot_stage_dirs
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb: Error during finalise of virtual:nativesdk:/home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
ERROR: Unable to parse /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb
Traceback (most recent call last):
File "/home/dev/poky_sdk/layers/poky/bitbake/lib/bb/codeparser.py", line 370, in ShellParser._parse_shell(value='\tfrom="$1"\n\tto="$2"\n\n\tfor dir in /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/include /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/lib /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/lib /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/lib /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share ; do\n\t\tsysroot_stage_dir "$from$dir" "$to$dir"\n\tdone\n\n\t# Remove directories we do not care about\n\tfor dir in /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/man /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/doc /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/info /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/locale /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/applications /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/fonts /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/pixmaps /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/lib/nativesdk-python3-urllib3/ptest ; do\n\t\trm -rf "$to$dir"\n\tdone\n'):
try:
> tokens, _ = pyshyacc.parse(value, eof=True, debug=False)
except pyshlex.NeedMore:
File "/home/dev/poky_sdk/layers/poky/bitbake/lib/bb/pysh/pyshyacc.py", line 673, in parse(input='\tfrom="$1"\n\tto="$2"\n\n\tfor dir in /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/include /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/lib /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/lib /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/lib /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share ; do\n\t\tsysroot_stage_dir "$from$dir" "$to$dir"\n\tdone\n\n\t# Remove directories we do not care about\n\tfor dir in /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/man /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/doc /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/info /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/locale /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/applications /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/fonts /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/share/pixmaps /opt/poky/2.4+snapshot-fatal: Not a git repository (or any of the parent directories): .git/sysroots/x86_64-pokysdk-linux/usr/lib/nativesdk-python3-urllib3/ptest ; do\n\t\trm -rf "$to$dir"\n\tdone\n', eof=True, debug=False):
debug = 2
> return yacc.parse(lexer=lexer, debug=debug), remaining

File "/home/dev/poky_sdk/layers/poky/bitbake/lib/ply/yacc.py", line 267, in LRParser.parse(input=None, lexer=<bb.pysh.pyshlex.PLYLexer object at 0x7f853e8cb7b8>, debug=False, tracking=0, tokenfunc=None):
else:
> return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)

File "/home/dev/poky_sdk/layers/poky/bitbake/lib/ply/yacc.py", line 1049, in LRParser.parseopt_notrack(input=None, lexer=<bb.pysh.pyshlex.PLYLexer object at 0x7f853e8cb7b8>, debug=False, tracking=0, tokenfunc=None):
errtoken.lexer = lexer
> tok = self.errorfunc(errtoken)
del errok, token, restart # Delete special functions
File "/home/dev/poky_sdk/layers/poky/bitbake/lib/bb/pysh/pyshyacc.py", line 646, in p_error(p=LexToken(LPARENS,'(',0,0)):
w(' %r\n' % n)
> raise sherrors.ShellSyntaxError(''.join(msg))

bb.pysh.sherrors.ShellSyntaxError: LexToken(LPARENS,'(',0,0)
followed by:
LexToken(TOKEN,'or',0,0)
LexToken(TOKEN,'any',0,0)
LexToken(TOKEN,'of',0,0)
LexToken(TOKEN,'the',0,0)
LexToken(TOKEN,'parent',0,0)

WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb: Exception during build_dependencies for sysroot_stage_dirs
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb: Error during finalise of virtual:nativesdk:/home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb: Exception during build_dependencies for sysroot_stage_dirs
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb: Error during finalise of virtual:nativesdk:/home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb: Exception during build_dependencies for sysroot_stage_dirs
WARNING: /home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb: Error during finalise of virtual:nativesdk:/home/dev/poky_sdk/layers/poky/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb

ポート制限が行われた環境での構築

会社のネットワーク設定により git で使用するポートがふさがっており、レシピ中の git: でソースを取得するような記述が正しく処理できずにエラーになっているように見受けられます。
このような場合どのように回避すればよろしいでしょうか?

bitbakeエラーについて

bitbake core-image-weston実行時、以下のエラーが発生します。
原因として何が考えられるでしょうか?

Build Configuration:
BB_VERSION = "1.28.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-14.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "ボード名"
DISTRO = "poky"
DISTRO_VERSION = "2.0.1"
TUNE_FEATURES = "arm armv7a vfp neon callconvention-hard cortexa7"
TARGET_FPU = "vfp-neon"
meta
meta-yocto
meta-yocto-bsp
meta-rzg1
meta-oe
meta-multimedia
meta-ruby
meta-linaro-toolchain
meta-qt5
common
qt-framework
qt-hmi-demo
meta-ボード名 = "<unknown>:<unknown>"

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
・・・
NOTE: recipe cinematicexperience-1.0-r0: task do_configure: Started
ERROR: Worker process (31605) exited unexpectedly (-9), shutting down...
ERROR: Worker process (31605) exited unexpectedly (-9), shutting down...
ERROR: Worker process (31605) exited unexpectedly (-9), shutting down...
NOTE: Sending SIGTERM to remaining 1 tasks
NOTE: Sending SIGTERM to remaining 1 tasks
NOTE: Sending SIGTERM to remaining 1 tasks
NOTE: Tasks Summary: Attempted 3224 tasks of which 3220 didn't need to be rerun and all succeeded.

CONNECTIVITY_CHECK_URIS = "" として問題ないでしょうか

local.confに
CONNECTIVITY_CHECK_URIS = ""
という1文を加えても問題ないでしょうか。

=======

bitbake core-image-minimal
などとした後、
ERROR: OE-core's config sanity checker detected a potential misconfiguration.
といったエラーメッセージが出てビルドできない状況でした。

そんなとき、某WEBページにたどり着きまして、
----------------
local.confに
CONNECTIVITY_CHECK_URIS = ""
という1行を追加するとよい
----------------
とあり、私も実践してみたところ、確かにエラーを回避できました。
しかしながら、
必要があって何かしらのチェック処理を行おうとしているところに、
それを外すような対策を取っていて、問題ないのだろうか、
という迷いがあります。

CONNECTIVITY_CHECK_URIS の意味等、
ご教示いただけるとありがたいです。

ページ