Bakit lumampas sa Raspberry Pi OS?
Ang Raspberry Pi Compute Module 5 (CM5) ay naghahatid ng malubhang naka-embed na pagganap - PCIe, NVMe storage, at LPDDR4X RAM. Ngunit kung plano mong magpadala ng isang tunay na produkto, ang simpleng pag-boot ng Raspberry Pi OS mula sa isang SD card ay hindi sapat.
Kakailanganin mo ang isang kinokontrol na proseso ng pagbuo ng imahe, reproducible configuration, at isang maaasahang mekanismo ng pag-update.
Ayon sa kaugalian, ang mga proyekto tulad ng Yocto o Buildroot ay ginagamit para sa layuning ito - ngunit may matarik na mga kurba sa pag-aaral at mahabang oras ng pagbuo.
Para sa mga maliliit na koponan, startup, o pasadyang pang-industriya na mga produkto, maaari Yocto pakiramdam tulad ng overkill. Kaya paano kung maaari kang manatiling malapit sa Raspberry Pi OS, ngunit nakakakuha pa rin ng automation, pagiging maaasahan, at madaling pag-update?
Ginalugad ng seryeng ito ang magaan na alternatibo - gamit ang rpi-image-gen, A / B partitions, rpi-sb-provisioner, at SWUpdate upang bumuo ng isang modular, pipeline na handa na sa produksyon.
Bakit laktawan ang Yocto?
Ang pinakamalaking kalakasan ng Yoctoay ang pagiging kumplikado nito. Binubuo nito ang lahat mula sa pinagmulan - kernel, bootloader, toolchain, at userspace - na nagbibigay ng buong kontrol ngunit mabagal din ang pag-ulit at matigas na pag-debug.
Kapag ang iyong base system ay suportado nang maayos, tulad ng Raspberry Pi OS, ang muling pagtatayo ng lahat ay maaaring hindi kinakailangan at nakakaubos ng oras.
Sa halip, maaari mong:
- Muling gamitin ang Raspberry Pi bootloader at kernel
- Bumuo ng mga reproducible na imahe na may automation ng pagsasaayos
- Gumamit ng mga napatunayan na tool para sa pagbibigay at pag-update
Ang diskarte na ito ay naghahatid ng 80% ng mga benepisyo ng produksyon na may 20% lamang ng pagsisikap.
Pangkalahatang-ideya ng stack
Sa seryeng ito, galugarin namin ang isang praktikal na toolkit para sa pagbuo ng isang sistema ng Linux na handa na sa produksyon nang walang overhead ng Yocto:
- rpi-image-gen- awtomatikong pagbuo ng imahe ng Raspberry Pi OS
- A / B rootfs - dual-partition para sa ligtas na pag-upgrade ng system
- rpi-sb-provisioner - awtomatikong onboarding ng aparato
- SWUpdate - Pamamahala ng firmware ng OTA
Sa pamamagitan ng pagsasama ng mga tool na ito, maaari kang magdisenyo ng isang reproducible, maintainable, at na-upgrade na naka-embed na sistema ng Linux - habang nananatiling malapit sa opisyal na ecosystem ng Raspberry Pi .
Mga artikulo sa seryeng ito
- Pagbuo ng isang Linux na handa na sa produksyon para sa Raspberry Pi Compute Module 5
- Mula sa Stock OS hanggang sa Platform ng Produksyon
- Pagpapasadya ng Raspberry Pi OS na may rpi-image-gen
- System Robustness - Pagdidisenyo ng isang A / B Root Filesystem Layout
- Provisioning — Pag-automate ng Unang Boot na may rpi-sb-provisioner
- OTA at Lifecycle - Mga Update ng Software na may SWUpdate
Mga Pinagmulan
- rpi-image-gen: https://github.com/raspberrypi/rpi-image-gen
- rpi-sb-provisioner: https://github.com/raspberrypi/rpi-sb-provisioner
- SWUpdate: https://github.com/sbabic/swupdate
- swugenerator: https://github.com/sbabic/swugenerator