주요 콘텐츠로 건너뛰기

프로덕션 지원 시스템을 구축하는 방법 알아보기 Linux 시스템을 구축하는 방법을 Raspberry Pi Compute Module 5 (CM5)

사용자 지정 이미지, A/B 업데이트, 자동화된 프로비저닝이 특징입니다.

프로덕션 지원 시스템을 구축하는 방법 알아보기 Linux 시스템을 구축하는 방법을 알아보세요. Raspberry Pi Compute Module 5 (CM5) - 사용자 지정 이미지, A/B 업데이트 및 자동화된 프로비저닝을 제공합니다.

CM5는 Raspberry Pi Compute Module 5 는 PCIe, NVMe, LPDDR4X 및 견고한 BSP 기반 등 강력한 임베디드 성능을 제공합니다. 그러나 개발 보드에서 유지 관리가 가능한 프로덕션 등급으로 전환하면 Linux 환경으로 전환하면 이미지 커스터마이징, 프로비저닝, 안정적인 무선(OTA) 업데이트 등 새로운 과제가 발생합니다.

컴퓨팅 모듈 5 IO 보드

이 시리즈에서는 CM5를 사용하지 않고도 간결하고 재현 가능한 Linux CM5용 시스템을 만드는 방법을 Yocto. 전체 배포를 처음부터 구축하는 대신 실용적인 도구와 워크플로우를 사용하여 사용자 지정 이미지를 생성하는 방법과 rpi-image-gen 사용자 지정 이미지를 생성하는 방법, A/B 루트프 레이아웃으로 안전한 업데이트를 지원하는 방법, 장치 설정을 자동화하는 방법 rpi-sb-provisioner 디바이스 설정을 자동화하는 방법, 그리고 SWUpdate 현장에서 펌웨어 배포를 관리하는 방법을 보여드립니다.

각 문서는 완제품이 아닌 에코시스템의 지도를 통해 필수 구성 요소에 대한 기술적 개요를 제공합니다. 각 도구가 어디에 적합한지, 어떤 문제를 해결하는지, CM5 기반 프로젝트를 위한 유연한 빌드 및 업데이트 파이프라인으로 결합하는 방법을 배울 수 있습니다.

시리즈가 끝나면 스톡 이미지에서 제어되고 업그레이드 가능한 Raspberry Pi OS 이미지에서 제어되고 업그레이드 가능한 임베디드 플랫폼으로 발전하는 방법을 이해하게 될 것입니다. Yocto 또는 Buildroot.

소개 - 스톡 OS에서 프로덕션 플랫폼으로

왜 Yocto 가 항상 최선의 선택이 아닌 이유를 알아보세요. 특히 소규모 팀이나 빠르게 진행되는 제품 주기의 경우 더욱 그렇습니다. 익숙한 기반 위에 구축된 실용적인 모듈식 접근 방식을 소개합니다. Raspberry Pi OS 기반 위에 구축된 실용적인 모듈식 접근 방식을 소개합니다.

요점

  • '프로덕션 준비'가 단순한 부팅 이상의 의미인 이유
  • 파이 기반 제품에 Yocto 사용의 어려움
  • 대체 스택 개요 Raspberry Pi OS, rpi-image-gen, 듀얼 루트프(A/B), 프로비저닝, 그리고 SWUpdate
  • 최종 목표: 재현 가능하고 유지보수가 가능한 시스템 파이프라인

참조: 스톡 OS에서 프로덕션 플랫폼으로

이미지 생성 - 사용자 지정 Raspberry Pi OS 와 rpi-image-gen

전체 시스템 이미지에 의존하지 않고 재현 가능한 시스템 이미지를 구축하는 방법을 알아보세요. Yocto 또는 Buildroot 설정에 의존하지 않고 재현 가능한 시스템 이미지를 구축하는 방법을 알아보세요. 이 게시물에서는 rpi-image-gen최소한의 스크립트 작성 가능한 이미지 빌더인 Raspberry Pi OS 를 소개합니다.

핵심 사항

  • 이미지의 해부학 Raspberry Pi 이미지(부팅, rootfs, 구성)
  • 사용 rpi-image-gen 를 사용하여 이미지 조립 및 사용자 정의하기
  • 사용자 정의 파일, 서비스 및 커널 모듈 추가하기
  • CI/CD 환경을 위한 빌드 자동화하기

참조: Customizing Raspberry Pi OS with rpi-image-gen

시스템 견고성 - A/B 루트 파일 시스템 레이아웃 설계하기

A/B 파티셔닝은 안전한 시스템 업데이트 및 롤백의 근간입니다. 이 문서에서는 두 개의 루트 파티션을 구성 및 관리하고, 부팅 시 파티션 간에 전환하며, 안정적인 OTA 메커니즘에 대비하는 방법을 설명합니다.

요점

  • CM5의 A/B 루트프에 대한 파티션 구성 방식
  • 부트로더 및 커널 명령줄 구성
  • 활성/비활성 슬롯 관리 및 상태 추적
  • 업데이트 로직과 시스템드 및 SWUpdate

참조: 시스템 견고성 - A/B 루트 파일시스템 레이아웃 설계하기

프로비저닝 - 다음을 사용하여 첫 부팅 자동화 rpi-sb-provisioner

프로비저닝은 소프트웨어와 하드웨어가 만나는 곳입니다. 새 디바이스를 초기화하고 구성을 주입하며 백엔드 서비스를 안전하게 등록하는 rpi-sb-provisioner 를 새 디바이스를 초기화하고, 구성을 주입하고, 백엔드 서비스에 안전하게 등록하기 위한 경량 도구로 사용하세요.

요점

  • 임베디드 시스템에서 프로비저닝의 역할
  • 사용 rpi-sb-provisioner 를 사용하여 디바이스 ID 및 매개변수 설정
  • 첫 부팅을 위한 자동화 스크립트 예시
  • 디바이스 ID, 인증서 및 구성 주입의 개념

참조: Provisioning — Automating First Boot with rpi-sb-provisioner

OTA 및 수명 주기 - 다음을 통한 소프트웨어 업데이트 SWUpdate

A/B 업데이트는 SWUpdate는 현장의 디바이스에 소프트웨어를 안전하게 제공하기 위한 강력한 오픈 소스 프레임워크입니다. 이 게시물은 어떻게 SWUpdate 를 이미지 및 파티션 레이아웃과 통합하여 업데이트가 원자적이고 복구 가능하도록 하는 방법을 보여 줍니다.

요점

  • 개요 SWUpdate 아키텍처(핸들러, 업데이터, 웹 인터페이스)
  • 업데이트 번들 만들기 및 서명하기
  • A/B 시스템과 통합하기
  • 업데이트 및 롤백 흐름 예시

참조: OTA and Lifecycle — Software Updates with SWUpdate