본문 바로가기

Build

(36)
05. Recipe BitBake는 python과 shell script로 만들어진 task scheduler로써, build하고자 하는 source를 download하고, build한 후, 최종 install하기 까지의 전 과정을 담당한다. 한편 Recipe는 bitbake가 실제 build 절차를 수행하기 위해 참조하는 metadata를 일컫는다. 굳이 비유를 하자면, bitbake는 요리사쯤 되겠고, recipe는 글자 그대로 요리에 사용하는 레시피가 되겠다. Metadata 일차적으로 BitBake는 recipe를 포함하여 아래와 같은 내용의 metadata를 처리하게 된다. recipes 확장자가 bb 나 bbappend 로 끝남. bb 의 경우 source code build 관련 모든 정보를 담고 있음. bba..
04. Layer 추가 Poky 를 통해 기초 linux system 을 만들어 보았으니, 이제는 자신의 target board 에 맞는 실제 linux system을 만들기 위해 필요한 절차인, Layer 추가방법에 대해 고민해 보도록 하자. Layer 의 구성 Layer 는 보통 "meta-" string 으로 시작하는데, 먼저 Yocto Project 의핵심 layer 몇 가지 를 살펴보면 다음과 같다. meta : OpenEmbedded core를위한 meta data meta-yocto : poky를포함한 Yocto Project를위한 meta data mata-yocto-bsp : Yocto Project가지원하는 reference machine에대한 BSP를포함하는 meta data Layer 는 크게 아래와 같이..
03. 빌드 설정 YoctoProject 환경 구성 파일 빌드가 끝나고 나면 build/conf 디렉토리 아래에 몇 가지 파일이 자동으로 생성된다. local.conf 프로젝트 설정 변수를 설정 build하려는 device 관련 spec을정의하고, build 환경을 담고 있음 이 내용을 자신의 device에 맞게 수정해야 함 templateconf.cfg 여러 conf file 이 위치한 디렉토리를 정의하고 있음 default는 meta-yocto/conf bblayers.conf 프로젝트에 필요한 메타데이터 레이어를 열거 layer 관련 디렉토리 목록을 정의하고 있음 자신의 device에 맞게 수정해야 함 재빌드 conf 와 downloads 를 제외하고 나머지 폴더를 지우면 된다. Download 위 폴더의 downl..
02. 빌드 Yocto Project의 대략적인 작업순서 0) Poky reference system 을 준비(download & 환경설정) 한다. 1) 자신의 target board에맞는 BSP layer를 하나 만든다. 혹은 기존에 존재하는 내용이 있다면 이를 이용(혹은개선)한다. 2) (필요하다고 판단이 될 경우) 기존에 다른 사람들이 만들어둔 여러 layer(meta-XXXX) 를 찾아 download 한다. 3) 자신의 target board에맞는 general layer를 만든다. (역시 필요할 경우) => conf file & meta data 를 적절히 준비(수정)해 둔다. => 추가로 필요한 recipe를 만들어 둔다. 4) bitbake - fetch Recipe 파일을 토대로 build에 필요한 ..
01. 구성 Yocto Project 의 구성 OpenEmbedded-Core OpenEmbedded project와 공유되는 core meta data, base layer 묶음. OpenEmbedded project는http://openembedded.org를 home page 로하는 별도의 build system으로, 이것만 가지고도 linux 배포 판을 만들 수 있을 정도로 매우 강력함. Poky Yocto project의 reference system으로, 다양한 tool과 meta data 로 이루어짐. 여기에 자신만의 target board 에 대한 내용 을 추가해 줌으로써 최종적으로 원하는 linux system을 만들어 낼 수 있음 포키 프로젝트가 안정된 비트베이크를 포함하고 있음 L Meta dat..
11. Using Dependency Search Eclipse 에서 Maven Dependency 가 검색이 되지 않는 경우 C:\Users\dukim\.m2\repository 디렉토리에 기존에 저장된 데이터를 지우고 Windows -> Preperence -> Maven 에서 아래와 같이 설정하고 그리고 Windows -> Show View -> Maven Repository 를 선택하고 컨텍스트 메뉴를 열어 Full Index enabled 를 클릭하고 해당 Update Index 나 Rebuild Index 를 클릭하면 되었다.
10. Using WARs Maven 을 사용하는 WebApp 스켈렉톤 프로젝트는 간단히 아래 명령으로 생성할 수 있다. mvn \ archetype:generate \ -DgroupId=com.dkim.test \ -DartifactId=test-app \ -DarchetypeArtifactId=maven-archetype-webapp \ -DinteractiveMode=false
09. pom aggregation&inheritance Maven 자체가 여러 다른 모듈들을 다운받아 사용하는 것처럼 사용자가 직접 자신의 모듈을 만들어 Depenency 관계를 설정하여 사용할 수 있다. 즉 Maven 의 Module 기능을 사용해서 프로젝트를 여러개로 나누어 사용하는 간단한 샘플을 만들어 보자. https://riptutorial.com/maven/example/7583/pom-aggregation https://riptutorial.com/maven/example/7582/pom-inheritance student-app 프로젝트 만들기 일단 student-app 이라는 Java App 을 만들고 Maven Project 로 Convert 해보자. 중요한 것은 Packaging 을 pom 으로 만들어야 하는 것이다. 이렇게 변경된 Mav..