소스 레포지터리 http://git.yoctoproject.org/cgit/cgit.cgi


IMAGE_INSTALL 

 Specifies the packages to install into an image. 

 명시한 패키지들을 image에 설치한다.

 The IMAGE_INSTALL variable is a mechanism for an image recipe and you should use it with care to avoid ordering issues


Note : core-image-minimal-initramfs 이미지작업을 할 떄는 IMAGE_INSTALL변수를 사용하는 대신, PACKAGE_INSTALL 변수를 사용한다. 대신 PACKAGE_INSTALL 변수를 사용하면, 초기 램디스크(initramfs) 에 레시피가 사용되어 IMAGE_INSTALL에 영향을 받지 않을 수 있다. 


IMAGE_INSTALL을 설정한 이미지 레시피는 image.bbclass 를 통해 이미지에 설치할 패키지를 지정한다.



Additionally, "helper" classes exist, such as core-image.bbclass, that can take IMAGE_FEATURES lists and turn these into auto-generated entries in IMAGE_INSTALL in addition to its default contents. 


core-image.bbclass 와 같이 클래스파일이 존재한다. 

IMAGE_FEATURES 리스트를 통해 IMAGE_INSTALL을 가져올수 있다.



/conf/local.conf 파일에서 IMAGE_INSTALL 변수를 사용할 떄는 += 연산자는 ordering issues 를 가져올수 있기 때문에 사용하지 않는것이 좋다.  core-image.bbclass 에 다음과 같이 IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}"정의 되어 있어서 예외 상황이 발생 될수 있다. 


When you use this variable, it is best to use it as follows:  좋은 예이다

 IMAGE_INSTALL_append = " package-name"

앞에 공백을 남겨야 한다.




Specifies : (명사) (구체적으로) 명시하다.

avoid : (동사) 방지하다, 막다, 모면하다.

initial : 처음의, 초기의 

Configuration : 


IMAGE_FEATURES

  기능의 주요 목록은 이미지 에 포함된다.  일반적으로 이미지 레시피 파일에서 이 변수를 설정한다.  local.conf 파일에서 사용할수 있지만, 가장좋은 방법은 Build_Directory 에서 찾는 것이다. 


 NOTE :  이미지 레시피 외부에서 추가 기능을 사용하려면 EXTRA_IMAGE_FEATURES 변수를 사용한다.

다음 예를 참고하라 

Image Features  , Customizing Images Using Custom IMAGE_FEATURES and EXTRA_IMAGE_FEATURES



28.2. Errors and Warnings


'Yocto' 카테고리의 다른 글

모르는 용어 정리  (0) 2015.12.16
5.2.2. Customizing Images Using Custom IMAGE_FEATURES and EXTRA_IMAGE_FEATURES  (0) 2015.12.15
Wayland 란?  (0) 2015.12.14
meta qt  (0) 2015.12.08
libstdc++.so.6: cannot open shared object file  (0) 2015.12.01

디스플레이 서버들 

 대표적으로 X11 과 Wayland, Mir이 있다. 


Wayland는 기존 윈도우 매니저를 개발하기 위해 사용했던 X11 프로토콜을 대체하는 프로토콜이다. 

 디스플레이 서버(Wayland compositor) 와, 클라이언트 간 통신하는 C 언어 기반의 프로토콜이다. 

 웨이랜드 컴포지터를 weston 이라고 한다. 



윈도우 매니저란 : 여러 어플리케이션이 하나의 입/출력 장치를 공유하는 역할. 

컴포지터 ( compositor) : 여러 윈도우 화면을 하나의 스크린에 출력하기 위해 합성,

                                         입력 장치로부터 들어온 이벤트를 적절한 윈도우로 전달.





특징 

  • 오픈 소스를 최대한 활용, 내부를 최소한으로 유지 (KMS(Kernel-Mode-Setting) 



다음은  X vs WAYALND 를 나타내는 그림이다. 



  1. qq
  2. X 서버는 


Type of Compositors

  • System Compositor : 시스템 부팅, 멀티 유져 스위칭, 콘솔 터미널 
  • Session Compositor : 데스크탑 환경을 제공한다.
  • Embedding Compositor
System Compositor
 - 초기 부팅 부터 종료될 까지 실행할 수 있다. 커널의 vt system 을 대체하고, 그래픽 부트 설정과 multiseat 을 지원한다. 
 multiseat : 하나의 컴퓨터로 여러 사용자가 독립적으로 사용하는 것을 말한다. 
 


 사진 및 링크 경로 : https://en.wikipedia.org/wiki/Multiseat_configuration


다음은 웨이랜드와  X-server 가 어떻게 통신되는지 보여주는 그림이다.

사진 및 경로 : https://upload.wikimedia.org/wikipedia/commons/2/2d/The_Linux_Graphics_Stack_and_glamor.svg


actual : (형용사)실제의 , 사실상의(사실임을 강조하는)

compositor : 식자공, 조판공

implementation

standalone


참고 

 위키피디아  : https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Wayland_compositors


'Yocto' 카테고리의 다른 글

5.2.2. Customizing Images Using Custom IMAGE_FEATURES and EXTRA_IMAGE_FEATURES  (0) 2015.12.15
변수들 정의(Yocto)  (0) 2015.12.15
meta qt  (0) 2015.12.08
libstdc++.so.6: cannot open shared object file  (0) 2015.12.01
Pre-Built (buildtools) Tarbll  (0) 2015.11.27

https://www.yoctoproject.org/product/meta-qt5


https://github.com/meta-qt5/meta-qt5/

git clone git://github.com/meta-qt5/meta-qt5.git

[WAYLAND] 1. 소개

https://nemoux00.wordpress.com/2013/08/28/wayland-1-%EC%86%8C%EA%B0%9C/

Chapter 3. A Closer Look at the Yocto Project Development Environment

http://www.yoctoproject.org/docs/2.0/ref-manual/ref-manual.html#image-generation-dev-environment


wayland ppt


http://wayland.freedesktop.org/

'Yocto' 카테고리의 다른 글

변수들 정의(Yocto)  (0) 2015.12.15
Wayland 란?  (0) 2015.12.14
libstdc++.so.6: cannot open shared object file  (0) 2015.12.01
Pre-Built (buildtools) Tarbll  (0) 2015.11.27
Yocto rpi2 빌드  (0) 2015.11.27

sudo apt-get install lib32stdc++6 lib32z1 lib32z1-dev


TCMODE="default"



'Yocto' 카테고리의 다른 글

Wayland 란?  (0) 2015.12.14
meta qt  (0) 2015.12.08
Pre-Built (buildtools) Tarbll  (0) 2015.11.27
Yocto rpi2 빌드  (0) 2015.11.27
rpi image  (0) 2015.11.27

http://downloads.yoctoproject.org/releases/yocto/yocto-2.0/buildtools/.

다운로드후 쉘파일 실행



다음 로그 실행된다.


'Yocto' 카테고리의 다른 글

meta qt  (0) 2015.12.08
libstdc++.so.6: cannot open shared object file  (0) 2015.12.01
Yocto rpi2 빌드  (0) 2015.11.27
rpi image  (0) 2015.11.27
EGLFS란  (0) 2015.11.27


다음 사이트를 보고 따라했다.


환경설정을 마치고 


Build Configuration:

BB_VERSION        = "1.26.0"

BUILD_SYS         = "x86_64-linux"

NATIVELSBSTRING   = "Ubuntu-14.04"

TARGET_SYS        = "arm-poky-linux-gnueabi"

MACHINE           = "raspberrypi2"

DISTRO            = "poky"

DISTRO_VERSION    = "1.8.1"

TUNE_FEATURES     = "arm armv7a vfp thumb neon callconvention-hard vfpv4 cortexa7"

TARGET_FPU        = "vfp-vfpv4-neon"

meta-embarcados   

meta-rpi          = "fido:dfb2e27bf26b109fc6ccb3bc91924fb3bb24f655"

meta-qt5          = "fido:90919b9d86988e7da01fa2c0a07246b5b5600a5d"

meta-raspberrypi  = "fido:b896a7da70dd7a16ba7ffd664f7747cb37e1d142"

meta-oe           

meta-ruby         = "fido:df2f700d66bace65f5d802225232d01cf511fe81"

meta              

meta-yocto        = "fido:51246bfae3b0012a5940ce744816de70ccbf1292"




sdcard 

sudo umount /dev/sdb*
sudo dd if=~/yocto/build-fido/tmp/deploy/images/raspberrypi2/qt5-image-demo-raspberrypi2.rpi-sdimg of=/dev/sdb; sync



./meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb

./meta-raspberrypi/recipes-core/images/rpi-basic-image.bb

./meta-raspberrypi/recipes-core/images/rpi-test-image.bb

./meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb

./meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-debug-image.bb

./meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb




raspberry pi 2 with QT5 using yocto


'Yocto' 카테고리의 다른 글

libstdc++.so.6: cannot open shared object file  (0) 2015.12.01
Pre-Built (buildtools) Tarbll  (0) 2015.11.27
rpi image  (0) 2015.11.27
EGLFS란  (0) 2015.11.27
Bitbake 에서 Hello World출력하기  (0) 2015.11.25



라즈베리파이 이미지 굽기


Win32DiskImager in Windows 


리눅스


http://stackoverflow.com/questions/30736039/building-qtwebengine-for-raspberry-pi2-using-yocto-poky-vcos-platform-types-h

설치법 rpi2  : http://www.embarcados.com.br/raspberry-pi-qt5-yocto-parte-1/

http://www.cnx-software.com/2015/02/27/yocto-project-raspberry-pi-2-board-minimal-image/



raspberrypi2 yocto2.0(Jethro)

http://mickey-happygolucky.hatenablog.com/entry/2015/11/03/014928




http://quitcoding.com/?page=work#cinex




'Yocto' 카테고리의 다른 글

Pre-Built (buildtools) Tarbll  (0) 2015.11.27
Yocto rpi2 빌드  (0) 2015.11.27
EGLFS란  (0) 2015.11.27
Bitbake 에서 Hello World출력하기  (0) 2015.11.25
The BSP Layer  (0) 2015.11.23

공식사이트를 보고 나름대로 해석해 보았습니다.


공식 사이트 링크 


EGLS 는 OpenGL ES, OpenVG , 윈도우 시스템과 같은 프로그램을 인터페이스 하기위한 Khronos rendering API 이다. 그래픽 컨텍스트 관리 ,  surface/buffer binding , 렌더링 동기화와 높은 동작이 가능, accelerated , 2D  와3D  섞어서 렌더링이 가능하다.  또한 상호 정보교환이 가능하다 (ex : 비디오 시스템이 동작중에 OpenMAX AL and a GPU running OpenGL ES)


다양한 운영체제에 동작이 가능하며, Xlib or GDI 같은 다른 기본 렌더링을 API 로 제공한다.








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

interoperability : (명사) 정보처리 상호운영 , 상호정보교환이 가능한

capability : (명사) 능력, 역량

'Yocto' 카테고리의 다른 글

Yocto rpi2 빌드  (0) 2015.11.27
rpi image  (0) 2015.11.27
Bitbake 에서 Hello World출력하기  (0) 2015.11.25
The BSP Layer  (0) 2015.11.23
Build 1-1  (0) 2015.11.23

Bitbake 설치


git clone git://git.openembedded.org/bitbake

환경변수 설정후  export PATH: XXX :$PATH


http://www.yoctoproject.org/docs/2.0/bitbake-user-manual/bitbake-user-manual.html#hello-world-example

레퍼런스 매뉴얼을 참고했다.

A.4. The Hello World Example

홈디렉토리에 폴더를 생성하고 실행


1.  RunBitbake

li@li:~$ mkdir BB

li@li:~$ cd BB

li@li:~/BB$ ls

li@li:~/BB$ bitbake

The BBPATH variable is not set and bitbake did not find a conf/bblayers.conf file in the expected location.

Maybe you accidentally invoked bitbake from the wrong directory?

DEBUG: Removed the following variables from the environment: LC_NUMERIC, MANDATORY_PATH, XDG_GREETER_DATA_DIR, GNOME_DESKTOP_SESSION_ID, LC_IDENTIFICATION, LESSOPEN, XDG_VTNR, SESSION, WINDOWID, LC_ALL, LC_PAPER, GNOME_KEYRING_CONTROL, DISPLAY, LANG, XDG_SESSION_PATH, XAUTHORITY, LANGUAGE, SESSION_MANAGER, LC_MONETARY, QT_QPA_PLATFORMTHEME, CLUTTER_IM_MODULE, QT4_IM_MODULE, JOB, TEXTDOMAIN, SESSIONTYPE, XMODIFIERS, GPG_AGENT_INFO, SELINUX_INIT, SSH_AUTH_SOCK, XDG_RUNTIME_DIR, INSTANCE, LC_ADDRESS, COMPIZ_CONFIG_PROFILE, COMPIZ_BIN_PATH, VTE_VERSION, GDMSESSION, IM_CONFIG_PHASE, TEXTDOMAINDIR, XDG_DATA_DIRS, XDG_SEAT_PATH, PAth, XDG_CURRENT_DESKTOP, XDG_SESSION_ID, DBUS_SESSION_BUS_ADDRESS, _, DEFAULTS_PATH, GTK_IM_MODULE, DESKTOP_SESSION, UPSTART_SESSION, LESSCLOSE, GNOME_KEYRING_PID, OLDPWD, LS_COLORS, GDM_LANG, LC_TELEPHONE, GTK_MODULES, LC_MEASUREMENT, SHLVL, COLORTERM, LC_NAME, XDG_MENU_PREFIX, LC_TIME, XDG_CONFIG_DIRS, XDG_SEAT


BBPATH 가 설정되어 있지않고 conf/bblayers.conf 파일을 찾을 수 없다고 나온다. 
BitBake 가 실행하게 되면 metadata 파일들을 탐색하게 된다. 여기서 BBPATH 는 BitBake 가 어디에 위치 해 있는지 나타낸다. BBPATH 설정없이는 BitBake 가 환경설정 파일들을 찾지 모한다. (.conf, .bb) bitbake.conf.

 
2. Setting BBPATH 
     $ BBPATH="projectdirectory"  <--- 프로젝트 디렉토리
     $ export BBPATH

다시 bitbake를 실행한다.


로그 ------------------------
li@li:~/BB$ bitbake
ERROR: Traceback (most recent call last):
  File "/opt/bitbake/lib/bb/cookerdata.py", line 178, in wrapped
    return func(fn, *args)
  File "/opt/bitbake/lib/bb/cookerdata.py", line 200, in parse_config_file
    return bb.parse.handle(fn, data, include)
  File "/opt/bitbake/lib/bb/parse/__init__.py", line 113, in handle
    return h['handle'](fn, data, include)
  File "/opt/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 124, in handle
    abs_fn = resolve_file(fn, data)
  File "/opt/bitbake/lib/bb/parse/__init__.py", line 131, in resolve_file
    raise IOError(errno.ENOENT, "file %s not found in %s" % (fn, bbpath))
IOError: [Errno 2] file conf/bitbake.conf not found in /home/li/BB

ERROR: Unable to parse conf/bitbake.conf: [Errno 2] file conf/bitbake.conf not found in /home/li/BB
-----------------------------------
conf/bitbake 파일은 타겟을 빌드하기위해 첫번쨰로 필요한 파일이다. 

3. Creating conf/bitbake.conf 

파일 생성후 다음과 같이 추가한다.

TMPDIR = "${TOPDIR}/tmp" CACHE = "${TMPDIR}/cache" STAMP = "${TMPDIR}/stamps" T = "${TMPDIR}/work" B = "${TMPDIR}"


----------------Log-----------

li@li:~/BB$ bitbake

ERROR: Unable to parse /opt/bitbake/lib/bb/parse/parse_py/ConfHandler.py

Traceback (most recent call last):

  File "/opt/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include(parentfn='configuration INHERITs', fn='classes/base.bbclass', lineno=0, data=<bb.data_smart.DataSmart object at 0x7f1dd1c633d0>, error_out='inherit'):

                 if error_out:

    >                raise ParseError("Could not %s file %s" % (error_out, fn), parentfn, lineno)

                 logger.debug(2, "CONF file '%s' not found", fn)

ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass


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

 classe/base.bbclass 파일이 필요하다고 한다.


4. base.bbclass 파일에 다음 추가 addtask build



The minimal task that BitBake runs is the do_build task. This is all the example needs in order to build the project. Of course, the base.bbclass can have much more depending on which build environments BitBake is supporting. For more information on the base.bbclass file, you can look at http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#tasks.


5. Run Bitbake : Log

li@li:~/BB$ bitbake

Nothing to do.  Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.


----------------------
레시피를 만들고 BitBake 에게 뭔가를 해야한다고 한다.

9. Creating a Layer 

$ cd $HOME $ mkdir mylayer $ cd mylayer $ mkdir conf










If our setup is correct bitbake will report:

 Nothing to do. Use 'bitbake world' to build everything,

or run 'bitbake --help' or usage information.





ERROR: no recipe files to build, check your BBPATH and BBFILES?

Summary: There was 1 ERROR message shown, returning a non-zero exit code.



오류남 다시...

kwangjo@compile:~/hello$ bitbake printhello ERROR: no recipe files to build, check your BBPATH and BBFILES? Summary: There was 1 ERROR message shown, returning a non-zero exit code. kwangjo@compile:~/hello$ pwd /home/kwangjo/hello


소스를 첨부하겠다.

hello.tar.gz

실행법 hello 폴더에서 bitbake -f Test1





다시보기





'Yocto' 카테고리의 다른 글

rpi image  (0) 2015.11.27
EGLFS란  (0) 2015.11.27
The BSP Layer  (0) 2015.11.23
Build 1-1  (0) 2015.11.23
빌드 환경  (0) 2015.11.20




custom BSP layer 만들기

  새 layer 만들기 

  •   

http://blog.naver.com/cjm9236/60199025987

http://hyuns-study.blogspot.kr/2013/09/yocto.html
















참고문서 

Embedded Linux Projects Using Yocto Project Cookbook 에서..

Qt5.4 na Raspberry Pi 2 com Yocto Project (fido) - Parte 1

http://www.embarcados.com.br/raspberry-pi-2-qt5-yocto-parte-1/


'Yocto' 카테고리의 다른 글

rpi image  (0) 2015.11.27
EGLFS란  (0) 2015.11.27
Bitbake 에서 Hello World출력하기  (0) 2015.11.25
Build 1-1  (0) 2015.11.23
빌드 환경  (0) 2015.11.20

+ Recent posts