반응형

임베디드 리눅스 4

yocto 사용자 레이어 생성과 레시피 커스터마이즈에 대해 알아볼까요?

새로운 레이어 추가새로운 레이어를 생성하기 전에 항상 오픈임베디드 메타데이터 인덱스에 이미 이용가능한 비슷한 레이어가 있는지 확인하는 것이 좋다. 필요한 레이어를 찾을 수없으면 다음 단계로 폴더를 생성한다. $: ./poky/scripts/yocto-layer create newlayer 기본값을 사용하거나 사용자가 지정한 값을 사용할 수도 있다. 생성된 레이어의 예는 다음 그림과 같다. 사용자 레이어를 작업하기 위해 다른 레이어를 추가해야 할 필요가 있을 때 사용하는 중요한 변수는 다음과 같다. layerversion, layerdepends 의존성이 만족되지 않거나, 버전 정보가 맞지 않으면 에러가 나타난다. 레이어에서 메타데이터 추가레이어를 사용하는 논리적인 이유는 비트베이크 데이터베이스에 메타데이..

SW/Yocto 2018.12.20

yocto GPL 규정 준수와 커스텀 임베디드 리눅스 부팅에 대해 알아볼까요?

카피레프트카피레프트는 권리를 최대한 활용하고 자유롭게 표현하기 위해 저작권을 사용하는 합법적 방법이다. 오픈소스와 무료 소프트웨어 라이선스를 다루는 것은 기업에 큰 영향을 미치기 때문에 매우 중요하다. 리눅스 배포판을 빌드할 때, 최소한 두가지 프로젝트가 사용된다. 요즘 가장 흔히 사용되는 컴파일러는 gcc다. 리눅스 커널은 GPLv2 라이선스로 릴리스 되고, GCC는 프로젝트에 사용되는 것에 의존적이며 GPLv2, GPLv2.1, GPLv3 라이선스를 가지고 릴리스 되었다. 카피레프트 규약과 상용화 코드의 비교상용화 코드와 카피레프트 코드가 같은 프로젝트에 동시에 존재할 수 있다는 것을 아는 것이 중요하다. 일부가 라이선스 호환 문제를 가지고 있기 떄문에, 코드와 함께 링크하는 라이브러리들을 주의 깊게..

SW/Yocto 2018.12.14

yocto 프로젝트 디버깅과 외부 레이어에 대해 알아볼까요?

메타데이터와 애플리케이션 디버깅메타데이터 디버깅은 비트베이크의 작업이 목표에 맞도록 보장을하고, 문제를 일으킨 부분에 대해 식별하기 위해 필요로 한다. 작업의 실행 경로를 추적하는 것에 대한 도움을 주기 위해 호스트에서 비트베이크에 의해 생성되는 여러 로그 파일을 사용한다. 반면 런타임 시 디버깅은 애플리케이션, 라이브러리 또는 커널의 정상적인 개발 주기 동안 디버깅을 하는 것과 같아 좀 더 익숙하다. 이미지, 패키지, SDK 콘텐츠 추적예상되는 콘텐츠와 이미지, 패키지, SDK를 제대로 가지고 있는지 확인하는 가장 쉬운 방법은 빌드 히스토리 메커니즘을 사용하는 것이다. 이 콘텐츠는 레시피가 변화될 때 예상되지 않은 방법들에 의해 변화가 된다. 모든 패키지, 이미지, SDK들의 빌드된 데이터는 이 데이터..

SW/Yocto 2018.12.12

yocto 비트베이크 메타 데이터 나누기와 프로젝트를 이용한 개발에 대해 알아볼까요?

메타데이터 사용Configuration(.conf) : 환경설정 파일은 전역으로 영향을 미치는 파일로 classes와 레시피의 동작을 위한 정보를 제공한다.Classes(.bbclass ) : classes는 전체 시스템에서 이용할 수 있고 쉬운 유지보수와 코드 중복을 피하기 위해 레시피에 의해 상속될 수 있다.Recipes(.bb .bbappend) : 레시피와 클래스는 파이썬과 셸 스크립트 코드가 혼합되어 작성된다. 메타데이터 작업비트 베이크의 환경 변수 옵션을 사용하면 각 변수의 값을 확인할 수 있다. $: bitbake -e | grep 기본 변수 설정FOO = "bar"변수 FOO값은 bar이다. 변수 확장비트베이크는 변수참조를 지원한다. 문법은 거의 셸 스크립트와 같다.A = "aval"B =..

SW/Yocto 2018.12.11
반응형