This service is available only in Japanese-language.

構築

devtmpfsのサイズについて

いつもお世話になっております。

devtmpfsのサイズを構築時に指定する方法はありますでしょうか?
コマンド:df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 601368 0 601368 0% /dev
上記devtmpfsをlocal.confなどから変更する方法が御座いましたら、回答をよろしくお願いいたします。

PRSERVERを用いたdebリビジョンの一元管理について

https://yoctobbq.lineo.co.jp/?q=node/360 と関連した質問となります。

PRSERVERを構築し,各ビルドPCにてPRSERV_HOSTを指定することで,PRSERVERを用いたdebリビジョンの一元管理を試みています。
しかし実際は同一のソースをビルドしていても,各ビルドPCごとdebのリビジョンが異なった数字で生成されてしまいます。
これを解決する方法はございますでしょうか。

また実際のところ,Linuxのimage(を構成するdebのリビジョン)がビルドPCごと異なるという点は,一般的に困るものはないかと推測するのですが,
これはどのように対応されていることが多いのでしょうか。

sdk環境構築のコマンドの違い

とあるBSPにおいて、sdk環境構築用のshをビルドする際、

bitbake core-image-weston-sdk -c populate_sdk (生成物poky-glibc-x86_64-core-image-weston-sdk-aarch64-toolchain-*.sh # 約1.0GB)
bitbake core-image-weston -c populate_sdk (生成物poky-glibc-x86_64-core-image-weston-aarch64-toolchain-*.sh # 約0.7GB)

と、2種類のコマンドどちらでもシェルスクリプトは生成しますが、上記2つの違いが良くわかりません。
生成物のファイルサイズには大きな差が出ていますが、、、

一般的な見解を教えて下さい。

sdkでCMakeエラー

とあるBSP(yocto)でsdkを構築し、サンプルソフト(helloworld)をクロスコンパイルしようとしたところ、CMakeエラーが出ました。

・HostPCの再起動
・/opt/poky/2.5.2/の削除と再度shの実行
・helloworldのbuildフォルダ削除

を繰り返しましたが、改善されませんでした。

本件に関して、何か知見がございましたらご教授いただけないでしょうか?

############################################################
■構築手順
local.confにSDKMACHINE ?= "x86_64"を追記
bitbake core-image-weston-sdk -c populate_sdk
sh ./poky-glibc-x86_64-core-image-weston-sdk-aarch64-toolchain-*.sh
HostPC再起動

■hello world
sdk
|- helloworld
|- CMakeLists.txt
|- hello.cpp
|- hello.hpp
|- main.cpp

---------------------------------------------------------------------

CMakeLists.txt
# CMake Version
cmake_minimum_required(VERSION 2.8)
# Project name & Language
project(helloworld CXX)
# source file & generated file
add_executable(a.out main.cpp hello.cpp)

hello.cpp
#include <iostream>
#include "hello.hpp"

void hello() {
std::cout << "Hello!" << std::endl;
}

hello.hpp
#ifndef HELLO_H
#define HELLO_H

void hello();

#endif

main.cpp
#include "hello.hpp"

int main() {
hello();
}

■helloworldのbuild
source /opt/poky/2.5.2/environment-setup-aarch64-poky-linux
export LDFLAGS=””

cd sdk/helloworld
mkdir build
cd build
cmake ..
make # cmakeでエラーのため実施無

■CMakeエラー内容
$ cmake ..
-- The CXX compiler identification is GNU 7.3.0
-- Check for working CXX compiler: /opt/poky/2.5.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++
-- Check for working CXX compiler: /opt/poky/2.5.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ -- broken
CMake Error at /opt/poky/2.5.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake:45 (message):
The C++ compiler

"/opt/poky/2.5.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: /home/tcu/yocto-sample/sdk/helloworld/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_fcfa6/fast"
/usr/bin/make -f CMakeFiles/cmTC_fcfa6.dir/build.make CMakeFiles/cmTC_fcfa6.dir/build
make[1]: Entering directory '/home/tcu/yocto-sample/sdk/helloworld/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_fcfa6.dir/testCXXCompiler.cxx.o
/opt/poky/2.5.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysroot=/opt/poky/2.5.2/sysroots/aarch64-poky-linux -O2 -pipe -g -feliminate-unused-debug-types -o CMakeFiles/cmTC_fcfa6.dir/testCXXCompiler.cxx.o -c /home/tcu/yocto-sample/sdk/helloworld/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTC_fcfa6
/opt/poky/2.5.2/sysroots/x86_64-pokysdk-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fcfa6.dir/link.txt --verbose=1
/opt/poky/2.5.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysroot=/opt/poky/2.5.2/sysroots/aarch64-poky-linux -O2 -pipe -g -feliminate-unused-debug-types ”” -rdynamic CMakeFiles/cmTC_fcfa6.dir/testCXXCompiler.cxx.o -o cmTC_fcfa6
aarch64-poky-linux-g++: error: ””: No such file or directory
CMakeFiles/cmTC_fcfa6.dir/build.make:97: recipe for target 'cmTC_fcfa6' failed
make[1]: *** [cmTC_fcfa6] Error 1
make[1]: Leaving directory '/home/tcu/yocto-sample/sdk/helloworld/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_fcfa6/fast' failed
make: *** [cmTC_fcfa6/fast] Error 2

CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:4 (project)

-- Configuring incomplete, errors occurred!
See also "/home/tcu/yocto-sample/sdk/helloworld/build/CMakeFiles/CMakeOutput.log".
See also "/home/tcu/yocto-sample/sdk/helloworld/build/CMakeFiles/CMakeErr

sdkのアンインストールの方法

bitbake core-image-weston-sdk -c populate_sdk
poky-glibc-x86_64-core-image-weston-sdk-aarch64-toolchain-*.sh

で導入したSDK環境をuninstallする方法はありますでしょうか?

/opt/poky/以下を削除するだけですと、.shでインストールされたアプリケーションなどを.sh実行前に戻すことはできないように思いますので。。

特定タスクだけ実行後、bitbakeで結果が上書きされるのかどうか

とあるBSPのkernelのmenuconfig変更を以下の手順で実施し、bitbakeを実施しました。

bitbake virtual/kernel -c kernel_configme -f
bitbake virtual/kernel -c menuconfig
bitbake virtual/kernel -c diffconfig
自作レイヤーにappendファイル、cfgファイルを置く
bitbake core-image-weston

すると、
WARNING:  <board-bsp>/recipes-kernel/linux/linux-<board-bsp>_4.14.bb.do_kernel_configme is tainted from a forced run
WARNING:  <board-bsp>/recipes-kernel/linux/linux-<board-bsp>_4.14.bb.do_compile is tainted from a forced run

と出てきました。
確かに、bitbake virtual/kernel -c kernel_configme -f で最初にkernelだけbuildしてその後、全体のbitbakeしているのでWARNINGは理解できます。

この場合、appendファイル、cfgファイルの内容でもう一度buildされて上書きされるという認識でよろしいでしょうか?
それとも、同じ内容の変更が既に入っているのでbuildがスキップされるのか、どちらでしょうか?

デバイスツリーでNXPピン構成(fsl,pins)に指定する値のリファレンス

デバイスツリーのiomuxcに記述するpinctrlで、NXPピン構成(fsl,pins)に指定する値の調べ方を教えてほしいです。

以下のようなデバイスツリー定義でGPIO1_IO13の右値(6番目の値?)の0x4fの定義を知りたいのですが
リファレンスマニュアルのどこを参照すればよいのかわかりませんでした。

&iomuxc {
pinctrl_ir_recv: ir-recv {
fsl,pins = <
MX8MM_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x4f
>;
};
...

GPIOでは
MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19
MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x16
のような記述がありますが、どのビットがプル設定や初期値を設定しているのか調べています。

Qtのtoolchain

Qtのtoolchainを作成する際に「bitbake meta-toolchain-qt5」と「bitbake -c populate_sdk イメージ名」では何が違うのでしょうか?
「bitbake -c populate_sdk イメージ名」の場合では標準イメージに含まれていないQtパッケージがある場合カスタムレシピ適用する必要がありそうですが、「bitbake meta-toolchain-qt5」の場合は必要ないのでしょうか?

UBIFSのカーネルコンフィグレーション

Linuxの構築はYocto2.2 core-image-minimalイメージをベースに行っており、
カーネルコンフィグレーションで「UBIFS file system support」の「Advanced compression options」
をOFFで設定しております。(#CONFIG_UBIFS_FS_ADVANCED_COMPR)

そのUBIFSで合計約205MBのファイルを追加したのですが、Linuxの使用容量が約80MBほどしか増えませんでした。
この差分は「df -h」コマンドで使用容量を確認致しました。
「Advanced compression options」 設定が実は有効になっているということでしょうか?
または、何か他の設定が作用してこういった現象が起こっているのでしょうか?

S = $WORKDIR と指定する意味は?

弊社で実施するYoctoProject® 公式実践講座の中で、受講生からあった質問です。

https://www.yoctoproject.org/docs/3.1.3/dev-manual/dev-manual.html#new-r...

で例として表示されているレシピの中で、 S = $WORKDIR と指定する意味は?

ページ