i.MX Yocto Project User’s Guide(Rev. LF5.10.72_2.2.0 - 17 December 2021) - 6.Image Deployment
완전한 파일 시스템 이미지는 <빌드 디렉토리="">/tmp/deploy/images에 배포됩니다. 이미지는 대부분 환경 설정에서 설정한 시스템에만 해당됩니다. 각 이미지 빌드는 시스템 구성 파일에 정의된 IMAGE_FSTYPES를 기반으로 U-Boot, 커널 및 이미지 유형을 생성합니다. 대부분의 시스템 구성은 SD 카드 이미지(.wic)와 rootfs 이미지(.tar)를 제공합니다. SD 카드 이미지에는 해당 하드웨어 부팅에 적합한 파티션된 이미지(U-Boot, 커널, rootfs 등)가 포함되어 있습니다.빌드>
6.1 Flashing an SD card image
SD 카드 이미지 파일 .wic에는 해당 하드웨어 부팅에 적합한 파티션된 이미지(U-Boot, 커널, rootfs 등)가 포함되어 있습니다. SD 카드 이미지를 플래시하려면 다음 명령을 실행하십시오.
bzcat <image_name>.wic.bz2 | sudo dd of=/dev/sd<partition> bs=1M conv=fsync
플래싱에 대한 자세한 내용은 i.MX Linux® 사용자 가이드(IMXLUG)의 “부팅할 SD/MMC 카드 준비” 섹션을 참조하십시오. NXP eIQ 기계 학습 애플리케이션의 경우 추가 여유 디스크 공간이 필요합니다(약 1GB). Yocto 빌드 프로세스 전에 local.conf 파일에 IMAGE_ROOTFS_EXTRA_SPACE 변수를 추가하여 정의합니다. Yocto 프로젝트 메가 매뉴얼을 참조하십시오.
7. Customization
i.MX Linux OS에서 빌드하고 사용자 정의하는 세 가지 시나리오가 있습니다.
- i.MX Yocto 프로젝트 BSP를 구축하고 i.MX 참조 보드에서 검증합니다. 이 문서의 지침은 이 방법을 자세히 설명합니다.
- 커널 사용자 지정 및 커널 및 U-Boot로 사용자 지정 보드 및 장치 트리 생성. SDK를 빌드하고 Yocto 프로젝트 빌드 환경 외부에서만 커널 및 U-Boot를 빌드하기 위한 호스트 시스템을 설정하는 방법에 대한 자세한 내용은 i.MX 사용자 가이드(IMXLUG)의 “독립 실행형 환경에서 U-Boot 및 커널을 빌드하는 방법” 장을 참조하십시오.
- 사용자 정의 Yocto 프로젝트 계층을 생성하여 i.MX Linux 릴리스용으로 제공되는 BSP에서 패키징을 추가하거나 제거하는 배포 사용자 정의. i.MX는 Code Aurora Forum의 i.MX Git Repo에서 AGL, Genivi, IOT Gateway 및 XBMC를 사용하여 i.MX BSP 릴리스 위에 사용자 지정 계층을 표시하는 여러 데모 예제를 제공합니다. 이 문서의 나머지 섹션에서는 사용자 지정 DISTRO 및 보드 구성을 만들기 위한 지침을 제공합니다.
7.1 Creating a custom distro
사용자 지정 배포판은 사용자 지정 빌드 환경을 구성할 수 있습니다. 릴리스된 배포판 파일 fsl-imx-x11, fsl-imx-wayland, fsl-imxxwayland 및 fsl-imx-fb는 모두 특정 그래픽 백엔드에 대한 구성을 보여줍니다. 배포판을 사용하여 커널, U-Boot 및 GStreamer와 같은 다른 매개변수를 구성할 수도 있습니다. i.MX 배포판 파일은 i.MX Linux OS BSP 릴리스를 테스트하는 데 필요한 사용자 정의 빌드 환경을 생성하도록 설정됩니다. 각 고객은 자신의 배포판 파일을 만들고 이를 빌드 환경에 대한 공급자, 버전 및 사용자 지정 구성을 설정하는 데 사용하는 것이 좋습니다. 배포판은 기존 배포판 파일을 복사하거나 poky.conf와 같은 파일을 포함하고 추가 변경 사항을 추가하거나 i.MX 배포판 중 하나를 포함하고 이를 시작점으로 사용하여 생성됩니다.
7.2 Creating a custom board configuration
참조 보드를 개발하는 공급업체는 FSL 커뮤니티 BSP에 보드를 추가할 수 있습니다. FSL Community BSP에서 지원하는 새 시스템을 사용하면 커뮤니티와 소스 코드를 쉽게 공유할 수 있고 커뮤니티에서 피드백을 받을 수 있습니다. Yocto 프로젝트를 사용하면 새로운 i.MX 기반 보드용 BSP를 쉽게 만들고 공유할 수 있습니다. 업스트림 프로세스는 Linux OS 커널과 부트로더가 작동 중이고 해당 시스템에 대해 테스트될 때 시작되어야 합니다. 안정적인 Linux 커널과 부트로더(예: U-Boot)가 해당 시스템에 사용되는 기본 설정 파일로 지정되도록 하는 것이 매우 중요합니다. 또 다른 중요한 단계는 새 기계의 유지 관리자를 결정하는 것입니다. 메인테이너는 해당 보드에서 작동하는 메인 패키지 세트를 유지하는 책임을 지는 사람입니다. 머신 관리자는 커널과 부트로더를 업데이트하고 해당 머신에 대해 테스트된 사용자 공간 패키지를 유지해야 합니다. 필요한 단계는 아래에 나열되어 있습니다.
- 필요에 따라 커널 구성 파일을 사용자 지정합니다. 커널 구성 파일은 arch/arm/configs에 있으며 공급업체 커널 레시피는 커널 레시피를 통해 로드된 버전을 사용자 정의해야 합니다.
- 필요에 따라 U-Boot를 사용자 정의하십시오. 이에 대한 자세한 내용은 “i.MX BSP 포팅 가이드(IMXBSPPG)”를 참조하십시오.
- 보드의 관리자를 지정합니다. 이 유지 관리자는 파일이 필요에 따라 업데이트되도록 하므로 빌드가 항상 작동합니다.
- 아래와 같이 Yocto 프로젝트 커뮤니티 지침에 설명된 대로 Yocto 프로젝트 빌드를 설정합니다. 커뮤니티 마스터 브랜치를 사용하십시오.
- “Yocto 프로젝트 빠른 시작”에서 호스트 Linux OS 배포에 따라 필요한 호스트 패키지를 다운로드하십시오.
- 다음 명령을 사용하여 Repo를 다운로드합니다 : $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
- 모든 것을 보관할 디렉토리를 만드십시오. 모든 디렉토리 이름을 사용할 수 있습니다. 이 문서는 imx-community-bsp를 사용합니다 : $ mkdir imx-community-bsp
- 다음 명령을 실행합니다 : $ cd imx-community-bsp
- Repo의 마스터 브랜치로 Repo를 초기화합니다 : $ repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b master
- 빌드에 사용할 레시피를 가져옵니다 : $ repo sync
- 다음 명령으로 환경을 설정합니다 : $ source setup-environment build
- fsl-community-bsp/sources/meta-freescale-3rdparty/conf/machine에서 유사한 시스템 파일을 선택하고 보드를 나타내는 이름을 사용하여 복사합니다. 보드에 대한 정보로 새 보드 파일을 편집합니다. 최소한 이름과 설명을 변경하십시오. MACHINE_FEATURE를 추가합니다.
- 최신 커뮤니티 마스터 브랜치로 변경 사항을 테스트하여 모든 것이 잘 작동하는지 확인하십시오. 최소한 core-image-minimal을 사용하십시오 : $ bitbake core-image-minimal
- 패치를 준비합니다. www.openembedded.org/wiki/Styleguide에서 스타일 가이드를 따르고, 기여 섹션에서 git.yoctoproject.org/cgit/cgit.cgi/meta-freescale/tree/README를 따르십시오.
- meta-freescale-3rdparty로 업스트림. 업스트림하려면 meta-freescale@yoctoproject.org로 패치를 보내십시오.
7.3 Monitoring security vulnerabilities in your BSP
탐지된 취약점에 대한 높은 수준의 개요가 반환되며 CVE에 영향을 미치는 정보, 심각도 및 사용 가능한 수정 사항이 포함된 전체 세부 분석을 온라인에서 볼 수 있습니다. 보고서에 온라인으로 액세스하려면 다음 링크를 통해 NXP Vigiles 계정에 등록하십시오.
https://www.timesys.com/register-nxp-vigiles/
Vigiles 설정 및 실행에 대한 추가 정보는 다음에서 찾을 수 있습니다.
https://github.com/TimesysGit/meta-timesys
https://www.nxp.com/vigiles
7.3.1 Configuration
BSP 빌드의 conf/bblayers.conf에 meta-timesys를 추가합니다. 파일 형식을 따르고 meta-timesys를 추가합니다.
BBLAYERS += "${BSPDIR}/sources/meta-timesys"
conf/local.conf의 INHERIT 변수에 vigile을 추가합니다.
INHERIT += "vigiles"
7.3.2 Execution
meta-timesys가 빌드에 추가되면, Vigiles는 Linux BSP가 Yocto로 빌드될 때마다 보안 취약점 스캔을 실행합니다. 추가 명령이 필요하지 않습니다. 각 빌드가 완료된 후 취약점 스캔 정보는 imx-yocto-bsp/
- 명령줄(요약)
- 온라인(세부정보)
자세한 온라인 보고서에 대한 링크가 포함된 <이미지 이름="">-report.txt라는 파일을 열기만 하면 됩니다.이미지>