Klargøring af Raspberry Pi Compute Module
Klargøring af Raspberry Pi Compute Module (version 3 og 4)
Raspberry Pi Ltd
2022-07-19: githash: 94a2802-clean
Kolofon
© 2020-2022 Raspberry Pi Ltd (tidligere Raspberry Pi (Trading) Ltd.)
Denne dokumentation er licenseret under en Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND). build-dato: 2022-07-19 build-version: githash: 94a2802-clean
Juridisk ansvarsfraskrivelse
TEKNISKE DATA OG PÅLIDELIGHED FOR RASPBERRY PI-PRODUKTER (INKLUSIVE DATABLAD) SOM ÆNDRET FRA TID TIL ANDEN (“RESOURCER”) LEVERES AF RASPBERRY PI LTD (“RPL”) “SOM DE ER” OG EVENTUELLE UDTRYKKELIGE ELLER UNDERFORSTÅET, UNDERFORSTÅET, UNDERFORSTÅET TIL ER DE UNDERFORSTÅEDE GARANTIER FOR SALGBARHED OG EGNETHED TIL ET BESTEMT FORMÅL FRASKRIFTLIG. I DET MAKSIMALTE OMFANG, DER ER TILLADET AF GÆLDENDE LOV, KAN RPL UNDER INGEN OMSTÆNDIGHEDER VÆRE ANSVARLIG FOR NOGEN DIREKTE, INDIREKTE, TILFÆLDELIGE, SÆRLIGE, EKSEMPEL- ELLER FØLGESKADER (INKLUSIVE, MEN IKKE BEGRÆNSET TIL, UDBYGNINGER, UDBYGNINGER, UDBYGNINGER, DATA ELLER FORTJENESTE ELLER VIRKSOMHEDSAFBRYDELSE) HVORDAN FORÅRSAGET OG PÅ ENHVER ANSVARSTEORI, HVIS I KONTRAKTER, STRIKT ANSVAR, ELLER ORGANISATION (HERunder Uagtsomhed ELLER ANDEN MÅDE), SOM ER OPSTÅET PÅ ENHVER MÅDE UD AF DET ANVENDELSE, AF SÅDAN SKADE.
RPL forbeholder sig retten til at foretage eventuelle forbedringer, forbedringer, rettelser eller andre ændringer af RESSOURCERNE eller produkter beskrevet i dem til enhver tid og uden yderligere varsel. RESSOURCERNE er beregnet til dygtige brugere med passende niveauer af designviden. Brugerne er eneansvarlige for deres valg og brug af RESSOURCERNE og enhver anvendelse af produkterne beskrevet i dem. Brugeren indvilliger i at holde RPL skadesløs over for alle forpligtelser, omkostninger, skader eller andre tab, der opstår som følge af deres brug af RESSOURCERNE. RPL giver brugere tilladelse til at bruge RESOURCERNE udelukkende i forbindelse med Raspberry Pi-produkterne. Al anden brug af RESSOURCERNE er forbudt. Der gives ingen licens til nogen anden RPL eller anden intellektuel ejendomsret fra tredjepart. AKTIVITETER MED HØJ RISIKO. Raspberry Pi-produkter er ikke designet, fremstillet eller beregnet til brug i farlige miljøer, der kræver fejlsikker ydeevne, såsom i driften af nukleare anlæg, flynavigations- eller kommunikationssystemer, lufttrafikkontrol, våbensystemer eller sikkerhedskritiske applikationer (inklusive livsstøtte). systemer og andet medicinsk udstyr), hvor svigt af produkterne kan føre direkte til død, personskade eller alvorlig fysisk eller miljømæssig skade ("Højrisikoaktiviteter"). RPL fraskriver sig specifikt enhver udtrykkelig eller underforstået garanti for egnethed til højrisikoaktiviteter og påtager sig intet ansvar for brug eller inklusion af Raspberry Pi-produkter i højrisikoaktiviteter. Raspberry Pi-produkter leveres underlagt RPLs standardvilkår. RPL's levering af RESSOURCERNE udvider eller på anden måde ændrer ikke RPL's standardvilkår, herunder men ikke begrænset til de ansvarsfraskrivelser og garantier, der er udtrykt i dem.
Dokumentversionshistorik Docuens omfangment
Dette dokument gælder for følgende Raspberry Pi-produkter:
Indledning
CM Provisioner er en web applikation designet til at gøre programmering af et stort antal Raspberry Pi Compute Module (CM) enheder meget nemmere og hurtigere. Det er nemt at installere og nemt at bruge. Det giver en grænseflade til en database med kernebilleder, der kan uploades, sammen med muligheden for at bruge scripts til at tilpasse forskellige dele af installationen under flashprocessen. Etiketudskrivning og firmwareopdatering understøttes også. Dette whitepaper antager, at Provisioner-serveren, softwareversion 1.5 eller nyere, kører på en Raspberry Pi.
Hvordan det hele fungerer
CM4
Provisioner-systemet skal installeres på sit eget kablede netværk; Raspberry Pi, der kører serveren, er tilsluttet en switch sammen med så mange CM4-enheder, som switchen kan understøtte. Enhver CM4 tilsluttet dette netværk vil blive registreret af klargøringssystemet og automatisk blinket med brugerens nødvendige firmware. Årsagen til at have sit eget kablede netværk bliver tydeligt, når man tænker på, at enhver CM4, der er tilsluttet netværket, vil blive klargjort, så det er vigtigt at holde netværket adskilt fra ethvert live netværk for at forhindre utilsigtet omprogrammering af enheder.
BILLEDÆNDRINGER CM 4 IO-kort med CM 4 -> CM4 IO-kort med CM4
Ved at bruge en Raspberry Pi som server er det muligt at bruge kablet netværk til Provisioneren, men stadig tillade adgang til eksterne netværk ved hjælp af trådløs forbindelse. Dette tillader nem download af billeder til serveren, klar til klargøringsprocessen, og gør det muligt for Raspberry Pi at betjene Provisioneren web interface. Flere billeder kan downloades; Provisioneren opbevarer en database med billeder og gør det nemt at vælge det passende billede til opsætning af forskellige enheder.
Når en CM4 er knyttet til netværket og tændes, vil den forsøge at starte, og når andre muligheder er blevet prøvet, forsøges netværksstart. På dette tidspunkt reagerer Provisioner Dynamic Host Configuration Protocol (DHCP)-systemet på den opstartende CM4 og giver den et minimalt opstartsbillede, der downloades til CM4'en og derefter køres som root. Dette billede kan programmere det indlejrede Multi-Media Card (eMMC) og køre alle nødvendige scripts, som instrueret af Provisioneren.
Flere detaljer
CM4-moduler leveres med en boot-konfiguration, der vil prøve at starte fra eMMC først; hvis det mislykkes, fordi eMMC'en er tom, udfører den en PXE-netværksstart (preboot execution environment). Så med CM4-moduler, der endnu ikke er klargjort, og som har en tom eMMC, udføres en netværksstart som standard. Under en netværksstart på et klargøringsnetværk vil et letvægts-operativsystem-image (OS) (faktisk en Linux-kerne og en scriptexecute initramfs) blive serveret af klargøringsserveren til CM4-modulet over netværket, og dette billede håndterer klargøringen.
CM 3 og CM 4s
CM-enhederne baseret på SODIMM-stikket kan ikke netværksstarte, så programmering udføres via USB. Hver enhed skal være forbundet til Provisioneren. Hvis du skal tilslutte mere end 4 enheder (antallet af USB-porte på Raspberry Pi), kan en USB-hub bruges. Brug USB-A til Micro-USB-kabler af god kvalitet, tilslut fra Raspberry Pi eller hub til USB-slaveporten på hvert CMIO-kort. Alle CMIO-kort skal også have en strømforsyning, og J4 USB-slave-start-aktiveringsjumperen skal indstilles til at aktivere
VIGTIG
Tilslut IKKE Ethernet-porten på Pi 4. Den trådløse forbindelse bruges til at få adgang til administrationen web interface.
Installation
Følgende instruktioner var korrekte på udstedelsestidspunktet. Den allernyeste installationsinstruktion kan findes på Provisioner GitHub-siden.
Installation af Provisioner web applikation på en Raspberry Pi
ADVARSEL
Sørg for, at eth0 forbinder til en Ethernet-switch, der kun har CM4 IO-kort tilsluttet. Tilslut ikke eth0 til dit kontor/offentlige netværk, ellers kan det også "provisionere" andre Raspberry Pi-enheder i dit netværk. Brug den trådløse Raspberry Pi-forbindelse til at oprette forbindelse til dit lokale netværk.
Lite-versionen af Raspberry Pi OS anbefales som basis-OS, hvorpå Provisioneren skal installeres. For nemheds skyld brug rpi-imager, og aktiver menuen avancerede indstillinger (Ctrl-Shift-X) for at opsætte adgangskoden, værtsnavnet og de trådløse indstillinger. Når operativsystemet er installeret på Raspberry Pi, skal du konfigurere Ethernet-systemet:
- Konfigurer eth0 til at have en statisk Internet Protocol (IP) adresse på 172.20.0.1 inde i et /16-undernet (netmaske 255.255.0.0) ved at redigere DHCP-konfigurationen:
- sudo nano /etc/dhcpcd.conf
- Tilføj til bunden af file:
grænseflade eth0
statisk ip_adresse=172.20.0.1/16 - Genstart for at tillade ændringerne at træde i kraft.
- Sørg for, at OS-installationen er opdateret:
sudo apt opdatering
sudo apt fuld opgradering - Provisioneren leveres som en færdiglavet .deb file på Provisioner GitHub-siden. Download den seneste version fra den side eller brug wget, og installer den ved hjælp af følgende kommando:
sudo apt install ./cmprovision4_*_all.deb - Indstil web applikationens brugernavn og adgangskode:
sudo /var/lib/cmprovision/artisan auth:create-user
Du kan nu få adgang til web udbyderens grænseflade med en web browser ved hjælp af Raspberry Pi trådløse IP-adresse og brugernavnet og adgangskoden indtastet i forrige afsnit. Indtast blot IP-adressen i adresselinjen i din browser og tryk på Enter.
Brug
Når du første gang opretter forbindelse til Provisioneren web ansøgning med din web browser vil du se Dashboard-skærmen, som vil se nogenlunde sådan ud:
Denne landingsside giver blot nogle oplysninger om den seneste handling udført af udbyderen (i f.eksampovenfor, er en enkelt CM4 blevet klargjort).
Uploader billeder
Den første handling, der kræves ved opsætning, er at indlæse dit billede til serveren, hvorfra det kan bruges til at klargøre dine CM4-kort. Klik på menupunktet 'Billeder' øverst i menuen web side, og du skulle få en skærm svarende til den, der er vist nedenfor, som viser en liste over aktuelt uploadede billeder (som i første omgang vil være tom).
Vælg knappen Tilføj billede for at uploade et billede; du vil se denne skærm:
Billedet skal være tilgængeligt på den enhed, hvor web browseren kører, og i et af de angivne billedformater. Vælg billedet fra din maskine ved hjælp af standarden file dialog, og klik på 'Upload'. Dette vil nu kopiere billedet fra din maskine til Provisioner-serveren, der kører på Raspberry Pi. Dette kan tage noget tid. Når billedet er uploadet, vil du se det på siden Billeder.
Tilføjelse af et projekt
Nu skal du oprette et projekt. Du kan angive et vilkårligt antal projekter, og hver kan have et forskelligt billede, sæt scripts eller etiket. Det aktive projekt er det, der i øjeblikket bruges til klargøring.
Klik på menupunktet 'Projekter' for at åbne siden Projekter. Følgende example har allerede et projekt, kaldet 'Test projekt', sat op.
Klik nu på 'Tilføj projekt' for at oprette et nyt projekt
- Giv projektet et passende navn, og vælg derefter hvilket billede du ønsker, at dette projekt skal bruge fra rullelisten. Du kan også indstille en række andre parametre på dette stage, men ofte vil kun billedet være tilstrækkeligt.
- Hvis du bruger v1.5 eller nyere af Provisioneren, så har du mulighed for at verificere, at blinkingen er fuldført korrekt. Hvis du vælger dette, læses dataene fra CM-enheden tilbage efter at have blinket, og bekræftet, at det matcher det originale billede. Dette vil tilføje ekstra tid til klargøringen af hver enhed, mængden af tid, der tilføjes, vil afhænge af størrelsen på billedet.
- Hvis du vælger den firmware, der skal installeres (dette er valgfrit), har du også mulighed for at tilpasse den firmware med nogle specifikke konfigurationsindgange, der vil blive flettet ind i bootloaderens binære. De tilgængelige muligheder kan findes på Raspberry Pi webwebsted.
- Klik på 'Gem', når du har defineret dit nye projekt fuldt ud; du vender tilbage til siden Projekter, og det nye projekt vil blive vist. Bemærk, at kun ét projekt kan være aktivt ad gangen, og du kan vælge det fra denne liste.
Scripts
En virkelig nyttig funktion ved Provisioner er muligheden for at køre scripts på billedet, før eller efter installationen. Tre scripts er som standard installeret i Provisioner og kan vælges, når der oprettes et nyt projekt. De er opført på Scripts-siden
En eksampBrugen af scripts kan være at tilføje brugerdefinerede indgange til config.txt. Standardscriptet Tilføj dtoverlay=dwc2 til config.txt gør dette ved at bruge følgende shell-kode:
Klik på 'Tilføj script' for at tilføje dine egne tilpasninger:
Etiketter
Provideren har mulighed for at udskrive etiketter til den enhed, der klargøres. Siden Etiketter viser alle de foruddefinerede etiketter, der kan vælges under projektredigeringsprocessen. F.eksampSå ønsker du måske at udskrive DataMatrix eller Quick Response (QR)-koder for hvert kort klargjort, og denne funktion gør dette meget nemt.
Klik på 'Tilføj etiket' for at angive din egen:
Firmware
Provisioneren giver mulighed for at angive, hvilken version af bootloader-firmwaren du ønsker at installere på CM4. På Firmware-siden er der en liste over alle mulige muligheder, men den seneste er normalt den bedste.For at opdatere listen med de seneste versioner af bootloaderen skal du klikke på knappen 'Download ny firmware fra github'.
Mulige problemer
Forældet bootloader-firmware
Hvis din CM4 ikke registreres af Provisioner-systemet, når den er tilsluttet, er det muligt, at bootloader-firmwaren er forældet. Bemærk, at alle CM4-enheder, der er fremstillet siden februar 2021, har den korrekte bootloader installeret på fabrikken, så dette vil kun ske med enheder, der er fremstillet før denne dato.
Allerede programmeret eMMC
Hvis CM4-modulet allerede har boot files i eMMC'en fra et tidligere klargøringsforsøg, vil den starte fra eMMC'en, og den netværksstart, der kræves til klargøring, vil ikke forekomme.
Hvis du ønsker at reprovisionere et CM4-modul, skal du:
- Tilslut et USB-kabel mellem klargøringsserveren og mikro-USB-porten på CM4 IO-kortet (mærket 'USB-slave').
- Sæt en jumper på CM4 IO-kortet (J2, 'Fit jumper to disable eMMC boot').
Dette vil få CM4-modulet til at udføre en USB-opstart, i hvilket tilfælde klargøringsserveren overfører files af hjælpeprogrammet OS over USB.
Efter at hjælpeoperativsystemet er startet, vil det kontakte klargøringsserveren over Ethernet for at modtage yderligere instruktioner og downloade yderligere files (f.eks. OS-billedet, der skal skrives til eMMC) som normalt. Så en Ethernet-forbindelse ud over USB-kablet er stadig nødvendig.
Spanning Tree Protocol (STP) på administrerede Ethernet-switche
PXE-opstart vil ikke fungere korrekt, hvis STP er aktiveret på en administreret Ethernet-switch. Dette kan være standard på nogle switche (f.eks. Cisco), og hvis det er tilfældet, skal det deaktiveres for at klargøringsprocessen fungerer korrekt.
Raspberry Pi er et varemærke tilhørende Raspberry Pi Foundation
Raspberry Pi Ltd
Dokumenter/ressourcer
![]() |
Raspberry Pi Provision af Raspberry Pi Compute Module [pdfBrugervejledning Klargøring af Raspberry Pi Compute Module, Provisioning, Raspberry Pi Compute Module, Compute Module |