Opi rakentamaan tuotantovalmis Linux järjestelmä Raspberry Pi Compute Module 5 (CM5)
Opi rakentamaan tuotantovalmis Linux järjestelmä Raspberry Pi Compute Module 5 (CM5) - mukautetut kuvat, A/B-päivitykset ja automaattinen käyttöönotto.
. Raspberry Pi Compute Module 5 tarjoaa vakavan sulautetun suorituskyvyn - PCIe, NVMe, LPDDR4X ja vankka BSP-pohja. Siirtyminen kehityskortista ylläpidettävään, tuotantokäyttöön soveltuvaan Linux ympäristöön siirtyminen tuo mukanaan uusia haasteita: kuvien räätälöinti, provisiointi ja luotettavat OTA-päivitykset (over-the-air).
Tässä sarjassa tarkastelemme, miten luodaan kevyt, toistettavissa oleva, toistettava Linux järjestelmä CM5:lle ilman, että käytetään Yocto. Sen sijaan, että rakentaisimme kokonaisen jakelun tyhjästä, käytämme käytännön työkaluja ja työnkulkuja - näytämme, miten rpi-image-gen voidaan luoda mukautettuja kuvia, miten A/B rootfs-asettelut mahdollistavat turvalliset päivitykset, miten rpi-sb-provisioner automatisoi laitteen asennuksen ja miten SWUpdate hallinnoi laiteohjelmiston toimitusta kentällä.
Jokainen artikkeli tarjoaa teknisen yleiskatsauksen olennaisista komponenteista - ei valmista tuotetta, vaan kartan ekosysteemistä. Opit, mihin kukin työkalu sopii, mitä ongelmia se ratkaisee ja miten niitä voidaan yhdistää joustavaksi rakennus- ja päivitysputkeksi omissa CM5-pohjaisissa projekteissasi.
Sarjan loppuun mennessä ymmärrät, miten kehittyä varastosta Raspberry Pi OS kuvasta hallittavaksi, päivitettäväksi sulautetuksi alustaksi - ilman monimutkaisia Yocto tai Buildroot.
Johdanto - Stock OS:stä tuotantoalustaksi
Tutustu miksi Yocto ei aina ole paras valinta, erityisesti pienille tiimeille tai nopeatempoisille tuotesykleille. Esittelemme käytännöllisen, modulaarisen lähestymistavan, joka perustuu tuttuun Raspberry Pi OS perustalle.
Keskeiset kohdat:
- Miksi "tuotantovalmius" tarkoittaa muutakin kuin vain käynnistämistä.
- Käytön haasteet Yocto Pi-pohjaisissa tuotteissa
- Yleiskatsaus vaihtoehtoiseen pinoon: Raspberry Pi OS, rpi-image-gen, dual-rootfs (A/B), provisiointi ja SWUpdate
- Lopputavoite: toistettavissa ja ylläpidettävissä oleva järjestelmäputki.
Kuvien tuottaminen - Mukauttaminen Raspberry Pi OS kanssa rpi-image-gen
Opi rakentamaan toistettavissa olevia järjestelmäkuvia ilman, että luotat täydelliseen järjestelmäkuvaan. Yocto tai Buildroot asennukseen. Tämä viesti esittelee rpi-image-gen, minimaalinen, skriptattavissa oleva kuvanrakentaja, jolla voidaan räätälöidä Raspberry Pi OS laitteisto- ja sovellustarpeisiin.
Tärkeimmät kohdat:
- Anatomia Raspberry Pi image (käynnistys, rootfs, config)
- Käyttämällä rpi-image-gen kuvien kokoamiseen ja muokkaamiseen
- Mukautettujen tiedostojen, palveluiden ja ytimen moduulien lisääminen.
- Rakentamisen automatisointi CI/CD-ympäristöjä varten
Järjestelmän kestävyys - A/B-juuritiedostojärjestelmän asettelun suunnittelu
A/B-partitiointi on turvallisen järjestelmäpäivitysten ja palautusten selkäranka. Tässä artikkelissa kerrotaan, miten määritetään ja hallitaan kahta pääosiota, vaihdetaan niiden välillä käynnistyksen yhteydessä ja valmistaudutaan luotettaviin OTA-mekanismeihin.
Tärkeimmät kohdat:
- A/B-rootfs-osiointisuunnitelma CM5:ssä
- Bootloaderin ja ytimen komentorivin konfigurointi
- Aktiivisten/ei-aktiivisten paikkojen hallinta ja tilan seuranta
- Päivityslogiikan integrointi systemd:n ja SWUpdate
Katso: Järjestelmän kestävyys - A/B-juuritiedostojärjestelmän asettelun suunnittelu
Käyttöönotto - Ensimmäisen käynnistyksen automatisointi rpi-sb-provisioner
Käyttöönotossa ohjelmisto kohtaa laitteiston. Tutustumme rpi-sb-provisioner kevyenä työkaluna uusien laitteiden alustamiseen, konfiguraation syöttämiseen ja niiden turvalliseen rekisteröintiin taustapalveluihin.
Keskeiset kohdat:
- Käyttöönoton rooli sulautetuissa järjestelmissä
- Käyttämällä rpi-sb-provisioner laitteen identiteettien ja parametrien määrittämiseen
- Esimerkkejä automaatioskripteistä ensimmäistä käynnistystä varten
- Laitteen identiteetin, varmenteiden ja konfiguraatioinjektion käsitteet.
Katso: Provisioning — Automating First Boot with rpi-sb-provisioner
OTA ja Lifecycle - ohjelmistopäivitykset SWUpdate
A/B-päivitykset heräävät eloon SWUpdate, joka on vankka avoimen lähdekoodin kehys ohjelmistojen turvalliseen toimittamiseen kentällä oleviin laitteisiin. Tämä viesti osoittaa, miten SWUpdate integroituu kuvaan ja osioiden asetteluun varmistaakseen, että päivitykset ovat atomisia ja palautettavissa.
Tärkeimmät kohdat:
- Yleiskatsaus SWUpdate arkkitehtuuri (käsittelijät, päivitin, web-käyttöliittymä)
- Päivityspakettien luominen ja allekirjoittaminen
- Integrointi A/B-järjestelmään
- Esimerkki päivitys- ja palautusvirrasta
Tämän sarjan artikkelit
- Tuotantovalmiin järjestelmän rakentaminen Linux osoitteeseen Raspberry Pi Compute Module 5
- Varasto-käyttöjärjestelmästä tuotantoalustaksi
- Customizing Raspberry Pi OS with rpi-image-gen
- Järjestelmän kestävyys - A/B-juuritiedostojärjestelmän asettelun suunnittelu
- Provisioning — Automating First Boot with rpi-sb-provisioner
- OTA and Lifecycle — Software Updates with SWUpdate
Lähteet
- 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