Raspberry Pi コンピューティング モジュールのプロビジョニング
Raspberry Pi コンピューティング モジュールのプロビジョニング (バージョン 3 および 4)
ラズベリーパイ株式会社
2022-07-19: githash: 94a2802-clean
奥付
© 2020-2022 Raspberry Pi Ltd (旧Raspberry Pi (Trading) Ltd.)
このドキュメントは、Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND) ライセンスの下で提供されています。ビルド日: 2022-07-19 ビルドバージョン: githash: 94a2802-clean
法的免責事項
RASPBERRY PI 製品 (データシートを含む) の技術データおよび信頼性データ (「リソース」) は、随時変更され、RASPBERRY PI LTD (「RPL」) によって「現状のまま」提供され、明示または黙示を問わず、商品性および特定目的への適合性に関する黙示の保証を含むがこれに限定されない、一切の保証を放棄します。適用法によって許可される最大限の範囲において、いかなる場合も RPL は、契約、厳格責任、不法行為 (過失またはその他を含む) を問わず、リソースの使用によって何らかの形で生じた直接的、間接的、偶発的、特別、懲罰的、または結果的な損害 (代替品またはサービスの調達、使用、データ、または利益の喪失、または事業中断を含むがこれらに限定されない) について、たとえそのような損害の可能性について通知されていたとしても、いかなる責任理論においても、責任を負わないものとします。
RPL は、リソースまたはリソースに記載されている製品に対して、いつでも予告なしに機能強化、改善、修正、その他の変更を行う権利を留保します。リソースは、適切なレベルの設計知識を持つ熟練したユーザーを対象としています。ユーザーは、リソースの選択と使用、およびリソースに記載されている製品の適用について単独で責任を負います。ユーザーは、リソースの使用から生じるすべての責任、費用、損害、その他の損失に対して RPL を補償し、免責することに同意します。RPL は、Raspberry Pi 製品と組み合わせてのみリソースを使用する許可をユーザーに付与します。リソースのその他の使用はすべて禁止されています。他の RPL または他の第三者の知的財産権に対するライセンスは付与されません。高リスク活動。 Raspberry Pi 製品は、核施設、航空機の航行または通信システム、航空管制、兵器システム、または安全が極めて重要なアプリケーション (生命維持システムおよびその他の医療機器を含む) の運用など、製品の故障が直接的に死亡、人身傷害、または重大な物理的損害または環境的損害につながる可能性がある (「高リスク活動」) フェイルセーフ性能を必要とする危険な環境での使用を目的として設計、製造、または意図されていません。RPL は、高リスク活動への適合性について明示的または黙示的な保証を明確に否認し、高リスク活動における Raspberry Pi 製品の使用または組み込みについて一切の責任を負いません。Raspberry Pi 製品は、RPL の標準条件に従って提供されます。RPL によるリソースの提供は、RPL の標準条件 (そこに記載されている免責事項および保証を含みますが、これらに限定されません) を拡張または変更するものではありません。
ドキュメントのバージョン履歴 ドキュメントの範囲メント
このドキュメントは、次の Raspberry Pi 製品に適用されます。
導入
CMプロビジョナーは web 多数の Raspberry Pi Compute Module (CM) デバイスのプログラミングをはるかに簡単かつ迅速に行えるように設計されたアプリケーションです。インストールも使用も簡単です。アップロード可能なカーネル イメージのデータベースへのインターフェイスを提供し、スクリプトを使用してフラッシュ プロセス中にインストールのさまざまな部分をカスタマイズする機能も提供します。ラベル印刷とファームウェア更新もサポートされています。このホワイト ペーパーでは、Provisioner サーバー (ソフトウェア バージョン 1.5 以降) が Raspberry Pi 上で実行されていることを前提としています。
仕組み
CM4
プロビジョナー システムは、独自の有線ネットワークにインストールする必要があります。サーバーを実行する Raspberry Pi は、スイッチがサポートできる数の CM4 デバイスとともにスイッチに接続されます。このネットワークに接続された CM4 はプロビジョニング システムによって検出され、ユーザーの必要なファームウェアが自動的にフラッシュされます。ネットワークに接続された CM4 はすべてプロビジョニングされることを考えると、独自の有線ネットワークを持つ理由は明らかです。したがって、意図しないデバイスの再プログラミングを防ぐために、ネットワークをライブ ネットワークから分離しておくことが不可欠です。
イメージの変更 CM 4 IO ボード (CM 4 搭載) -> CM4 IO ボード (CM4 搭載)
Raspberry Piをサーバーとして使用することで、Provisionerに有線ネットワークを使用しながら、ワイヤレス接続を使用して外部ネットワークにアクセスできるようになります。これにより、サーバーにイメージを簡単にダウンロードしてプロビジョニングプロセスの準備ができ、Raspberry PiがProvisionerにサービスを提供できるようになります。 web インターフェイス。複数のイメージをダウンロードできます。プロビジョナーはイメージのデータベースを保持し、さまざまなデバイスをセットアップするために適切なイメージを簡単に選択できるようにします。
CM4 がネットワークに接続され、電源が投入されると、CM4 は起動を試み、他のオプションが試された後、ネットワーク起動が試みられます。この時点で、Provisioner Dynamic Host Configuration Protocol (DHCP) システムは起動中の CM4 に応答し、CMXNUMX にダウンロードされてルートとして実行される最小限の起動可能イメージを提供します。このイメージは、Provisioner の指示に従って、組み込みマルチメディア カード (eMMC) をプログラムし、必要なスクリプトを実行できます。
詳細情報
CM4 モジュールには、最初に eMMC からのブートを試みるブート構成が付属しています。eMMC が空であるためにこれが失敗した場合は、プリブート実行環境 (PXE) ネットワーク ブートを実行します。そのため、まだプロビジョニングされておらず、eMMC が空の CM4 モジュールでは、デフォルトでネットワーク ブートが実行されます。プロビジョニング ネットワークでのネットワーク ブート中に、軽量ユーティリティ オペレーティング システム (OS) イメージ (実際には Linux カーネルとスクリプト実行 initramfs) がプロビジョニング サーバーによってネットワーク経由で CM4 モジュールに提供され、このイメージがプロビジョニングを処理します。
CM 3 および CM 4
SODIMMコネクタベースのCMデバイスはネットワークブートができないため、プログラミングはUSB経由で行われます。各デバイスはプロビジョナーに接続する必要があります。4台以上のデバイス(Raspberry PiのUSBポートの数)を接続する必要がある場合は、USBハブを使用できます。高品質のUSB-A-Micro-USBケーブルを使用して、Raspberry Piまたはハブから各CMIOボードのUSBスレーブポートに接続します。すべてのCMIOボードには電源も必要であり、J4 USBスレーブブート有効化ジャンパーを有効化に設定する必要があります。
重要
Pi 4のイーサネットポートを接続しないでください。ワイヤレス接続は管理にアクセスするために使用します。 web インタフェース。
インストール
以下の手順は発行時点では正しいものです。最新のインストール手順は Provisioner GitHub ページにあります。
プロビジョナーのインストール web Raspberry Pi上のアプリケーション
警告
eth0 が、CM4 IO ボードのみが接続されているイーサネット スイッチに接続されていることを確認してください。eth0 をオフィス/パブリック ネットワークに接続しないでください。そうしないと、ネットワーク内の他の Raspberry Pi デバイスも「プロビジョニング」される可能性があります。Raspberry Pi ワイヤレス接続を使用して、ローカル ネットワークに接続します。
Provisioner をインストールするベース OS としては、Raspberry Pi OS の Lite バージョンが推奨されます。簡単にするために、rpi-imager を使用し、詳細設定メニュー (Ctrl-Shift-X) をアクティブにして、パスワード、ホスト名、ワイヤレス設定を設定します。Raspberry Pi に OS をインストールしたら、イーサネット システムを設定する必要があります。
- DHCP 設定を編集して、eth0 が /172.20.0.1 サブネット (ネットマスク 16) 内に静的インターネット プロトコル (IP) アドレス 255.255.0.0 を持つように設定します。
- sudo ナノ /etc/dhcpcd.conf
- 下部に追加 file:
インターフェース eth0
静的IPアドレス=172.20.0.1/16 - 変更を有効にするには再起動してください。
- OS インストールが最新であることを確認します。
sudo aptアップデート
sudo aptフルアップグレード - プロビジョナーは既製の.debとして提供される file Provisioner GitHub ページにあります。このページから、または wget を使用して最新バージョンをダウンロードし、次のコマンドを使用してインストールします。
sudo apt インストール ./cmprovision4_*_all.deb - 設定する web アプリケーションのユーザー名とパスワード:
sudo /var/lib/cmprovision/artisan auth:create-user
これで、 web プロビジョナーのインターフェース web 前のセクションで入力した Raspberry Pi のワイヤレス IP アドレスとユーザー名とパスワードを使用して、ブラウザにアクセスします。ブラウザのアドレス バーに IP アドレスを入力して Enter キーを押すだけです。
使用法
プロビジョナーに初めて接続するとき web あなたの web ブラウザには、次のようなダッシュボード画面が表示されます。
このランディングページは、プロビジョナーによって実行された最新のアクションに関する情報を提供するだけです(例:amp(上記では、単一の CM4 がプロビジョニングされています)。
画像のアップロード
セットアップ時に必要な最初の操作は、CM4ボードのプロビジョニングに使用できるイメージをサーバーにロードすることです。 web ページを開くと、現在アップロードされている画像のリスト(最初は空)を示す、以下のような画面が表示されます。
画像をアップロードするには、[画像の追加] ボタンを選択します。次の画面が表示されます。
画像は、 web ブラウザが起動しており、指定された画像形式のいずれかで表示されます。標準の file ダイアログで「アップロード」をクリックします。これで、マシンから Raspberry Pi で実行されている Provisioner サーバーにイメージがコピーされます。これには時間がかかる場合があります。イメージがアップロードされると、イメージ ページに表示されます。
プロジェクトの追加
次に、プロジェクトを作成する必要があります。任意の数のプロジェクトを指定でき、各プロジェクトには異なるイメージ、スクリプト セット、またはラベルを設定できます。アクティブなプロジェクトは、現在プロビジョニングに使用されているプロジェクトです。
「プロジェクト」メニュー項目をクリックすると、プロジェクトページが表示されます。次の例をご覧ください。ampすでに「テスト プロジェクト」と呼ばれるプロジェクトが 1 つ設定されています。
「プロジェクトを追加」をクリックして新しいプロジェクトを設定します
- プロジェクトに適切な名前を付け、ドロップダウンリストからこのプロジェクトで使用する画像を選択します。また、この段階で他のいくつかのパラメータを設定することもできます。tagただし、多くの場合、画像だけで十分です。
- Provisioner のバージョン 1.5 以降を使用している場合は、フラッシュが正しく完了したかどうかを確認するオプションがあります。このオプションを選択すると、フラッシュ後に CM デバイスからデータが読み戻され、元のイメージと一致するかどうかが確認されます。これにより、各デバイスのプロビジョニングに余分な時間が追加されます。追加される時間はイメージのサイズによって異なります。
- インストールするファームウェアを選択した場合(これはオプションです)、ブートローダバイナリにマージされる特定の構成エントリを使用してファームウェアをカスタマイズすることもできます。利用可能なオプションは、Raspberry Piで確認できます。 webサイト。
- 新しいプロジェクトを完全に定義したら、「保存」をクリックします。プロジェクト ページに戻り、新しいプロジェクトがリストされます。一度にアクティブにできるプロジェクトは 1 つだけであり、このリストから選択できることに注意してください。
スクリプト
プロビジョナーの本当に便利な機能は、インストール前またはインストール後にイメージ上でスクリプトを実行できることです。プロビジョナーにはデフォルトで 3 つのスクリプトがインストールされており、新しいプロジェクトを作成するときに選択できます。これらはスクリプトページにリストされています。
元ampスクリプトの最も効果的な使用法は、config.txt にカスタム エントリを追加することです。標準スクリプト Add dtoverlay=dwc2 to config.txt は、次のシェル コードを使用してこれを実行します。
独自のカスタマイズを追加するには、「スクリプトを追加」をクリックします。
ラベル
プロビジョナーには、プロビジョニングするデバイスのラベルを印刷する機能があります。ラベルページには、プロジェクト編集プロセス中に選択できるすべての定義済みラベルが表示されます。例:ampたとえば、プロビジョニングされた各ボードの DataMatrix またはクイック レスポンス (QR) コードを印刷したい場合、この機能を使用すると非常に簡単に印刷できます。
独自のラベルを指定するには、「ラベルを追加」をクリックします。
ファームウェア
プロビジョナーは、CM4 にインストールするブートローダー ファームウェアのバージョンを指定する機能を提供します。ファームウェア ページには、すべての可能なオプションのリストがありますが、通常は最新のものが最適です。最新バージョンのブートローダーでリストを更新するには、「github から新しいファームウェアをダウンロード」ボタンをクリックします。
起こりうる問題
古いブートローダーファームウェア
CM4 を接続しても Provisioner システムによって検出されない場合は、ブートローダー ファームウェアが古くなっている可能性があります。4 年 2021 月以降に製造されたすべての CMXNUMX デバイスには、工場で正しいブートローダーがインストールされているため、この問題はそれ以前に製造されたデバイスでのみ発生することに注意してください。
すでにプログラムされたeMMC
CM4モジュールがすでにブートしている場合 file以前のプロビジョニング試行から eMMC に s が含まれている場合、eMMC から起動され、プロビジョニングに必要なネットワーク ブートは実行されません。
CM4 モジュールを再プロビジョニングする場合は、次の手順を実行する必要があります。
- プロビジョニング サーバーと CM4 IO ボードのマイクロ USB ポート (「USB スレーブ」というラベルが付いています) の間に USB ケーブルを接続します。
- CM4 IO ボードにジャンパーを配置します (J2、「eMMC ブートを無効にするジャンパーを装着」)。
これによりCM4モジュールはUSBブートを実行し、プロビジョニングサーバーは fileUSB 経由でユーティリティ OS を実行します。
ユーティリティOSが起動すると、イーサネット経由でプロビジョニングサーバーに接続してさらなる指示を受け取り、追加の file通常どおり、USB ケーブルに加えてイーサネット接続も必要です (例: eMMC に書き込む OS イメージ)。
マネージド イーサネット スイッチ上のスパニング ツリー プロトコル (STP)
管理対象イーサネット スイッチで STP が有効になっている場合、PXE ブートは正しく動作しません。一部のスイッチ (Cisco など) ではこれがデフォルトになっている場合があります。その場合は、プロビジョニング プロセスを正しく動作させるには、STP を無効にする必要があります。
Raspberry PiはRaspberry Pi Foundationの商標です。
ラズベリーパイ株式会社
ドキュメント / リソース
![]() |
Raspberry Pi Raspberry Pi コンピュートモジュールのプロビジョニング [pdf] ユーザーガイド Raspberry Pi コンピューティング モジュールのプロビジョニング、プロビジョニング、Raspberry Pi コンピューティング モジュール、コンピューティング モジュール |