Raspberry-Pi-LOGO

Bereitstellung des Raspberry Pi-Rechenmoduls

Bereitstellung des Raspberry-Pi-Compute-Moduls-PRODUKT

Bereitstellung des Raspberry Pi Compute Module (Versionen 3 und 4)
Raspberry Pi Ltd
2022-07-19: githash: 94a2802-clean

Kolophon
© 2020–2022 Raspberry Pi Ltd (ehemals Raspberry Pi (Trading) Ltd.)
Diese Dokumentation ist unter einer Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND) lizenziert. Build-Datum: 2022-07-19 Build-Version: Githash: 94a2802-clean

Rechtlicher Hinweis

TECHNISCHE DATEN UND ZUVERLÄSSIGKEITSDATEN FÜR RASPBERRY PI-PRODUKTE (EINSCHLIESSLICH DATENBLÄTTER) IN DER VON ZEIT ZU ZEIT GEÄNDERTEN FASSUNG („RESSOURCEN“) WERDEN VON RASPBERRY PI LTD („RPL“) „WIE BESEHEN“ BEREITGESTELLT UND JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GARANTIEN, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF STILLSCHWEIGENDE GARANTIEN DER MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK, SIND AUSGESCHLOSSEN. Soweit gemäß geltendem Recht zulässig, ist RPL in keinem Fall für direkte, indirekte, beiläufig entstandene, besondere, exemplarische oder Folgeschäden (einschließlich, aber nicht beschränkt auf die Beschaffung von Ersatzwaren oder -dienstleistungen, Nutzungsausfall, Datenverlust, entgangenen Gewinn oder Geschäftsunterbrechung) verantwortlich, gleich auf welche Weise diese verursacht wurden und auf welcher Grundlage auch immer die Haftung begründet ist, sei es aufgrund von Vertragsbruch, verschuldensunabhängiger Haftung oder unerlaubter Handlung (einschließlich Fahrlässigkeit oder anderweitig), die in irgendeiner Weise aus der Verwendung der Ressourcen entstehen, selbst wenn auf die Möglichkeit solcher Schäden hingewiesen wurde.
RPL behält sich das Recht vor, jederzeit und ohne vorherige Ankündigung Erweiterungen, Verbesserungen, Korrekturen oder sonstige Änderungen an den RESSOURCEN oder den darin beschriebenen Produkten vorzunehmen. Die RESSOURCEN sind für erfahrene Benutzer mit entsprechenden Designkenntnissen bestimmt. Benutzer sind allein verantwortlich für ihre Auswahl und Verwendung der RESSOURCEN und jegliche Anwendung der darin beschriebenen Produkte. Benutzer erklären sich damit einverstanden, RPL von allen Verbindlichkeiten, Kosten, Schäden oder sonstigen Verlusten freizustellen, die sich aus ihrer Verwendung der RESSOURCEN ergeben. RPL erteilt Benutzern die Erlaubnis, die RESSOURCEN ausschließlich in Verbindung mit den Raspberry Pi-Produkten zu verwenden. Jede andere Verwendung der RESSOURCEN ist verboten. Es wird keine Lizenz für andere Rechte am geistigen Eigentum von RPL oder anderen Dritten gewährt. AKTIVITÄTEN MIT HOHEM RISIKO. Raspberry Pi-Produkte sind nicht für den Einsatz in Gefahrenumgebungen konzipiert, hergestellt oder vorgesehen, die eine ausfallsichere Leistung erfordern, wie etwa beim Betrieb von Nuklearanlagen, Flugzeugnavigations- oder Kommunikationssystemen, der Flugverkehrskontrolle, Waffensystemen oder sicherheitskritischen Anwendungen (einschließlich lebenserhaltender Systeme und anderer medizinischer Geräte), in denen der Ausfall der Produkte direkt zu Tod, Personenschäden oder schweren körperlichen oder Umweltschäden führen könnte („Hochrisikoaktivitäten“). RPL lehnt ausdrücklich jede ausdrückliche oder stillschweigende Gewährleistung der Eignung für Hochrisikoaktivitäten ab und übernimmt keine Haftung für die Verwendung oder Einbeziehung von Raspberry Pi-Produkten in Hochrisikoaktivitäten. Raspberry Pi-Produkte werden vorbehaltlich der Allgemeinen Geschäftsbedingungen von RPL bereitgestellt. Die Bereitstellung der RESSOURCEN durch RPL erweitert oder ändert die Allgemeinen Geschäftsbedingungen von RPL nicht, einschließlich, aber nicht beschränkt auf die darin enthaltenen Haftungsausschlüsse und Gewährleistungen.

Versionsverlauf des Dokuments Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 1Umfang der Dokumentationment
Dieses Dokument gilt für die folgenden Raspberry Pi-Produkte:Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 2

Einführung

Der CM Provisioner ist ein web Anwendung, die das Programmieren einer großen Anzahl von Raspberry Pi Compute Module (CM)-Geräten wesentlich einfacher und schneller machen soll. Sie ist einfach zu installieren und zu verwenden. Sie bietet eine Schnittstelle zu einer Datenbank mit Kernel-Images, die hochgeladen werden können, sowie die Möglichkeit, mithilfe von Skripten verschiedene Teile der Installation während des Flashvorgangs anzupassen. Etikettendruck und Firmware-Aktualisierung werden ebenfalls unterstützt. Dieses Whitepaper setzt voraus, dass der Provisioner-Server, Softwareversion 1.5 oder neuer, auf einem Raspberry Pi läuft.

So funktioniert’s

CM4
Das Provisioner-System muss in einem eigenen kabelgebundenen Netzwerk installiert werden. Der Raspberry Pi, auf dem der Server läuft, wird an einen Switch angeschlossen, zusammen mit so vielen CM4-Geräten, wie der Switch unterstützen kann. Jeder CM4, der an dieses Netzwerk angeschlossen wird, wird vom Provisioning-System erkannt und automatisch mit der erforderlichen Firmware des Benutzers geflasht. Der Grund für das eigene kabelgebundene Netzwerk wird deutlich, wenn man bedenkt, dass jeder CM4, der an das Netzwerk angeschlossen wird, bereitgestellt wird. Daher ist es wichtig, das Netzwerk von jedem aktiven Netzwerk getrennt zu halten, um eine unbeabsichtigte Neuprogrammierung von Geräten zu verhindern.

Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 3BILDÄNDERUNGEN CM 4 IO-Boards mit CM 4 -> CM4 IO-Boards mit CM4

Durch die Verwendung eines Raspberry Pi als Server ist es möglich, kabelgebundene Netzwerke für den Provisioner zu verwenden, aber dennoch den Zugriff auf externe Netzwerke über eine drahtlose Verbindung zu ermöglichen. Dies ermöglicht das einfache Herunterladen von Bildern auf den Server, bereit für den Provisionierungsprozess, und ermöglicht es dem Raspberry Pi, den Provisioner bereitzustellen. web Schnittstelle. Es können mehrere Bilder heruntergeladen werden. Der Provisioner verwaltet eine Datenbank mit Bildern und erleichtert die Auswahl des geeigneten Bilds zum Einrichten verschiedener Geräte.
Wenn ein CM4 an das Netzwerk angeschlossen und eingeschaltet wird, versucht er zu booten. Nachdem andere Optionen ausprobiert wurden, wird ein Netzwerkboot versucht. An diesem Punkt reagiert das Provisioner Dynamic Host Configuration Protocol (DHCP)-System auf den bootenden CM4 und stellt ihm ein minimales bootfähiges Image zur Verfügung, das auf den CM4 heruntergeladen und dann als Root ausgeführt wird. Dieses Image kann die eingebettete Multi-Media Card (eMMC) programmieren und alle erforderlichen Skripts gemäß den Anweisungen des Provisioners ausführen.

Mehr Details
CM4-Module werden mit einer Startkonfiguration ausgeliefert, die zunächst versucht, von eMMC zu starten. Wenn dies fehlschlägt, weil die eMMC leer ist, wird ein Netzwerkstart über eine Preboot Execution Environment (PXE) durchgeführt. Bei CM4-Modulen, die noch nicht bereitgestellt wurden und über eine leere eMMC verfügen, wird daher standardmäßig ein Netzwerkstart durchgeführt. Während eines Netzwerkstarts in einem Bereitstellungsnetzwerk wird dem CM4-Modul vom Bereitstellungsserver über das Netzwerk ein leichtes Utility-Betriebssystem-Image (tatsächlich ein Linux-Kernel und ein scriptexecute initramfs) bereitgestellt, und dieses Image übernimmt die Bereitstellung.

CM 3 und CM 4

Die CM-Geräte, die auf dem SODIMM-Anschluss basieren, können nicht über das Netzwerk booten, daher erfolgt die Programmierung über USB. Jedes Gerät muss an den Provisioner angeschlossen werden. Wenn Sie mehr als 4 Geräte anschließen müssen (die Anzahl der USB-Anschlüsse am Raspberry Pi), kann ein USB-Hub verwendet werden. Verwenden Sie hochwertige USB-A-zu-Micro-USB-Kabel, die den Raspberry Pi oder Hub mit dem USB-Slave-Anschluss jeder CMIO-Platine verbinden. Alle CMIO-Platinen benötigen außerdem eine Stromversorgung, und der J4-Jumper zum Aktivieren des USB-Slave-Boots sollte auf „Aktivieren“ eingestellt sein.

Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 4WICHTIG
Verbinden Sie NICHT den Ethernet-Port des Pi 4. Die drahtlose Verbindung wird für den Zugriff auf die Verwaltung verwendet web Schnittstelle.

Installation

Die folgenden Anweisungen waren zum Zeitpunkt der Veröffentlichung korrekt. Die aktuellsten Installationsanweisungen finden Sie auf der Provisioner-GitHub-Seite.

Installieren des Provisioners web Anwendung auf einem Raspberry Pi
WARNUNG
Stellen Sie sicher, dass eth0 mit einem Ethernet-Switch verbunden ist, an den nur die CM4 IO-Boards angeschlossen sind. Verbinden Sie eth0 nicht mit Ihrem Büro-/öffentlichen Netzwerk, da es sonst möglicherweise auch andere Raspberry Pi-Geräte in Ihrem Netzwerk „bereitstellt“. Verwenden Sie die drahtlose Verbindung von Raspberry Pi, um eine Verbindung zu Ihrem lokalen Netzwerk herzustellen.

Als Basisbetriebssystem, auf dem der Provisioner installiert werden soll, wird die Lite-Version des Raspberry Pi-Betriebssystems empfohlen. Verwenden Sie der Einfachheit halber rpi-imager und aktivieren Sie das Menü „Erweiterte Einstellungen“ (Strg-Umschalt-X), um das Passwort, den Hostnamen und die WLAN-Einstellungen einzurichten. Sobald das Betriebssystem auf dem Raspberry Pi installiert ist, müssen Sie das Ethernet-System einrichten:

  1. Konfigurieren Sie eth0 so, dass es die statische Internet Protocol (IP)-Adresse 172.20.0.1 innerhalb eines /16-Subnetzes (Netzmaske 255.255.0.0) hat, indem Sie die DHCP-Konfiguration bearbeiten:
    • sudo nano /etc/dhcpcd.conf
    • Fügen Sie unten hinzu file:
      Schnittstelle eth0
      statische IP-Adresse = 172.20.0.1/16
    • Führen Sie einen Neustart durch, damit die Änderungen wirksam werden.
  2. Stellen Sie sicher, dass die Betriebssysteminstallation auf dem neuesten Stand ist:
    sudo apt update
    sudo apt Voll-Upgrade
  3. Der Provisioner wird als fertige .deb-Datei geliefert. file auf der Provisioner-GitHub-Seite. Laden Sie die neueste Version von dieser Seite oder mit wget herunter und installieren Sie sie mit dem folgenden Befehl:
    sudo apt install ./cmprovision4_*_all.deb
  4. Legen Sie die web Benutzername und Passwort der Anwendung:
    sudo /var/lib/cmprovision/artisan auth:Benutzer erstellen

Sie haben nun Zugriff auf die web Schnittstelle des Provisioners mit einem web Browser mit der drahtlosen IP-Adresse des Raspberry Pi und dem im vorherigen Abschnitt eingegebenen Benutzernamen und Passwort. Geben Sie einfach die IP-Adresse in die Adressleiste Ihres Browsers ein und drücken Sie die Eingabetaste.

Verwendung

Wenn Sie sich zum ersten Mal mit dem Provisioner verbinden web Bewerbung mit Ihrem web Browser wird der Dashboard-Bildschirm angezeigt, der ungefähr so ​​aussieht:Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 5

Diese Zielseite enthält lediglich einige Informationen zur letzten vom Provisioner ausgeführten Aktion (im Beispielample oben, ein einzelner CM4 wurde bereitgestellt).

Bilder hochladen

Der erste Vorgang, der bei der Einrichtung erforderlich ist, besteht darin, Ihr Image auf den Server zu laden, von wo aus es zur Bereitstellung Ihrer CM4-Boards verwendet werden kann. Klicken Sie oben im web Seite, und Sie sollten einen Bildschirm ähnlich dem unten gezeigten erhalten, der eine Liste der aktuell hochgeladenen Bilder anzeigt (die zunächst leer ist).Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 6

Wählen Sie die Schaltfläche „Bild hinzufügen“, um ein Bild hochzuladen. Sie sehen diesen Bildschirm:
Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 7

Das Bild muss auf dem Gerät zugänglich sein, auf dem das web Browser läuft und in einem der angegebenen Bildformate. Wählen Sie das Bild von Ihrem Computer mit dem Standard file und klicken Sie auf „Hochladen“. Dadurch wird das Image von Ihrem Computer auf den Provisioner-Server kopiert, der auf dem Raspberry Pi läuft. Dies kann einige Zeit dauern. Sobald das Image hochgeladen ist, wird es auf der Seite „Images“ angezeigt.

Hinzufügen eines Projekts

Jetzt müssen Sie ein Projekt erstellen. Sie können beliebig viele Projekte angeben und jedes kann ein anderes Image, einen anderen Skriptsatz oder ein anderes Label haben. Das aktive Projekt ist dasjenige, das aktuell für die Bereitstellung verwendet wird.
Klicken Sie auf den Menüpunkt „Projekte“, um die Seite „Projekte“ aufzurufen. Das folgende Beispielample hat bereits ein Projekt namens „Testprojekt“ eingerichtet.

Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 8Klicken Sie nun auf „Projekt hinzufügen“, um ein neues Projekt anzulegenBereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 9

  • Geben Sie dem Projekt einen passenden Namen und wählen Sie dann aus der Dropdown-Liste das Bild aus, das dieses Projekt verwenden soll. Sie können an dieser Stelle auch eine Reihe anderer Parameter festlegen.tage, aber oft reicht nur das Bild aus.
  • Wenn Sie Provisioner Version 1.5 oder höher verwenden, haben Sie die Möglichkeit zu überprüfen, ob das Flashen korrekt abgeschlossen wurde. Wenn Sie diese Option auswählen, werden die Daten nach dem Flashen vom CM-Gerät zurückgelesen und bestätigt, dass sie mit dem Originalabbild übereinstimmen. Dadurch wird die Bereitstellung jedes Geräts zusätzlich zeitaufwändig. Die zusätzliche Zeit hängt von der Größe des Abbilds ab.
  • Wenn Sie die zu installierende Firmware auswählen (dies ist optional), können Sie diese Firmware auch mit einigen spezifischen Konfigurationseinträgen anpassen, die in die Bootloader-Binärdatei integriert werden. Die verfügbaren Optionen finden Sie auf dem Raspberry Pi webWebsite.
  • Klicken Sie auf „Speichern“, wenn Sie Ihr neues Projekt vollständig definiert haben. Sie kehren zur Seite „Projekte“ zurück und das neue Projekt wird aufgelistet. Beachten Sie, dass immer nur ein Projekt aktiv sein kann und Sie es aus dieser Liste auswählen können.

Skripte
Eine wirklich nützliche Funktion von Provisioner ist die Möglichkeit, vor oder nach der Installation Skripte auf dem Image auszuführen. Drei Skripte sind standardmäßig im Provisioner installiert und können beim Erstellen eines neuen Projekts ausgewählt werden. Sie sind auf der Seite Skripte aufgeführt.

Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 10

Ein ExampDer Einsatz von Skripten kann darin bestehen, benutzerdefinierte Einträge zu config.txt hinzuzufügen. Das Standardskript Add dtoverlay=dwc2 to config.txt tut dies unter Verwendung des folgenden Shell-Codes:Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 11

Klicken Sie auf „Skript hinzufügen“, um Ihre eigenen Anpassungen hinzuzufügen:Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 12

Labels
Der Provisioner bietet die Möglichkeit, Etiketten für das bereitzustellende Gerät auszudrucken. Auf der Seite „Etiketten“ werden alle vordefinierten Etiketten angezeigt, die während der Projektbearbeitung ausgewählt werden können. Zum BeispielampMöglicherweise möchten Sie DataMatrix- oder Quick-Response-Codes (QR) für jede bereitgestellte Karte ausdrucken. Mit dieser Funktion ist dies ganz einfach.Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 13

Klicken Sie auf „Etikett hinzufügen“, um Ihr eigenes Etikett anzugeben: Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 14

Firmware

Der Provisioner bietet die Möglichkeit anzugeben, welche Version der Bootloader-Firmware Sie auf dem CM4 installieren möchten. Auf der Firmware-Seite gibt es eine Liste aller möglichen Optionen, aber die aktuellste ist normalerweise die beste.Bereitstellung des Raspberry-Pi-Compute-Moduls – Abb. 15Um die Liste mit den neuesten Versionen des Bootloaders zu aktualisieren, klicken Sie auf die Schaltfläche „Neue Firmware von GitHub herunterladen“.

Mögliche Probleme

Veraltete Bootloader-Firmware
Wenn Ihr CM4 beim Anschließen nicht vom Provisioner-System erkannt wird, ist die Bootloader-Firmware möglicherweise veraltet. Beachten Sie, dass alle seit Februar 4 hergestellten CM2021-Geräte werkseitig den richtigen Bootloader installiert haben. Dies passiert also nur bei Geräten, die vor diesem Datum hergestellt wurden.

Bereits programmiertes eMMC
Wenn das CM4-Modul bereits über Boot- files in der eMMC von einem vorherigen Bereitstellungsversuch, dann wird von der eMMC gebootet und der für die Bereitstellung erforderliche Netzwerkboot findet nicht statt.
Wenn Sie ein CM4-Modul erneut bereitstellen möchten, müssen Sie Folgendes tun:

  • Schließen Sie ein USB-Kabel zwischen dem Provisioning-Server und dem Micro-USB-Anschluss der CM4 IO-Platine (mit der Bezeichnung „USB-Slave“) an.
  • Setzen Sie einen Jumper auf die CM4 IO-Platine (J2, „Jumper einsetzen, um eMMC-Boot zu deaktivieren“).

Dies führt dazu, dass das CM4-Modul einen USB-Boot durchführt. In diesem Fall überträgt der Provisioning-Server die files des Utility-Betriebssystems über USB.
Nachdem das Utility-Betriebssystem gebootet wurde, wird es den Provisioning-Server über Ethernet kontaktieren, um weitere Anweisungen zu erhalten und zusätzliche files (z. B. das OS-Image, das auf eMMC geschrieben werden soll) wie gewohnt. Daher ist zusätzlich zum USB-Kabel weiterhin eine Ethernet-Verbindung erforderlich.

Spanning Tree Protocol (STP) auf verwalteten Ethernet-Switches
Der PXE-Boot funktioniert nicht richtig, wenn STP auf einem verwalteten Ethernet-Switch aktiviert ist. Dies kann bei einigen Switches (z. B. Cisco) die Standardeinstellung sein. In diesem Fall muss es deaktiviert werden, damit der Bereitstellungsprozess richtig funktioniert.
Raspberry Pi ist eine Marke der Raspberry Pi Foundation
Raspberry Pi Ltd

Dokumente / Ressourcen

Raspberry Pi: Bereitstellung des Raspberry Pi Compute Module [pdf] Benutzerhandbuch
Bereitstellung des Raspberry Pi Compute Module, Bereitstellung, des Raspberry Pi Compute Module, Compute Module

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *