Skip to main content

Dowiedz się, jak zbudować gotowy do produkcji Linux system dla Raspberry Pi Compute Module 5 (CM5)

Z niestandardowymi obrazami, aktualizacjami A/B i automatycznym udostępnianiem.

Dowiedz się, jak zbudować gotowy do produkcji Linux system dla Raspberry Pi Compute Module 5 (CM5) - z niestandardowymi obrazami, aktualizacjami A/B i automatycznym udostępnianiem.

System Raspberry Pi Compute Module 5 zapewnia wysoką wydajność wbudowaną - PCIe, NVMe, LPDDR4X i solidne podstawy BSP. Jednak przejście z płyty rozwojowej do łatwego w utrzymaniu środowiska produkcyjnego Linux wprowadza nowe wyzwania: dostosowywanie obrazu, udostępnianie i niezawodne aktualizacje over-the-air (OTA).

Moduł obliczeniowy 5 IO Board

W tej serii zbadamy, jak stworzyć odchudzony, powtarzalny system Linux system dla CM5 bez użycia Yocto. Zamiast budować całą dystrybucję od zera, użyjemy praktycznych narzędzi i przepływów pracy - pokazując, jak rpi-image-gen może generować niestandardowe obrazy, jak układy A/B rootfs umożliwiają bezpieczne aktualizacje, jak rpi-sb-provisioner automatyzuje konfigurację urządzenia i jak SWUpdate zarządza dostarczaniem oprogramowania układowego w terenie.

Każdy artykuł zawiera techniczny przegląd najważniejszych komponentów - nie jest to gotowy produkt, ale mapa ekosystemu. Dowiedzą się Państwo, gdzie pasuje każde narzędzie, jakie problemy rozwiązuje i jak połączyć je w elastyczny potok kompilacji i aktualizacji dla własnych projektów opartych na CM5.

Pod koniec tej serii zrozumieją Państwo, jak ewoluować od stockowego obrazu Raspberry Pi OS do kontrolowanej, możliwej do aktualizacji platformy wbudowanej - bez złożoności Yocto lub Buildroot.

Wprowadzenie - od standardowego systemu operacyjnego do platformy produkcyjnej

Proszę dowiedzieć się, dlaczego Yocto nie zawsze jest najlepszym wyborem, zwłaszcza dla małych zespołów lub szybko zmieniających się cykli produktowych. Przedstawimy Państwu praktyczne, modułowe podejście zbudowane na znanym fundamencie Raspberry Pi OS fundamencie.

Kluczowe punkty:

  • Dlaczego "gotowość produkcyjna" oznacza coś więcej niż tylko uruchomienie systemu
  • Wyzwania związane z używaniem Yocto dla produktów opartych na Pi
  • Przegląd alternatywnego stosu: Raspberry Pi OS, rpi-image-gen, dual-rootfs (A/B), provisioning i SWUpdate
  • Cel końcowy: powtarzalny i łatwy w utrzymaniu potok systemowy

Proszę zobaczyć: Od standardowego systemu operacyjnego do platformy produkcyjnej

Generowanie obrazu - dostosowywanie Raspberry Pi OS z rpi-image-gen

Proszę dowiedzieć się, jak tworzyć odtwarzalne obrazy systemu bez polegania na pełnym lub Yocto lub Buildroot konfiguracji. Ten post przedstawia rpi-image-genminimalny, skryptowalny kreator obrazów do dostosowania Raspberry Pi OS do Państwa potrzeb sprzętowych i aplikacji.

Kluczowe punkty:

  • Anatomia obrazu Raspberry Pi (boot, rootfs, konfiguracja)
  • Używanie rpi-image-gen do składania i dostosowywania obrazów
  • Dodawanie niestandardowych plików, usług i modułów jądra
  • Automatyzacja kompilacji dla środowisk CI/CD

Proszę zobaczyć: Customizing Raspberry Pi OS with rpi-image-gen

Wytrzymałość systemu - projektowanie układu głównego systemu plików A/B

Partycjonowanie A/B jest podstawą bezpiecznych aktualizacji i wycofywania systemu. W tym artykule wyjaśniono, jak skonfigurować i zarządzać dwiema partycjami głównymi, przełączać się między nimi podczas rozruchu i przygotować się na niezawodne mechanizmy OTA.

Kluczowe punkty:

  • Schemat partycji dla A/B rootfs na CM5
  • Konfiguracja bootloadera i wiersza poleceń jądra
  • Zarządzanie aktywnymi/nieaktywnymi slotami i śledzenie stanu
  • Integracja logiki aktualizacji z systemd i SWUpdate

Proszę zobaczyć: Wytrzymałość systemu - projektowanie układu głównego systemu plików A/B

Provisioning - Automatyzacja pierwszego uruchomienia za pomocą rpi-sb-provisioner

Provisioning to miejsce, w którym oprogramowanie spotyka się ze sprzętem. Zapoznamy się z rpi-sb-provisioner jako lekkie narzędzie do inicjalizacji nowych urządzeń, wstrzykiwania konfiguracji i bezpiecznego rejestrowania ich w usługach zaplecza.

Kluczowe punkty:

  • Rola provisioningu w systemach wbudowanych
  • Używanie rpi-sb-provisioner do konfigurowania tożsamości i parametrów urządzeń
  • Przykładowe skrypty automatyzacji dla pierwszego rozruchu
  • Pojęcia tożsamości urządzenia, certyfikatów i wstrzykiwania konfiguracji

Proszę zobaczyć: Provisioning — Automating First Boot with rpi-sb-provisioner

OTA i Lifecycle - Aktualizacje oprogramowania za pomocą SWUpdate

Aktualizacje A/B ożywają dzięki SWUpdateto solidna platforma open-source do bezpiecznego dostarczania oprogramowania do urządzeń w terenie. Ten post pokazuje, w jaki sposób SWUpdate integruje się z obrazem i układem partycji, aby zapewnić, że aktualizacje są atomowe i możliwe do odzyskania.

Kluczowe punkty:

  • Przegląd SWUpdate architektury (programy obsługi, aktualizator, interfejs sieciowy)
  • Tworzenie i podpisywanie pakietów aktualizacji
  • Integracja z systemem A/B
  • Przykładowy przepływ aktualizacji i wycofania

Proszę zobaczyć: OTA and Lifecycle — Software Updates with SWUpdate