Raspberry-Pi-LOGO

Provisioning del modulo di elaborazione Raspberry Pi

Provisioning-del-PRODOTTO-modulo-di-elaborazione-Raspberry-Pi

Provisioning del modulo di elaborazione Raspberry Pi (versioni 3 e 4)
Raspberry Pi Ltd
2022-07-19: githash: 94a2802-clean

Colofone
© 2020-2022 Raspberry Pi Ltd (ex Raspberry Pi (Trading) Ltd.)
Questa documentazione è concessa in licenza con Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND). data build: 2022-07-19 versione build: githash: 94a2802-clean

Avviso di esclusione di responsabilità legale

I DATI TECNICI E DI AFFIDABILITÀ DEI PRODOTTI RASPBERRY PI (COMPRESE LE SCHEDE TECNICHE) COME MODIFICATI DI VOLTA IN VOLTA ("RISORSE") SONO FORNITI DA RASPBERRY PI LTD ("RPL") "COSÌ COME SONO" E QUALSIASI GARANZIA ESPLICITA O IMPLICITA, INCLUSE, MA NON LIMITATE A, LE GARANZIE IMPLICITE DI COMMERCIABILITÀ E IDONEITÀ PER UNO SCOPO PARTICOLARE SONO ESCLUSE. NELLA MISURA MASSIMA CONSENTITA DALLA LEGGE APPLICABILE IN NESSUN CASO RPL SARÀ RESPONSABILE PER DANNI DIRETTI, INDIRETTI, INCIDENTALI, SPECIALI, ESEMPLARI O CONSEQUENZIALI (COMPRESI, MA NON LIMITATI A, APPROVVIGIONAMENTO DI BENI O SERVIZI SOSTITUTIVI; PERDITA DI UTILIZZO, DATI , O UTILI; O INTERRUZIONE AZIENDALE) COMUNQUE CAUSATI E SU QUALSIASI TEORIA DI RESPONSABILITÀ, SIA CONTRATTUALE, OGGETTIVA, O ILLECITA (INCLUSA NEGLIGENZA O ALTRO) DERIVANTI IN QUALSIASI MODO DALL'UTILIZZO DELLE RISORSE, ANCHE SE AVVISATI DELLA POSSIBILITÀ DI TALI DANNI.
RPL si riserva il diritto di apportare miglioramenti, miglioramenti, correzioni o qualsiasi altra modifica alle RISORSE oa qualsiasi prodotto in esse descritto in qualsiasi momento e senza ulteriore preavviso. Le RISORSE sono destinate a utenti esperti con adeguati livelli di conoscenza progettuale. Gli utenti sono gli unici responsabili della selezione e dell'utilizzo delle RISORSE e dell'eventuale applicazione dei prodotti in esse descritti. L'utente accetta di indennizzare e tenere indenne RPL da tutte le responsabilità, costi, danni o altre perdite derivanti dall'uso delle RISORSE. RPL concede agli utenti il ​​permesso di utilizzare le RISORSE esclusivamente in combinazione con i prodotti Raspberry Pi. Ogni altro utilizzo delle RISORSE è proibito. Non viene concessa alcuna licenza per qualsiasi altro diritto di proprietà intellettuale di terze parti o RPL. ATTIVITÀ AD ALTO RISCHIO. I prodotti Raspberry Pi non sono progettati, fabbricati o destinati all'uso in ambienti pericolosi che richiedono prestazioni fail-safe, come nel funzionamento di impianti nucleari, sistemi di comunicazione o di navigazione aerea, controllo del traffico aereo, sistemi d'arma o applicazioni critiche per la sicurezza (compreso il supporto vitale sistemi e altri dispositivi medici), in cui il guasto dei prodotti potrebbe portare direttamente alla morte, lesioni personali o gravi danni fisici o ambientali ("Attività ad alto rischio"). RPL declina espressamente qualsiasi garanzia espressa o implicita di idoneità per attività ad alto rischio e non si assume alcuna responsabilità per l'uso o l'inclusione di prodotti Raspberry Pi in attività ad alto rischio. I prodotti Raspberry Pi sono forniti in base ai Termini standard di RPL. La fornitura delle RISORSE da parte di RPL non amplia né modifica in altro modo i Termini standard di RPL, incluse, a titolo esemplificativo ma non esaustivo, le esclusioni di responsabilità e le garanzie ivi espresse.

Cronologia delle versioni del documento Provisioning del modulo di elaborazione Raspberry Pi-FIG-1Scopo del documento
Questo documento si applica ai seguenti prodotti Raspberry Pi:Provisioning del modulo di elaborazione Raspberry Pi-FIG-2

Introduzione

Il fornitore di CM è un web applicazione progettata per rendere la programmazione di un gran numero di dispositivi Raspberry Pi Compute Module (CM) molto più semplice e veloce. È semplice da installare e semplice da usare. Fornisce un'interfaccia a un database di immagini del kernel che possono essere caricate, insieme alla possibilità di utilizzare script per personalizzare varie parti dell'installazione durante il processo di aggiornamento. Sono supportati anche la stampa di etichette e l'aggiornamento del firmware. Questo whitepaper presuppone che il server Provisioner, versione software 1.5 o successiva, sia in esecuzione su un Raspberry Pi.

Come funziona tutto

CM4
Il sistema Provisioner deve essere installato sulla propria rete cablata; il Raspberry Pi che esegue il server è collegato a uno switch, insieme a tutti i dispositivi CM4 che lo switch può supportare. Qualsiasi CM4 collegato a questa rete verrà rilevato dal sistema di provisioning e aggiornato automaticamente con il firmware richiesto dall'utente. Il motivo per avere una propria rete cablata diventa chiaro se si considera che qualsiasi CM4 collegato alla rete verrà fornito, quindi mantenere la rete separata da qualsiasi rete attiva è essenziale per impedire la riprogrammazione involontaria dei dispositivi.

Provisioning del modulo di elaborazione Raspberry Pi-FIG-3IMMAGINE MODIFICHE Schede CM 4 IO con CM 4 -> Schede CM4 IO con CM4

Utilizzando un Raspberry Pi come server, è possibile utilizzare la rete cablata per il Provisioner ma consentire comunque l'accesso a reti esterne utilizzando la connettività wireless. Ciò consente un facile download delle immagini sul server, pronte per il processo di provisioning, e consente a Raspberry Pi di servire il Provisioner web interfaccia. È possibile scaricare più immagini; il Provisioner conserva un database di immagini e semplifica la selezione dell'immagine appropriata per la configurazione di diversi dispositivi.
Quando un CM4 è collegato alla rete e viene acceso, tenterà di avviarsi e, una volta provate altre opzioni, verrà tentato l'avvio di rete. A questo punto il sistema DHCP (Dynamic Host Configuration Protocol) di Provisioner risponde all'avvio di CM4 e gli fornisce un'immagine di avvio minima che viene scaricata su CM4 e quindi eseguita come root. Questa immagine può programmare la scheda multimediale integrata (eMMC) ed eseguire qualsiasi script richiesto, come indicato dal fornitore.

Maggiori dettagli
I moduli CM4 vengono forniti con una configurazione di avvio che proverà ad avviarsi prima da eMMC; se ciò fallisce perché l'eMMC è vuoto, eseguirà un avvio di rete PXE (preboot execution environment). Pertanto, con i moduli CM4 che non sono ancora stati sottoposti a provisioning e hanno un eMMC vuoto, verrà eseguito un avvio di rete per impostazione predefinita. Durante un avvio di rete su una rete di provisioning, un'immagine del sistema operativo (OS) di utilità leggera (in realtà un kernel Linux e un scriptexecute initramfs) verrà fornita dal server di provisioning al modulo CM4 sulla rete e questa immagine gestisce il provisioning.

CM 3 e CM 4

I dispositivi CM basati sul connettore SODIMM non possono avviarsi in rete, quindi la programmazione viene eseguita tramite USB. Ogni dispositivo dovrà essere connesso al Provisioner. Se è necessario collegare più di 4 dispositivi (il numero di porte USB sul Raspberry Pi), è possibile utilizzare un hub USB. Utilizzare cavi da USB-A a Micro-USB di buona qualità, collegandoli dal Raspberry Pi o dall'hub alla porta USB slave di ciascuna scheda CMIO. Tutte le schede CMIO avranno anche bisogno di un alimentatore e il ponticello di abilitazione avvio slave USB J4 dovrebbe essere impostato su abilitato

Provisioning del modulo di elaborazione Raspberry Pi-FIG-4IMPORTANTE
NON collegare la porta Ethernet del Pi 4. La connessione wireless viene utilizzata per accedere alla gestione web interfaccia.

Installazione

Le seguenti istruzioni erano corrette al momento dell'emissione. Le istruzioni di installazione più recenti sono disponibili nella pagina GitHub di Provisioner.

Installazione del fornitore web applicazione su un Raspberry Pi
AVVERTIMENTO
Assicurarsi che eth0 si colleghi a uno switch Ethernet a cui sono collegate solo le schede IO CM4. Non connettere eth0 al tuo ufficio/rete pubblica, altrimenti potrebbe eseguire il "provisioning" anche di altri dispositivi Raspberry Pi nella tua rete. Usa la connessione wireless Raspberry Pi per connetterti alla tua rete locale.

La versione Lite del sistema operativo Raspberry Pi è consigliata come sistema operativo di base su cui installare il Provisioner. Per semplicità utilizzare rpi-imager e attivare il menu delle impostazioni avanzate (Ctrl-Shift-X) per configurare la password, il nome host e le impostazioni wireless. Una volta che il sistema operativo è installato sul Raspberry Pi, dovrai configurare il sistema Ethernet:

  1. Configura eth0 in modo che abbia un indirizzo IP (Internet Protocol) statico di 172.20.0.1 all'interno di una sottorete /16 (maschera di rete 255.255.0.0) modificando la configurazione DHCP:
    • sudo nano /etc/dhcpcd.conf
    • Aggiungi al fondo del file:
      interfaccia eth0
      indirizzo IP statico=172.20.0.1/16
    • Riavvia per rendere effettive le modifiche.
  2. Assicurati che l'installazione del sistema operativo sia aggiornata:
    sudo apt aggiornamento
    sudo apt full-upgrade
  3. Il Provisioner viene fornito come file .deb già pronto file nella pagina GitHub del fornitore. Scarica l'ultima versione da quella pagina o usando wget e installala usando il seguente comando:
    sudo apt install ./cmprovision4_*_all.deb
  4. Imposta il web nome utente e password dell'applicazione:
    sudo /var/lib/cmprovision/artisan auth:create-user

Ora puoi accedere al web interfaccia del Provisioner con a web browser utilizzando l'indirizzo IP wireless di Raspberry Pi e il nome utente e la password immessi nella sezione precedente. Basta inserire l'indirizzo IP nella barra degli indirizzi del browser e premere Invio.

Utilizzo

Quando ti connetti per la prima volta al Provisioner web applicazione con il tuo web browser vedrai la schermata Dashboard, che sarà simile a questa:Provisioning del modulo di elaborazione Raspberry Pi-FIG-5

Questa pagina di destinazione fornisce semplicemente alcune informazioni sull'ultima azione eseguita dal Provisioner (nell'esample sopra, è stato eseguito il provisioning di un singolo CM4).

Caricamento immagini

La prima operazione richiesta durante la configurazione è caricare l'immagine sul server, da dove può essere utilizzata per il provisioning delle schede CM4. Fai clic sulla voce di menu "Immagini" nella parte superiore del file web page e dovresti ottenere una schermata simile a quella mostrata di seguito, che mostra un elenco di immagini attualmente caricate (che inizialmente saranno vuote).Provisioning del modulo di elaborazione Raspberry Pi-FIG-6

Seleziona il pulsante Aggiungi immagine per caricare un'immagine; vedrai questa schermata:
Provisioning del modulo di elaborazione Raspberry Pi-FIG-7

L'immagine deve essere accessibile sul dispositivo in cui il file web browser è in esecuzione e in uno dei formati di immagine specificati. Seleziona l'immagine dalla tua macchina usando lo standard file finestra di dialogo e fare clic su "Carica". Questo ora copierà l'immagine dalla tua macchina al server Provisioner in esecuzione sul Raspberry Pi. Questo può richiedere del tempo. Una volta caricata l'immagine, la vedrai nella pagina Immagini.

Aggiunta di un progetto

Ora devi creare un progetto. È possibile specificare un numero qualsiasi di progetti e ognuno può avere un'immagine, un set di script o un'etichetta diversi. Il progetto attivo è quello attualmente utilizzato per il provisioning.
Fare clic sulla voce di menu "Progetti" per visualizzare la pagina Progetti. Il seguente esample ha già un progetto, chiamato 'Test project', impostato.

Provisioning del modulo di elaborazione Raspberry Pi-FIG-8Ora fai clic su "Aggiungi progetto" per impostare un nuovo progettoProvisioning del modulo di elaborazione Raspberry Pi-FIG-9

  • Assegna al progetto un nome appropriato, quindi seleziona l'immagine che desideri che questo progetto utilizzi dall'elenco a discesa. È inoltre possibile impostare una serie di altri parametri in questo stage, ma spesso basta solo l'immagine.
  • Se stai utilizzando la versione 1.5 o successiva del Provisioner, hai la possibilità di verificare che il flashing sia stato completato correttamente. Selezionando questa opzione verranno riletti i dati dal dispositivo CM dopo il flashing e verrà confermata la corrispondenza con l'immagine originale. Ciò aggiungerà tempo extra al provisioning di ciascun dispositivo, la quantità di tempo aggiunta dipenderà dalle dimensioni dell'immagine.
  • Se selezioni il firmware da installare (questo è facoltativo), hai anche la possibilità di personalizzare quel firmware con alcune voci di configurazione specifiche che verranno unite al file binario del bootloader. Le opzioni disponibili si trovano sul Raspberry Pi websito.
  • Fai clic su "Salva" quando hai definito completamente il tuo nuovo progetto; tornerai alla pagina Progetti e il nuovo progetto verrà elencato. Tieni presente che può essere attivo un solo progetto alla volta e puoi selezionarlo da questo elenco.

Sceneggiature
Una caratteristica davvero utile di Provisioner è la possibilità di eseguire script sull'immagine, prima o dopo l'installazione. Tre script sono installati per impostazione predefinita nel Provisioner e possono essere selezionati durante la creazione di un nuovo progetto. Sono elencati nella pagina degli script

Provisioning del modulo di elaborazione Raspberry Pi-FIG-10

un exampL'uso degli script potrebbe essere quello di aggiungere voci personalizzate a config.txt. Lo script standard Add dtoverlay=dwc2 to config.txt esegue questa operazione, utilizzando il seguente codice shell:Provisioning del modulo di elaborazione Raspberry Pi-FIG-11

Fai clic su "Aggiungi script" per aggiungere le tue personalizzazioni:Provisioning del modulo di elaborazione Raspberry Pi-FIG-12

Etichette
Il fornitore ha la possibilità di stampare le etichette per il dispositivo fornito. La pagina Etichette mostra tutte le etichette predefinite che possono essere selezionate durante il processo di modifica del progetto. Per esample, potresti voler stampare DataMatrix o codici di risposta rapida (QR) per ogni scheda fornita, e questa funzione lo rende molto semplice.Provisioning del modulo di elaborazione Raspberry Pi-FIG-13

Fai clic su "Aggiungi etichetta" per specificare la tua: Provisioning del modulo di elaborazione Raspberry Pi-FIG-14

Firmware

Il Provisioner offre la possibilità di specificare quale versione del firmware del bootloader si desidera installare sul CM4. Nella pagina Firmware c'è un elenco di tutte le opzioni possibili, ma quella più recente è solitamente la migliore.Provisioning del modulo di elaborazione Raspberry Pi-FIG-15Per aggiornare l'elenco con le ultime versioni del bootloader, fare clic sul pulsante "Scarica nuovo firmware da github".

Possibili problemi

Firmware del bootloader obsoleto
Se il tuo CM4 non viene rilevato dal sistema Provisioner quando è collegato, è possibile che il firmware del bootloader non sia aggiornato. Tieni presente che tutti i dispositivi CM4 prodotti da febbraio 2021 hanno il bootloader corretto installato in fabbrica, quindi ciò accadrà solo con dispositivi prodotti prima di tale data.

eMMC già programmato
Se il modulo CM4 ha già boot files nell'eMMC da un precedente tentativo di provisioning, verrà avviato dall'eMMC e l'avvio di rete richiesto per il provisioning non si verificherà.
Se desideri eseguire nuovamente il provisioning di un modulo CM4, dovrai:

  • Collegare un cavo USB tra il server di provisioning e la porta micro USB della scheda IO CM4 (etichettata 'USB slave').
  • Metti un ponticello sulla scheda IO CM4 (J2, 'Fit jumper to disable eMMC boot').

Ciò farà sì che il modulo CM4 esegua un avvio USB, nel qual caso il server di provisioning trasferirà il file files del sistema operativo di utilità tramite USB.
Dopo l'avvio del sistema operativo dell'utility, contatterà il server di provisioning tramite Ethernet per ricevere ulteriori istruzioni e scaricarne altre files (ad esempio l'immagine del sistema operativo da scrivere su eMMC) come al solito. Pertanto, è ancora necessaria una connessione Ethernet oltre al cavo USB.

Spanning Tree Protocol (STP) su switch Ethernet gestiti
L'avvio PXE non funzionerà correttamente se STP è abilitato su uno switch Ethernet gestito. Questa può essere l'impostazione predefinita su alcuni switch (ad es. Cisco) e, in tal caso, sarà necessario disabilitarla affinché il processo di provisioning funzioni correttamente.
Raspberry Pi è un marchio della Raspberry Pi Foundation
Raspberry Pi Ltd

Documenti / Risorse

Raspberry Pi Provisioning del modulo di elaborazione Raspberry Pi [pdf] Guida utente
Provisioning del modulo di elaborazione Raspberry Pi, provisioning, modulo di elaborazione Raspberry Pi, modulo di elaborazione

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *