Yocto (리눅스): 두 판 사이의 차이
잔글
→레이어, 레시피
잔글편집 요약 없음 |
잔글 (→레이어, 레시피) |
||
| 21번째 줄: | 21번째 줄: | ||
== 특징 == | == 특징 == | ||
=== 레이어, 레시피 === | === 레이어, 레시피 === | ||
각 애플리케이션은 meta-***라 불리는 레이어(Layer)에 빌드 설정 및 구성 요소 별 컴파일 설정인 레시피(recipe) 하위 폴더를 포함한다. 각 레시피에는 bb 확장자를 가진 기본 레시피와 기본 레시피를 확장하는 bbappend 확장자의 추가 레시피가 있다. 이 레이어들은 기본적으로 yocto 버전에 맞게 [[Git]] Branch가 존재하며, 브랜치가 존재하지 않는 경우 기본적으로 해당 버전의 욕토를 지원하지 않는 레시피라고 보면 된다. | 각 애플리케이션은 meta-***라 불리는 레이어(Layer)에 빌드 설정 및 구성 요소 별 컴파일 설정인 레시피(recipe) 하위 폴더를 포함한다. 각 레시피에는 bb 확장자를 가진 기본 레시피와 기본 레시피를 확장하는 bbappend 확장자의 추가 레시피가 있다. 이 레이어들은 기본적으로 yocto 버전에 맞게 [[Git]] Branch가 존재하며, 브랜치가 존재하지 않는 경우 기본적으로 해당 버전의 욕토를 지원하지 않는 레시피라고 보면 된다. 레이어를 가져왔으면 전역 bblayer.conf 파일에 추가 후 bitbake 명령어로 빌드하면 된다. | ||
또 안에 있는 소프트웨어의 버전이 욕토 버전에 따라 다른 경우도 있다. 대표적으로 리눅스 커널의 경우 dunfell은 4.19 버전, Kirkstone은 5.10과 5.15 버전을 지원한다. | 또 안에 있는 소프트웨어의 버전이 욕토 버전에 따라 다른 경우도 있다. 대표적으로 리눅스 커널의 경우 dunfell은 4.19 버전, Kirkstone은 5.10과 5.15 버전을 지원한다. | ||
| 28번째 줄: | 28번째 줄: | ||
그래서 빌드 자동화 및 배포판 관리에서 이점이 확실하기 때문에, 어느 정도 규모 있는 기업에서도 내부/외부 양 측면에서 모두 사용하는 모양. 당장 밑의 예시에 있는 webOS의 사례만 봐도 Python 스크립트로 오픈임베디드를 비롯한 프로젝트 레이어의 Git 브랜치들을 다수 받아온다. | 그래서 빌드 자동화 및 배포판 관리에서 이점이 확실하기 때문에, 어느 정도 규모 있는 기업에서도 내부/외부 양 측면에서 모두 사용하는 모양. 당장 밑의 예시에 있는 webOS의 사례만 봐도 Python 스크립트로 오픈임베디드를 비롯한 프로젝트 레이어의 Git 브랜치들을 다수 받아온다. | ||
배포판과 타깃 하드웨어에 따라 각각 레이어의 설정 폴더(meta-***/conf 폴더) 내에 distro 및 machine 하위 폴더를 만들어 설정을 분리할 수 있으며, 이것이 yocto 프로젝트의 진수(眞髓)다. | |||
=== 파이썬과 쉘 스크립트 지원 === | === 파이썬과 쉘 스크립트 지원 === | ||
쉘 스크립트와 전용 명령어를 섞은 태스크 함수를 정의하여 빌드 과정을 설정할 수 있으나, 여기에 더해 [[파이썬]]으로도 빌드 스크립트를 짠 뒤 호출할 수 있다. | 쉘 스크립트와 전용 명령어를 섞은 태스크 함수를 정의하여 빌드 과정을 설정할 수 있으나, 여기에 더해 [[파이썬]]으로도 빌드 스크립트를 짠 뒤 호출할 수 있다. | ||