ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Yocto 튜토리얼
    개발/기술 2016. 10. 1. 13:00


    Yocto 공식 매뉴얼 사이트(http://www.yoctoproject.org/docs/2.0/yocto-project-qs/yocto-project-qs.html)를 참고해서 


    yocto를 한번도 다뤄보지 않은 사람이 qemux86(가상머신)로 구동 할 수 있는 이미지를 만드는 방법을 소개한다


    1. 먼저 PC OS 버전에 따라서 yocto 빌드에 필요한 기본 라이브러리들을 설치해야 한다.


    Ubuntu를 사용하는 경우는 다음과 같다.

    $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat libsdl1.2-dev xterm

    2. 최신 yocto 릴리즈 프로젝트를 받는다.

         $ git clone git://git.yoctoproject.org/poky
         Cloning into 'poky'...
         remote: Counting objects: 226790, done.
         remote: Compressing objects: 100% (57465/57465), done.
         remote: Total 226790 (delta 165212), reused 225887 (delta 164327)
         Receiving objects: 100% (226790/226790), 100.98 MiB | 263 KiB/s, done.
         Resolving deltas: 100% (165212/165212), done.
         $ git checkout jethro

    프로젝트 파일을 받고 폴더 내부를 보면 이상한 meta-* 폴더들만 가득할 것이다. 위 폴더는 특정 타겟 빌드에 필요한 스크립트를 갖고있다. 일단 무시하자.


    3. 작업 환경 설정하기

    $ source oe-init-build-env

    oe-init-build-env 파일은 host PC에 필드 환경을 정의해주는 스크립트다. 복잡하게 생각하기 싫으니 일단 실행하고 보자. 그럼 자동으로 build 폴더가 생성되고 이동하게 된다.


    build 폴더 안에는 conf 폴더가 있고 그안에는 bblayer.conf, local.conf 이런 애들이 있다. 딱 봐도 설정을 해주는 녀석들로 보인다. 한번 파일을 열어보자.


    bblayer.conf

     
    POKY_BBLAYERS_CONF_VERSION = "2"
    
    BBPATH = "${TOPDIR}"
    BBFILES ?= ""
    
    BBLAYERS ?= " \
      ~/TASKSPACE/poky/meta \
      ~/TASKSPACE/poky/meta-poky \
      ~/TASKSPACE/poky/meta-yocto-bsp \
      "
    


    아까 본 meta-* 로 시작하는 이상한 폴더들의 경로명이 가득하다. 이 파일은 참조할 스크립트들의 경로를 지정하는 것이다. 어떠한 폴더 파일들을 볼 것인지 개발자가 직접 설정 할 수 있다.


    local.conf

     
    # There are also the following hardware board target machines included for 
    # demonstration purposes:
    #
    #MACHINE ?= "beaglebone"
    #MACHINE ?= "genericx86"
    #MACHINE ?= "genericx86-64"
    #MACHINE ?= "mpc8315e-rdb"
    #MACHINE ?= "edgerouter"
    #
    # This sets the default machine to be qemux86 if no other machine is selected:
    MACHINE ??= "qemux86"
    
    


    이미지가 구동될 타겟을 선택하는 파일이다. 한 번쯤 볼만한 qemuarm, qemuarm64 같은 녀석들이 주석처리 되어있고 작성자가 말한 qemux86은 주석처리 되어 있지 않다. 자동으로 설정되는 것 같다.


    4. 이미지를 빌드

    bitbake core-image-sato

    qemux86에서 구동 할 수 있는 이미지를 만드는 작업이다. 컴퓨터 환경에 따라서 다르지만 1-2시간 정도 소요된다. 


    5. 빌드 종료


    빌드가 마치면 파일들은 build/tmp/deploy/images/qemux86/ 에 있다. 이 이미지를 가지고 qemux86을 실행해 구동해보자.


    Yocto를 이용해 qemux86에 구동 할 수 있는 기본 이미지를 만드는 작업이다. 다음 포스팅에는 yocto의 작동 방식에 대해 소개한다.


    '개발 > 기술' 카테고리의 다른 글

    objdump 를 이용한 바이너리 깨보기  (0) 2018.05.29
    그래픽 소프트웨어, 라이브러리 정리  (0) 2018.05.06
    Yocto 내부 파일 분석  (1) 2016.10.02
    Yocto 작동방식  (0) 2016.10.01
    Yocto란?  (5) 2016.09.16

    댓글

Designed by Tistory.