GPL 규정 준수 copyleft copyleft는 권리를 최대한 활용하고 자유롭게 표현하기 위해 저작권을 사용하는 합법적 방법이다. 리눅스 배포판을 빌드할 때 최소 두 가지 프로젝트(리눅스 커널, 컴파일러)를 사용한다. 리눅스 커널: GPLv2 GNU Compiler: gcc (GNU Compiler Collection) : 프로젝트에 사용되는 것에 의존적임 GPLv2, GPLv2.1, GPLv3 copyleft 규약과 상용화 코드의 비교 상용화 코드와 카피레프트 코드가 같은 프로젝트에 동시에 존재할 수 있다. 일부가 라이선스 호환 문제를 갖고 있기 때문에 코드와 함께 링크하는 라이브러리를 주의 깊게 봐야한다. 라이선스 규약의 가이드라인 리눅스 기반 시스템은 각기 다른 라이선스를 갖고 있는 여러 프로젝트의 집합이다. Yocto Project는 개발자들에게 대부분 카피레프트 프
about rust rust symbol control https://rustrepo.com/repo/johnthagen-min-sized-rust meta-rust-bin https://github.com/rust-embedded/meta-rust-bin 적용환경 poky meta-raspberrypi Hierarchy sample-recipe inherit cargo classes classes/cargo.bbclass
meta open-embedded/meta 레이어의 classes chrpath.bbclass VARIABLE|operand|value :---|:---|:-- CHRPATH_BIN|?=|"chrpath" PREPROCESSRELOCATEDIRS|?=|"" def|<
대부분의 tool은 sdk image 혹은 local.conf에서 tools-profile을 추가하여 제공된다. sdk image 예제 local.conf에 넣는 예제 local.conf에서 tools-profile을 추가하면, sdk 이미지가 아니여도 된다. 기본적으로, yocto는 package에서의 binary에서, symbol</s
BBMASK BBMASK: https://docs.yoctoproject.org/ref-manual/variables.html?highlight=bbmask#term-BBMASK 기능: BBMASK에 .bb, .bbappend를 추가해, 해당 레시피를 숨길 수 있다. matching되는 파일들을 무시한다. 예제: 아래의 예제는, bitbake가 meta-ti/recipes-misc/이하를 무시하게 한다. 아래의 예제 처럼 사용 가능하다. INSANE_SKIP
https://doc.qt.io/Boot2Qt-5.15/qtee-meta-qt5.htmlhttps://doc.qt.io/Boot2Qt-5.15/qtee-meta-qt5.html meta-qt(5|6) 를 설치한다. 내가 사용할 것들을 bbappend로 가져와 설치할 PACKAGECONFIG를 명시해, 설치한다. 기본적으로 meta-qt5는 아주 minimal한 feature set만 enable. QtBase 옵션을 수정해, OpenGL ES2 지원을 원한다면, qtbase_git.bbappend에 아래처럼 옵션추가 ${S}/mkspecs/oe-device-extra.pri meta-qt5 1.1. clone meta-mylayer 2.1. 여기서 `qtba
BSP - "linux4Tegra" Linux kernel (NVIDIA downsteram) Bootloaders (NVIDIA proprietary and U-Boot) Firmware Drivers and hw-specific libraries Power management Userland graphics and multimedia support libdrm-shim, GL/EGL/GLES, Vulkan loader, X.org driver, v4l2, gstreamer plugins Configuration files tools for flashing Ubuntu 18-04-based "sample" rootfilesystem JetPack - SDKs for application dev CUDA tools and libraries NVIDIA Nsight CuDNN VisionWor
https://github.com/agherzan/meta-raspberrypi.git yocto build system 추가 현재 yocto build system($BUILDDIR)/conf/bblayers.conf docs docs를 읽어볼 것: https://github.com/agherzan/meta-raspberrypi/blob/master/docs/extra-build-config.md Compressed deployed files VC4  `$ bitbake image에서 d.getVa
yocto에서 작업한 레시피에 대해, clean, cleansstate, cleanall 태스크로 작업된 레시피 결과물을 제거할 수 있다. -c clean recipe의 작업 디렉토리(${WORKDIR})에, unpack 이후에 수행했던 모든 태스크 결과물을 제거한다. -c cleansstate do_clean() + sstate 까지 제거한다. sstate가 잘못된 경우가 있는데, 컴파일 중 전원이 나가는 등의 예상치 않은 빌드 실패 시, sstate 까지 싹 지우자. -c cleanall doclean() + `do
packagegroups 패키지 그룹은 이미지에 포함될 수 있는 패키지들의 집합(set) (반드시 필수는 아님) 당연히 컴포넌트는 따로 IMAGE_INSTALL += " myhello " 와 같은 명령어로 따로 설치 할 수 있음 패키지 그룹 이름 변수: IMAGE_INSTALL 패키지 그룹 위치: 큰 레시피 디렉토리에(컴포넌트와 같은 레벨)에 packagegroups라는 서브 디렉토리에 존재 패키지 그룹 이름 변수는 IMAGE_INSTALL 이며, 패키지 그룹에 정의된 **모든 패키
컴포넌트 및 레시피 간단 작성 커스텀 컴포넌트와 커스텀 레시피 작성 prerequisite: 당연히 component, recipe는 layer 하위에 있어야함. 따라서 custom layer가 있거나 만듦 Custom layer 생성참고 Custom Layer file tree 컴포넌트 src local관리 Custom Layer file tree  do_install를 통해 build 결과물을 ${D}(Destination) 에 install한다. **`do_install
do_configure() 이전, do_fetch() 까지 ${S}에 source, patch 등을 사용해 Sources를 받아왔다. 오픈소스는 autotools나 CMake로 configure 파일을 설정 후, Makefile
IMAGE_FEATURES "package-management" PACKAGECLASSES = "packageipk"인 경우에 대해 설명함 이 기능을 넣어 Image에 적용 시키면,Rootfs에서, 이러한 기능이 작동되는 과정에서, /etc/opkg/*.conf 파일을 생성해줌 특히, 에서, 현재 Build과정 중에 ${PACKAGEFEEDURIS}, **${PACKAGE_
base task들 흐름 링크(https://velog.io/@markyang92/Yocto-recipe) 에서, 위 Flow의 bask task를 한다고 했었으나, 안하고 싶거나 넘어가고 싶은 레시피도 있다. package-index 레시피를 가지고 살펴본다. package-index.bb에 대한 내용은 package-index 링크를 보자.  SDK 생성 dopopulatesdk(), dopopulatesdk_ext()를 통해 SDK를 쉽게 구성할 수 있다. /build/tmp/deploy/sdk/*.sh로 만들어 지고, 해당 파일만 있다면 개발자는 Cross-compile 환경을 쉽게가져갈 수 있다. Networking|10/100 Ethernet, 2.4GHz 802.11n wireless Bluetooth|Bluetooth 4.1 Classic, Bluetooth Low Energy Storage|microSD GPIO|40-pin header, populated Ports| HDMI, 3.5mm analogue audio-video jack, 4× USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI) http://archive.
machine/machine_name.conf meta-yocto-bsp와 같은 bsp layer에는 conf/machine에 .conf와 같은 설정 파일이 있다. 예: meta-yocto-bsp/conf/machine/여기서 beaglebone-yocto.conf를 살펴본다. beaglebone-yocto.conf PREFERRED\PROVIDER\virtual/xserver ![](h