Hallon-Pi-LOGO

Tillhandahållande av Raspberry Pi Compute Module

Provisioning-the-Raspberry-Pi-Compute-Module-PRODUCT

Provisionering av Raspberry Pi Compute Module (version 3 och 4)
Raspberry Pi Ltd
2022-07-19: githash: 94a2802-clean

Kolofon
© 2020-2022 Raspberry Pi Ltd (tidigare Raspberry Pi (Trading) Ltd.)
Denna dokumentation är licensierad under en Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND). byggdatum: 2022-07-19 byggversion: githash: 94a2802-clean

Juridisk friskrivningsklausul

TEKNISK OCH PÅLITLIGHETSDATA FÖR RASPBERRY PI-PRODUKTER (INKLUSIVE DATABLAD) SOM ÄNDRADE FRÅN TID TILL TID ("RESURSER") TILLHANDAHÅLLS AV RASPBERRY PI LTD ("RPL") "I BEFINTLIGT SKICK" OCH EVENTUELLA UTTRYCKLIGA ELLER UNDERFÖRSTÅDDA, UNDERFÖRSTÅDDA, UNDERFÖRSTÅDDA TILL FRÅSES UNDERFÖRSTÅDDA GARANTIER OM SÄLJBARHET OCH LÄMPLIGHET FÖR ETT SÄRSKILT SYFTE. I DEN MAXIMALA UTSTRÄCKNING SOM TILLÅTS AV TILLÄMPLIG LAG SKALL RPL UNDER INGEN OMSTÄNDIGHET VARA ANSVARIGT FÖR NÅGON DIREKTA, INDIREKTA, OAVSIKTLIGA, SPECIELLA, EXEMPELSKADOR ELLER FÖLJDSKADOR (INKLUSIVE, MEN INTE BEGRÄNSADE TILL ANVÄNDNING AV VAROR, UPPHANDLING AV ANVÄNDARE; , DATA , Eller vinster, eller affärsavbrott) orsakade emellertid och på någon teori om ansvar, vare sig det är i kontrakt, strikt ansvar eller skadestånd (inklusive vårdslöshet eller på annat sätt) som uppstår på något sätt ut ur användningen av resurserna, även om det är råd om möjligheten AV SÅDAN SKADA.
RPL förbehåller sig rätten att göra förbättringar, förbättringar, korrigeringar eller andra modifieringar av RESURSERNA eller de produkter som beskrivs i dem när som helst och utan ytterligare meddelande. RESURSERNA är avsedda för skickliga användare med lämpliga nivåer av designkunskap. Användare är ensamt ansvariga för sitt val och användning av RESURSER och all tillämpning av de produkter som beskrivs i dem. Användaren samtycker till att hålla RPL skadeslös mot alla ansvar, kostnader, skador eller andra förluster som uppstår till följd av deras användning av RESURSERNA. RPL ger användarna tillåtelse att använda RESURSER enbart i samband med Raspberry Pi-produkterna. All annan användning av RESURSERNA är förbjuden. Ingen licens ges till någon annan RPL eller annan immateriell rättighet från tredje part. AKTIVITETER MED HÖG RISK. Raspberry Pi-produkter är inte designade, tillverkade eller avsedda för användning i farliga miljöer som kräver felsäker prestanda, till exempel vid drift av kärntekniska anläggningar, flygplansnavigering eller kommunikationssystem, flygledning, vapensystem eller säkerhetskritiska applikationer (inklusive livsuppehållande) system och annan medicinsk utrustning), där fel på produkterna direkt kan leda till dödsfall, personskada eller allvarliga fysiska eller miljömässiga skador ("Högriskaktiviteter"). RPL frånsäger sig uttryckligen alla uttryckliga eller underförstådda garantier för lämplighet för högriskaktiviteter och tar inget ansvar för användning eller inkludering av Raspberry Pi-produkter i högriskaktiviteter. Raspberry Pi-produkter tillhandahålls enligt RPL:s standardvillkor. RPL:s tillhandahållande av RESURSERNA utökar eller modifierar inte RPL:s standardvillkor inklusive men inte begränsat till friskrivningarna och garantierna uttryckta i dem.

Dokumentversionshistorik Provisioning-the-Raspberry-Pi-Compute-Module-FIG-1Docuens omfattningment
Detta dokument gäller för följande Raspberry Pi-produkter:Provisioning-the-Raspberry-Pi-Compute-Module-FIG-2

Introduktion

CM Provisioner är en web applikation utformad för att göra programmering av ett stort antal Raspberry Pi Compute Module (CM)-enheter mycket enklare och snabbare. Den är enkel att installera och enkel att använda. Det tillhandahåller ett gränssnitt till en databas med kärnbilder som kan laddas upp, tillsammans med möjligheten att använda skript för att anpassa olika delar av installationen under blinkningsprocessen. Etikettutskrift och uppdatering av firmware stöds också. Detta whitepaper förutsätter att Provisioner-servern, mjukvaruversion 1.5 eller senare, körs på en Raspberry Pi.

Hur det hela fungerar

CM4
Provisioner-systemet måste installeras på sitt eget trådbundna nätverk; Raspberry Pi som kör servern är ansluten till en switch, tillsammans med så många CM4-enheter som switchen kan stödja. Alla CM4 som är anslutna till detta nätverk kommer att upptäckas av provisioneringssystemet och blinka automatiskt med användarens nödvändiga firmware. Anledningen till att ha ett eget trådbundet nätverk blir tydligt när du tänker på att alla CM4 som är anslutna till nätverket kommer att tillhandahållas, så att hålla nätverket åtskilt från alla livenätverk är viktigt för att förhindra oavsiktlig omprogrammering av enheter.

Provisioning-the-Raspberry-Pi-Compute-Module-FIG-3BILDÄNDRINGAR CM 4 IO-kort med CM 4 -> CM4 IO-kort med CM4

Genom att använda en Raspberry Pi som server är det möjligt att använda trådbundet nätverk för Provisioner men ändå tillåta åtkomst till externa nätverk med trådlös anslutning. Detta möjliggör enkel nedladdning av bilder till servern, redo för provisioneringsprocessen, och tillåter Raspberry Pi att tjäna Provisioner web gränssnitt. Flera bilder kan laddas ner; Provisioner håller en databas med bilder och gör det enkelt att välja rätt bild för att ställa in olika enheter.
När en CM4 är ansluten till nätverket och startar kommer den att försöka starta, och när andra alternativ har prövats görs nätverksstartförsök. Vid denna tidpunkt svarar DHCP-systemet (Provisioner Dynamic Host Configuration Protocol) på den uppstartande CM4 och förser den med en minimal startbar avbildning som laddas ner till CM4 och körs sedan som root. Den här bilden kan programmera det inbäddade Multi-Media Card (eMMC) och köra alla nödvändiga skript, enligt instruktioner från Provisioner.

Mer information
CM4-moduler levereras med en startkonfiguration som kommer att försöka starta från eMMC först; om det misslyckas på grund av att eMMC är tom kommer den att utföra en PXE-nätverksstart (preboot execution environment). Så med CM4-moduler som ännu inte har tillhandahållits och har en tom eMMC, kommer en nätverksstart att utföras som standard. Under en nätverksstart på ett provisioneringsnätverk kommer en lättviktsavbildning för operativsystem (OS) (faktiskt en Linux-kärna och en scriptexecute initramfs) att betjänas av provisioneringsservern till CM4-modulen över nätverket, och denna bild hanterar provisioneringen.

CM 3 och CM 4s

CM-enheter baserade på SODIMM-kontakten kan inte nätverksstarta, så programmering sker via USB. Varje enhet måste vara ansluten till Provisioner. Om du behöver ansluta fler än 4 enheter (antalet USB-portar på Raspberry Pi) kan en USB-hubb användas. Använd USB-A till Micro-USB-kablar av god kvalitet, anslut från Raspberry Pi eller hubb till USB-slavporten på varje CMIO-kort. Alla CMIO-kort kommer också att behöva en strömförsörjning, och J4 USB-slavstartbygeln bör ställas in för att aktivera

Provisioning-the-Raspberry-Pi-Compute-Module-FIG-4VIKTIG
Anslut INTE Ethernet-porten på Pi 4. Den trådlösa anslutningen används för att komma åt hanteringen web gränssnitt.

Installation

Följande instruktioner var korrekta vid utfärdandet. De allra senaste installationsinstruktionerna finns på Provisioner GitHub-sidan.

Installera Provisioner web applikation på en Raspberry Pi
VARNING
Se till att eth0 ansluter till en Ethernet-switch som endast har CM4 IO-kort anslutna. Anslut inte eth0 till ditt kontor/offentliga nätverk, eftersom det kan "tillhandahålla" andra Raspberry Pi-enheter i ditt nätverk också. Använd den trådlösa Raspberry Pi-anslutningen för att ansluta till ditt lokala nätverk.

Lite-versionen av Raspberry Pi OS rekommenderas som basoperativsystem för att installera Provisioner. För enkelhetens skull använd rpi-imager och aktivera menyn för avancerade inställningar (Ctrl-Shift-X) för att ställa in lösenord, värdnamn och trådlösa inställningar. När operativsystemet är installerat på Raspberry Pi måste du konfigurera Ethernet-systemet:

  1. Konfigurera eth0 för att ha en statisk Internet Protocol (IP) adress 172.20.0.1 i ett /16 subnät (nätmask 255.255.0.0) genom att redigera DHCP-konfigurationen:
    • sudo nano /etc/dhcpcd.conf
    • Lägg till i botten av file:
      gränssnitt eth0
      statisk ip_adress=172.20.0.1/16
    • Starta om för att låta ändringarna träda i kraft.
  2. Se till att OS-installationen är uppdaterad:
    sudo apt uppdatering
    sudo apt full uppgradering
  3. Provisionern levereras som en färdig .deb file på Provisioner GitHub-sidan. Ladda ner den senaste versionen från den sidan eller använd wget och installera den med följande kommando:
    sudo apt install ./cmprovision4_*_all.deb
  4. Ställ in web applikationens användarnamn och lösenord:
    sudo /var/lib/cmprovision/artisan auth:create-user

Du kan nu komma åt web Providerarens gränssnitt med en web webbläsare med Raspberry Pi trådlösa IP-adress och användarnamnet och lösenordet som angavs i föregående avsnitt. Ange bara IP-adressen i adressfältet i din webbläsare och tryck på Enter.

Användande

När du först ansluter till Provisioner web ansökan med din web webbläsare kommer du att se Dashboard-skärmen, som kommer att se ut ungefär så här:Provisioning-the-Raspberry-Pi-Compute-Module-FIG-5

Den här målsidan ger helt enkelt lite information om den senaste åtgärden som utförts av leverantören (i exampovan har en enda CM4 tillhandahållits).

Ladda upp bilder

Den första åtgärden som krävs när du konfigurerar är att ladda din bild till servern, varifrån den kan användas för att tillhandahålla dina CM4-kort. Klicka på menyalternativet "Bilder" högst upp i web sida och du bör få en skärm liknande den som visas nedan, som visar en lista över för närvarande uppladdade bilder (som initialt kommer att vara tom).Provisioning-the-Raspberry-Pi-Compute-Module-FIG-6

Välj knappen Lägg till bild för att ladda upp en bild; du kommer att se denna skärm:
Provisioning-the-Raspberry-Pi-Compute-Module-FIG-7

Bilden måste vara tillgänglig på enheten där web webbläsaren körs och i ett av de angivna bildformaten. Välj bilden från din maskin med standarden file dialogrutan och klicka på "Ladda upp". Detta kommer nu att kopiera bilden från din maskin till Provisioner-servern som körs på Raspberry Pi. Detta kan ta lite tid. När bilden har laddats upp kommer du att se den på sidan Bilder.

Lägga till ett projekt

Nu måste du skapa ett projekt. Du kan ange valfritt antal projekt, och vart och ett kan ha en annan bild, uppsättning skript eller etikett. Det aktiva projektet är det som för närvarande används för provisionering.
Klicka på menyalternativet 'Projekt' för att få upp sidan Projekt. Följande example har redan ett projekt, kallat 'Testprojekt', inrättat.

Provisioning-the-Raspberry-Pi-Compute-Module-FIG-8Klicka nu på "Lägg till projekt" för att skapa ett nytt projektProvisioning-the-Raspberry-Pi-Compute-Module-FIG-9

  • Ge projektet ett lämpligt namn och välj sedan vilken bild du vill att projektet ska använda från rullgardinsmenyn. Du kan också ställa in ett antal andra parametrar på denna stage, men ofta räcker bara bilden.
  • Om du använder v1.5 eller senare av Provisioner, har du möjlighet att verifiera att blinkningen har slutförts korrekt. Om du väljer detta läser du tillbaka data från CM-enheten efter att ha blinkat och bekräftar att den matchar originalbilden. Detta kommer att lägga till extra tid för att tillhandahålla varje enhet, hur lång tid som läggs till beror på storleken på bilden.
  • Om du väljer den inbyggda programvaran som ska installeras (detta är valfritt), har du också möjlighet att anpassa den inbyggda programvaran med några specifika konfigurationsposter som kommer att slås samman med bootloader-binären. De tillgängliga alternativen finns på Raspberry Pi webplats.
  • Klicka på 'Spara' när du har helt definierat ditt nya projekt; du kommer tillbaka till sidan Projekt och det nya projektet kommer att listas. Observera att endast ett projekt kan vara aktivt åt gången, och du kan välja det från den här listan.

Manus
En riktigt användbar funktion i Provisioner är möjligheten att köra skript på bilden, före eller efter installationen. Tre skript installeras som standard i Provisioner, och kan väljas när du skapar ett nytt projekt. De är listade på Skriptsidan

Provisioning-the-Raspberry-Pi-Compute-Module-FIG-10

Ett exampAnvändningen av skript kan vara att lägga till anpassade poster till config.txt. Standardskriptet Add dtoverlay=dwc2 till config.txt gör detta med följande skalkod:Provisioning-the-Raspberry-Pi-Compute-Module-FIG-11

Klicka på "Lägg till skript" för att lägga till dina egna anpassningar:Provisioning-the-Raspberry-Pi-Compute-Module-FIG-12

Etiketter
Provisioneraren har möjlighet att skriva ut etiketter för enheten som tillhandahålls. Sidan Etiketter visar alla fördefinierade etiketter som kan väljas under projektredigeringsprocessen. Till exempelampDu kanske vill skriva ut DataMatrix eller QR-koder (Quick Response) för varje kort som tillhandahålls, och den här funktionen gör detta mycket enkelt.Provisioning-the-Raspberry-Pi-Compute-Module-FIG-13

Klicka på "Lägg till etikett" för att ange din egen: Provisioning-the-Raspberry-Pi-Compute-Module-FIG-14

Firmware

Provisioner ger möjlighet att ange vilken version av bootloader-firmware du vill installera på CM4. På Firmware-sidan finns en lista över alla möjliga alternativ, men det senaste är vanligtvis det bästa.Provisioning-the-Raspberry-Pi-Compute-Module-FIG-15För att uppdatera listan med de senaste versionerna av starthanteraren, klicka på knappen 'Ladda ner ny firmware från github'.

Möjliga problem

Föråldrad firmware för bootloader
Om din CM4 inte upptäcks av Provisioner-systemet när den är ansluten, är det möjligt att bootloader-firmwaren är inaktuell. Observera att alla CM4-enheter som tillverkats sedan februari 2021 har rätt bootloader installerad på fabriken, så detta kommer bara att hända med enheter som tillverkats före det datumet.

Redan programmerad eMMC
Om CM4-modulen redan har boot files i eMMC från ett tidigare provisioneringsförsök kommer den att starta från eMMC och nätverksstarten som krävs för provisionering kommer inte att ske.
Om du vill omprovisionera en CM4-modul måste du:

  • Anslut en USB-kabel mellan provisioneringsservern och mikro-USB-porten på CM4 IO-kortet (märkt 'USB-slav').
  • Sätt en bygel på CM4 IO-kortet (J2, 'Fit jumper to disable eMMC boot').

Detta kommer att få CM4-modulen att utföra en USB-start, i vilket fall provisioneringsservern kommer att överföra files av verktyget OS över USB.
Efter att verktygets OS har startat kommer det att kontakta provisioneringsservern via Ethernet för att få ytterligare instruktioner och ladda ner ytterligare files (t.ex. OS-bilden som ska skrivas till eMMC) som vanligt. Så en Ethernet-anslutning utöver USB-kabeln är fortfarande nödvändig.

Spanning Tree Protocol (STP) på hanterade Ethernet-switchar
PXE-start kommer inte att fungera korrekt om STP är aktiverat på en hanterad Ethernet-switch. Detta kan vara standard på vissa switchar (t.ex. Cisco), och om så är fallet måste den inaktiveras för att provisioneringsprocessen ska fungera korrekt.
Raspberry Pi är ett varumärke som tillhör Raspberry Pi Foundation
Raspberry Pi Ltd

Dokument/resurser

Raspberry Pi tillhandahåller Raspberry Pi Compute Module [pdf] Användarhandbok
Provisioning the Raspberry Pi Compute Module, Provisioning, the Raspberry Pi Compute Module, Compute Module

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *