Yocto 개발/Yocto

[Yocto 시리즈 4] 개발 환경 준비하기 — 호스트 요구사항부터 poky 클론까지

khd0801 2026. 7. 21. 01:10
반응형

Yocto를 공부하겠다고 마음먹은 분들이 의외로 첫 빌드보다 먼저 좌절하는 지점이 있어요. 바로 개발 환경 준비입니다. 디스크가 모자라서 빌드가 중간에 죽고, 배포판 기본 도구 버전이 낮아서 알 수 없는 에러를 만나고, 패키지 하나가 빠져서 몇 시간을 헤매는 일이 실제로 흔합니다. 이번 회차에서는 공식 문서의 시스템 요구사항을 기준으로, 빌드 호스트를 제대로 준비하고 poky 소스를 받는 데까지를 차근차근 정리할게요.

 📑 목차

 1. 빌드 호스트 사양 — 디스크·RAM은 얼마나 필요한가

1.1 왜 사양 이야기부터 하는가

3회차에서 봤듯이 Yocto 빌드는 단순한 애플리케이션 컴파일이 아니라, 크로스 툴체인부터 커널·루트파일시스템까지 배포판 전체를 소스에서 빌드하는 작업이에요. 수백 개의 레시피가 각각 fetch·compile·package 태스크를 거치니, 디스크와 CPU를 어마어마하게 소비합니다. 실무에서 빌드 서버 사양 산정을 잘못하면 팀 전체의 빌드 대기 시간이 늘어나고, 개인 노트북에서는 디스크 풀로 빌드가 중간에 죽는 사고가 잦아요. 그래서 공식 문서도 매뉴얼 첫머리에서 시스템 요구사항부터 다룹니다.

다행히 준비물 자체는 단출해요. 이 시리즈의 실습은 실제 보드 없이 QEMU(에뮬레이터) 타깃으로 진행할 수 있어서, 사양을 충족하는 리눅스 PC 한 대면 충분합니다. 타깃 하드웨어가 없어도 5회차의 첫 빌드와 부팅까지 전부 따라 할 수 있어요.

1.2 공식 요구사항 — 디스크 90GB, RAM 8GB부터

LTS(scarthgap, 5.0.18) 기준 공식 문서의 표현을 그대로 옮기면 이래요.

"To build an image such as core-image-sato for the qemux86-64 machine, you need a system with at least 90 Gbytes of free disk space." — Yocto Project Reference Manual, "System Requirements"

RAM은 "4코어 구형 시스템에서 8GB 정도로도 core-image-sato 빌드가 가능하다"고 안내해요. 다만 이건 어디까지나 하한선입니다. 빌드는 코어 수만큼 병렬로 돌기 때문에 코어가 많을수록, RAM이 넉넉할수록 빌드 시간이 눈에 띄게 줄어요. 디스크도 이미지 몇 종을 빌드하고 sstate 캐시(3회차 참고)가 쌓이기 시작하면 90GB는 금방 찹니다.

CPU는 "몇 코어 이상"이라는 명시적 하한이 없는 대신, 코어 수가 빌드 시간을 사실상 결정해요. BitBake는 서로 의존성이 없는 태스크들을 동시에 실행하고(BB_NUMBER_THREADS), 개별 레시피의 컴파일도 make -j 방식의 병렬 빌드(PARALLEL_MAKE)로 돌기 때문이에요. 두 변수의 기본값은 호스트 코어 수를 따라가므로 코어가 많은 만큼 그대로 이득을 봅니다(상세 설정은 6회차에서 다뤄요). 스토리지는 작은 파일을 대량으로 만들고 지우는 워크로드 특성상 HDD보다 SSD에서 체감 차이가 큽니다.

ℹ️ 버전 참고 — 최신 개발판(6.0-tip, 릴리스 6.0.2 "Wrynose") 문서는 같은 문장에서 디스크 140GB, RAM 32GB로 기준을 올려 잡았어요. 세대가 갈수록 빌드 대상이 커진다는 뜻이니, 새로 장비를 준비한다면 여유 있게 잡는 편이 안전합니다.

1.3 Windows 사용자라면 — WSL 2와 가상 머신

Yocto 빌드 호스트는 리눅스여야 해요. Windows에서 작업하는 분이라면 WSL 2가 현실적인 선택지인데, 공식 문서도 이를 언급하고 있습니다.

"You may use Windows Subsystem For Linux v2 to set up a build host using Windows 10 or later, or Windows Server 2019 or later, but validation is not performed against build hosts using WSL 2." — System Requirements

즉 WSL 2로 빌드는 가능하지만, Yocto 프로젝트가 공식 검증(validation)을 수행하는 환경은 아니에요. 회사 CI나 팀 공용 빌드는 네이티브 리눅스 서버로 두고, WSL 2는 개인 학습·간단한 검증 용도로 쓰는 구분이 실무적으로 무난합니다. WSL 2 안에서도 이 글의 디스크·패키지·도구 버전 체크리스트는 그대로 적용되니, 아래 2장의 절차를 동일하게 따라 하면 돼요. WSL 2 사용 시 추가 주의점은 Development Tasks Manual의 "Setting Up to Use Windows Subsystem For Linux (WSL 2)" 섹션에 따로 정리되어 있어요.

가상 머신(VMware·VirtualBox 등)도 마찬가지로 사용할 수는 있지만, 디스크 I/O가 병목이 되기 쉬운 워크로드라 네이티브 설치 대비 빌드 시간 손해를 감안해야 합니다. 어느 쪽이든 "리눅스 환경 + 요구 사양 충족"이라는 원칙은 같아요.

 2. 지원 배포판과 필수 패키지 설치

2.1 어떤 배포판을 쓰는 게 좋은가

Yocto는 임의의 리눅스에서 돌 수도 있지만, 프로젝트가 공식적으로 테스트하는 배포판 목록이 릴리스마다 정해져 있어요. LTS(scarthgap) 문서의 지원 목록에는 대표적으로 Ubuntu 22.04 LTS·24.04 LTS, Debian 11·12, Fedora 39·40·41, AlmaLinux 8·9, Rocky Linux 8·9, CentOS Stream 9가 올라 있습니다(전체 목록은 참고 링크의 문서에서 확인하세요). 목록에 없는 배포판에서도 빌드가 되는 경우는 많지만, 문제가 생겼을 때 "지원 배포판에서 재현되는가"부터 물어보는 게 커뮤니티의 관례예요.

실무에서 특별한 이유가 없다면 Ubuntu LTS를 권해요. 사용자가 가장 많아 검색으로 해결되는 문제가 많고, BSP 벤더들의 문서도 대부분 Ubuntu 기준으로 쓰여 있기 때문입니다. 팀 단위로 일한다면 빌드 호스트 배포판을 하나로 통일하는 것도 중요해요. 호스트마다 도구 버전이 제각각이면 native 도구 재빌드가 늘어나는 등 빌드 결과에 미묘한 편차가 생겨서, "내 자리에서는 되는데" 류의 소모적인 디버깅으로 이어지기 쉽습니다.

2.2 필수 도구 최소 버전

빌드 호스트에는 아래 도구들이 최소 버전 이상으로 설치되어 있어야 해요(scarthgap 기준).

  • Git 1.8.3.1 이상
  • tar 1.28 이상
  • Python 3.8.0 이상
  • GCC 8.0 이상
  • GNU make 4.0 이상

이 다섯 가지가 굳이 콕 집혀 있는 데에는 이유가 있어요. BitBake 자체가 Python 프로그램이고, 소스 코드 대부분을 Git과 tar(아카이브 해제)로 가져오며, 크로스 툴체인을 만드는 첫 단계는 호스트의 GCC와 make로 부트스트랩되기 때문이에요. 즉 이 도구들은 "있으면 좋은 것"이 아니라 빌드 시스템이 딛고 서는 뼈대입니다.

요즘 배포판이라면 대부분 충족하지만, 회사에서 오래 쓰는 빌드 서버(구형 CentOS 등)는 걸리는 경우가 있어요. 버전 확인은 각 도구에 --version을 붙여 보면 됩니다. 미달이어도 방법이 있으니(3장 buildtools) 호스트 OS를 갈아엎을 필요는 없어요.

ℹ️ 버전 참고 — 6.0-tip 기준으로는 Python 3.9.0, GCC 10.1로 요구 버전이 올라갔어요. Git·tar·make 기준은 동일합니다.

2.3 Ubuntu/Debian 패키지 설치와 로케일

지원 배포판을 골랐다면 빌드에 필요한 호스트 패키지를 설치합니다. Ubuntu/Debian 기준 공식 명령은 이거예요.

sudo apt install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git python3-jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd

목록을 잠깐 뜯어보면 성격이 보여요. build-essential·gcc는 native 도구를 빌드할 호스트 컴파일러, python3-git·python3-jinja2 같은 python3-* 계열은 BitBake와 지원 스크립트가 쓰는 라이브러리, xz-utils·zstd·liblz4-tool은 소스 아카이브와 sstate 캐시에 쓰이는 압축 도구입니다. 하나쯤 빠져도 빌드 어딘가에서 반드시 티가 나니, 목록을 골라내지 말고 전체를 그대로 설치하는 걸 권해요.

한 가지 놓치기 쉬운 게 로케일이에요. 빌드 시스템은 en_US.utf8 로케일이 필요해서, 최소 설치한 서버라면 아래처럼 확인하고 없으면 활성화해야 합니다.

locale --all-locales | grep en_US.utf8
sudo dpkg-reconfigure locales

2.4 다른 배포판 설치 명령 — Fedora·openSUSE·AlmaLinux

Fedora·openSUSE·AlmaLinux는 패키지 이름 체계가 달라서 설치 명령이 각각 달라요. 아래는 공식 문서 "Required Packages for the Build Host"에 실린 배포판별 명령 전문입니다. Ubuntu 목록과 비교해 보면 차이가 눈에 들어와요 — RPM 계열 목록에는 perl-Data-Dumper 같은 perl 모듈들이 개별 패키지로 나열되어 있고, 압축 도구도 xz-utils 대신 xz처럼 이름이 다릅니다. 자기 배포판 목록을 그대로 전부 설치하면 됩니다.

Fedora:

sudo dnf install bzip2 ccache chrpath cpio cpp diffstat diffutils file findutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip hostname libacl lz4 make patch perl perl-Data-Dumper perl-File-Compare perl-File-Copy perl-FindBin perl-Text-ParseWords perl-Thread-Queue perl-bignum perl-locale python python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd

openSUSE — 저장소 패키지에 없는 GitPython은 pip로 별도 설치하는 두 단계 구성이에요:

sudo zypper install bzip2 chrpath diffstat gcc gcc-c++ git gzip hostname libacl1 lz4 make makeinfo patch python python-curses python-xml python3 python3-Jinja2 python3-curses python3-pexpect python3-pip rpcgen socat tar wget which xz zstd
sudo pip3 install GitPython

AlmaLinux — 기본 저장소에 없는 패키지들이 있어서 EPEL과 CRB 저장소를 먼저 활성화하는 사전 단계가 필요합니다:

sudo dnf install -y epel-release
sudo yum install dnf-plugins-core
sudo dnf config-manager --set-enabled crb
sudo dnf makecache
sudo dnf install bzip2 ccache chrpath cpio cpp diffstat diffutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip libacl lz4 make patch perl perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd

2.3절에서 강조한 en_US.utf8 로케일 요건은 배포판과 무관하게 같아요. RPM 계열 목록의 glibc-langpack-en(Fedora·AlmaLinux)이 그 역할의 패키지입니다.

2.5 문서(매뉴얼) 빌드용 패키지 — 필요한 경우에만

위 목록은 이미지 빌드용이고, Yocto 공식 문서를 로컬에서 직접 빌드(Sphinx 기반)하려면 별도 패키지가 필요해요. 문서 기여나 오프라인 열람이 목적이 아니라면 건너뛰어도 되는 선택 사항이지만, 같은 문서의 명령 전문을 함께 정리해 둡니다.

Ubuntu/Debian:

sudo apt install git librsvg2-bin locales make python3-saneyaml python3-sphinx-rtd-theme sphinx

Fedora:

sudo dnf install git glibc-locale-source librsvg2-tools make python3-pip which
sudo pip3 install sphinx sphinx_rtd_theme pyyaml

openSUSE:

sudo zypper install git glibc-i18ndata make python3-pip rsvg-convert which
sudo pip3 install sphinx sphinx_rtd_theme pyyaml

AlmaLinux:

sudo dnf install git glibc-locale-source librsvg2-tools make python3-pip which
sudo pip3 install sphinx sphinx_rtd_theme pyyaml

PDF 형식 문서까지 빌드하려면 TeXLive 계열 패키지가 추가로 필요해요. 마찬가지로 배포판별 명령 전문입니다.

Ubuntu/Debian:

sudo apt install fonts-freefont-otf latexmk tex-gyre texlive-fonts-extra texlive-fonts-recommended texlive-lang-all texlive-latex-extra texlive-latex-recommended texlive-xetex

Fedora:

sudo dnf install 'texlive-collection-lang\*' latexmk texlive-collection-fontsextra texlive-collection-fontsrecommended texlive-collection-latex texlive-collection-latexextra texlive-collection-latexrecommended texlive-collection-xetex texlive-fncychap texlive-gnu-freefont texlive-tex-gyre texlive-xetex

openSUSE:

sudo zypper install 'texlive-collection-lang\*' texlive-collection-fontsextra texlive-collection-fontsrecommended texlive-collection-latex texlive-collection-latexextra texlive-collection-latexrecommended texlive-collection-xetex texlive-fncychap texlive-gnu-freefont texlive-latexmk texlive-tex-gyre texlive-xetex

AlmaLinux:

sudo dnf install latexmk texlive-collection-fontsrecommended texlive-collection-latex texlive-collection-latexrecommended texlive-collection-xetex texlive-fncychap texlive-gnu-freefont texlive-tex-gyre texlive-xetex

 3. 호스트 도구 버전이 모자랄 때 — buildtools

3.1 buildtools란 무엇인가

사내 빌드 서버가 구형 배포판이라 Python이나 GCC 버전이 요구사항에 못 미치는 상황, 임베디드 현장에서는 드물지 않아요. 이럴 때 호스트 OS를 업그레이드하는 대신 쓰라고 Yocto가 제공하는 것이 buildtools tarball입니다. 요구 버전을 충족하는 Git·tar·Python 등의 도구 모음을 홈 디렉터리 아래에 설치하고, 환경 스크립트를 source하면 그 셸에서만 새 도구들이 PATH 앞에 잡히는 방식이에요. 호스트 시스템을 건드리지 않으니 다른 업무와 충돌할 걱정이 없습니다.

GCC까지 포함한 확장판은 buildtools-extended tarball이라고 불러요. 컴파일러 버전이 걸리는 경우에는 이쪽을 설치합니다. 설치 경로도 여러 가지예요 — poky에 포함된 install-buildtools 스크립트로 자동 설치하는 방법(아래에서 소개, 권장), downloads.yoctoproject.org 릴리스 페이지에서 사전 빌드된 tarball을 직접 받아 실행하는 방법, 그리고 요구사항을 충족하는 다른 머신에서 bitbake buildtools-tarball로 직접 만들어 배포하는 방법이 있어요. 결과물이 자기 완결적인 설치 스크립트(.sh)라서, 외부망이 막힌 폐쇄망 빌드 서버에도 파일 복사만으로 넣을 수 있다는 점이 실무에서 특히 유용합니다.

3.2 install-buildtools 스크립트 사용법

poky 소스를 받았다면(4장) 그 안의 스크립트로 간단히 설치할 수 있어요. 공식 문서의 명령을 그대로 옮깁니다.

cd poky
scripts/install-buildtools \
  --without-extended-buildtools \
  --base-url https://downloads.yoctoproject.org/releases/yocto \
  --release yocto-5.0.18 \
  --installer-version 5.0.18

설치가 끝나면 아래처럼 환경을 잡아요. 이 source는 셸을 새로 열 때마다 다시 해줘야 합니다.

source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux

옵션 없이 scripts/install-buildtools만 실행하면 GCC가 포함된 확장판(buildtools-extended)이 설치돼요. 호스트 도구가 이미 요구사항을 충족한다면 이 장은 통째로 건너뛰어도 됩니다.

 4. poky 소스 받기 — git clone과 브랜치 선택

4.1 clone과 브랜치 체크아웃

1회차에서 정리했듯 poky는 BitBake + OpenEmbedded-Core + 참조 배포판 메타데이터를 묶은 참조 저장소예요. 아래 명령으로 받습니다.

git clone https://git.yoctoproject.org/poky
cd poky
git checkout -t origin/scarthgap -b my-scarthgap
⚠️ 공식 문서와 다른 점 — 프로토콜은 반드시 https:// — Quick Build 문서는 이 명령을 git clone git://git.yoctoproject.org/poky로 싣고 있지만, 그대로 실행하면 지금은 실패합니다. git://는 HTTP가 아니라 git daemon 전용 프로토콜(9418 포트)인데, git.yoctoproject.org가 CDN 뒤로 이동하면서 이 포트를 더 이상 받지 않기 때문이에요. 증상은 아래처럼 응답 없는 타임아웃입니다.

fatal: unable to connect to git.yoctoproject.org:
git.yoctoproject.org[0: 104.18.1.115]: errno=Connection timed out


실패한 IP가 CDN 대역(104.18.x.x)이라는 점이 단서예요. 사내 방화벽이 막아서가 아니라 목적지에 그 포트로 응대할 서비스가 없어서 생기는 현상이라, 프록시 설정으로는 해결되지 않고 https://로 바꿔야 합니다. 뒤이어 나오는 Network is unreachable 줄은 IPv6 주소로도 시도했다가 IPv6 경로가 없어 즉시 실패한 것으로, 원인과는 무관해요.

여기서 중요한 건 두 번째 명령이에요. clone 직후의 기본 브랜치는 최신 개발 브랜치라서, 그대로 빌드하면 검증이 덜 된 코드를 쓰게 됩니다. 실무에서는 반드시 릴리스 브랜치(여기서는 LTS인 scarthgap)를 체크아웃해서 시작하세요. -t origin/scarthgap은 원격 브랜치를 추적하는 로컬 브랜치(my-scarthgap)를 만드는 옵션이라, 이후 git pull로 해당 릴리스의 버그 수정만 안전하게 받아올 수 있어요.

브랜치 이름은 릴리스 코드네임과 같아요. 이 시리즈가 기준으로 삼는 scarthgap(5.0)은 LTS 릴리스라 일반 릴리스보다 훨씬 긴 기간 버그·보안 수정을 받습니다. 수년을 유지보수해야 하는 제품이라면 시작 시점에 LTS 브랜치를 고르는 것이 기본기예요. 참고로 사내망에서는 https://조차 프록시를 거쳐야 하는 경우가 있는데, 그때는 git config --global http.proxy로 프록시를 지정하면 됩니다(빌드 중 소스 다운로드에도 프록시 설정이 필요하니, Yocto Project Wiki의 "Working Behind a Network Proxy" 문서를 함께 참고하세요).

4.2 받아진 디렉터리 훑어보기

clone이 끝나면 poky 최상위가 이렇게 생겼어요. 2회차에서 다룬 레이어 개념이 디렉터리로 그대로 보입니다.

  • bitbake/ — 메타데이터를 해석해 태스크를 실행하는 BitBake 본체
  • meta/ — OpenEmbedded-Core 핵심 메타데이터(레시피·클래스)
  • meta-poky/ — Poky 참조 배포판을 정의하는 레이어
  • meta-yocto-bsp/ — 참조 하드웨어용 BSP 레이어
  • meta-skeleton/ — BSP·커널 개발용 템플릿 레시피
  • meta-selftest/ — 빌드 시스템 자체 테스트(oe-selftest)용 레시피
  • scripts/runqemu, install-buildtools 등 지원 스크립트
  • documentation/ — 공식 문서 소스
  • oe-init-build-env — 빌드 환경을 초기화하는 스크립트(다음 회차의 주인공)

출처: Reference Manual, "Source Directory Structure". 아직 build/ 디렉터리는 없는데, 이건 다음 회차에서 oe-init-build-env를 실행하면 생겨요.

2회차에서 "레이어는 메타데이터 묶음"이라고 정리했는데, meta/·meta-poky/·meta-yocto-bsp/가 바로 그 레이어들이에요. poky가 어떤 특별한 프로그램이 아니라 "BitBake + 레이어 몇 개를 한 저장소에 모아 둔 것"이라는 사실이 디렉터리 구조에서 그대로 드러납니다. 앞으로 벤더 BSP 레이어나 우리 팀의 커스텀 레이어를 추가할 때도, 이 구조 옆에 meta-무언가가 하나 더 늘어나는 그림을 떠올리면 돼요.

ℹ️ 버전 참고 — 6.0-tip의 Quick Build 문서는 poky를 직접 clone하는 대신 bitbake-setup init이라는 새 도구로 환경을 구성하는 방식으로 전면 개편됐어요(git clone https://git.openembedded.org/bitbake./bitbake/bin/bitbake-setup init). 기존 수동 방식도 여전히 지원되며, 새 방식은 다음 회차(첫 빌드)에서 병기해 소개할게요.
📌 실무 팁 — 빌드 디스크는 공식 최소치(90GB)의 두 배쯤 잡는 걸 권해요. 이미지 두세 종만 빌드해도 tmp/와 sstate 캐시가 순식간에 불어나고, 디스크 풀로 죽은 빌드는 원인 파악에 시간을 잡아먹기로 악명이 높습니다. 또 하나 — 다운로드 소스(DL_DIR)와 sstate 캐시(SSTATE_DIR)를 빌드 디렉터리 밖의 별도 경로에 두면, 빌드 디렉터리를 지워도 재다운로드·재빌드를 피할 수 있어요. 이 설정은 6회차(local.conf)에서 자세히 다룹니다.

 🧪 직접 해보기

이번 회차는 전부 로컬에서 따라 할 수 있어요. 명령은 System RequirementsQuick Build 문서에서 가져왔습니다.

  1. 여유 디스크와 메모리 확인: df -h . / free -h — 빌드에 쓸 파티션의 여유 공간이 90GB 이상, RAM이 8GB 이상인지 확인. 부족하면 1.2절의 요구사항을 다시 점검하세요.
  2. 도구 버전 확인: git --version; tar --version; python3 --version; gcc --version; make --version — 출력된 버전을 2.2절의 최소 버전(Git 1.8.3.1 / tar 1.28 / Python 3.8.0 / GCC 8.0 / make 4.0)과 비교. 하나라도 미달이면 3장의 buildtools를 적용합니다.
  3. 필수 패키지 설치: 자기 배포판에 맞는 절(2.3 Ubuntu/Debian, 2.4 Fedora·openSUSE·AlmaLinux)의 명령 실행 — 이미 설치된 패키지는 자동으로 건너뛰니 전체 목록 그대로 실행해도 안전해요.
  4. 로케일 확인: locale --all-locales | grep en_US.utf8 — 한 줄이라도 출력되면 통과. 아무것도 안 나오면 sudo dpkg-reconfigure localesen_US.UTF-8을 활성화합니다.
  5. poky 클론: git clone https://git.yoctoproject.org/poky; cd poky; git checkout -t origin/scarthgap -b my-scarthgap — 완료 후 git branch로 현재 브랜치가 my-scarthgap인지, ls로 4.2절의 디렉터리들(bitbake, meta, meta-poky, oe-init-build-env 등)이 보이는지 확인하세요.
✍️ 내 실행 결과 — 
1. 여유 디스크와 메모리 확인

2. 도구 버전 확인


3. 필수 패키지 설치


4. 로케일 확인


5. poky 클론

 마무리

이번 회차에서는 빌드 호스트의 하드웨어 요구사항(디스크 90GB·RAM 8GB 이상, 여유 있게), 지원 배포판과 필수 패키지 설치, 도구 버전 미달 시의 buildtools, 그리고 poky 클론과 릴리스 브랜치 체크아웃까지 — 첫 빌드 직전까지의 준비를 마쳤어요. 요구사항 확인을 대충 넘기지 않는 것이 이후 몇 시간짜리 빌드 실패를 예방하는 가장 싼 보험입니다.

체크리스트로 요약하면 이래요. ① 지원 배포판(권장: Ubuntu LTS) 위에서 ② 디스크·RAM 여유 확인, ③ 배포판별 필수 패키지 설치와 en_US.utf8 로케일 활성화, ④ Git·tar·Python·GCC·make 버전 점검(미달 시 buildtools), ⑤ poky를 clone하고 릴리스 브랜치(scarthgap) 체크아웃. 여기까지 끝났다면 여러분의 머신은 이미 Yocto 빌드 호스트입니다.

다음 5회차에서는 드디어 source oe-init-build-env로 빌드 환경을 만들고, bitbake core-image-minimal로 첫 이미지를 빌드해 QEMU로 부팅까지 해볼 거예요. 6.0에서 도입된 bitbake-setup 방식도 함께 소개합니다.

 참고 링크

반응형