メインコンテンツに移動

Raspberry Pi CM5 ブートイメージ eMMC
システムソフトウェアのインストールに関する問題

導入問題

新しいプロジェクトでは、ハードウェア・プラットフォームとしてRaspberry Pi Compute Module 5 (CM5)

開発キットを受け取りました:

  • Compute Module 5 (4 GB RAM and 32 GB eMMC)
  • 27W USB-C Type-C PD Power Supply
  • Compute Module 5 IO Board
  • Antenna Kit
  • Compute Module 5 IO Case
  • 2 x HDMI® to HDMI® Cable
  • Cooler for Compute Module 5
  • USB-A to USB-C Cable.

コンピュートモジュール5 IOケース

目標

開発を簡単にするため、Compute Module 5 IO Board には microSD カードスロットが搭載されているので、microSD カードからシステムソフトウェア(raspiOS) を実行したいと思いました。

私は Raspberry Pi Imagerを使って最新のRaspberry Pi OSをmicroSDカードにフラッシュし、カードをIOボードのスロットに挿入して、システムの電源を入れました。

しかし、OSが起動するのではなく、ディスプレイに「SD: card not detected」という端末のようなメッセージが表示され、システムが起動しませんでした。

原因と結果

いろいろ調べた結果、Raspberry Piのドキュメントで Compute Module 5:

  • microSDカードスロット (eMMCを搭載していないLiteバージョンでのみ使用。他のバージョンではスロットは無視されます)

つまり、microSDスロットはeMMCストレージを搭載していない "Lite "バリアントでしか使えないということです。私のCM5には32GBのeMMCが搭載されているため、SDスロットは無効化され、起動中は無視されます。

CM5にeMMCでシステムソフトウェアをインストールする正しい方法

eMMCを搭載したCM5にオペレーティングシステムをインストールするには、以下の公式インストラクションに従ってください。 setting up the IO Board.

重要なステップは、IOボードのJ2ヘッダーにジャンパーを配置することです。これにより、CM5がUSBブートモードになり、ホストPCが大容量記憶デバイスのようにeMMCにアクセスできるようになります。

コンピュートモジュール5 IOボード

rpibootの問題と解決策

私の開発マシン(Ubuntu 22.04)では、最初にrpiboot

sudo apt install rpiboot

しかし、このバージョンは正しく動作しませんでした-おそらく、古いかCM5と互換性がないためでしょう。

代わりに、rpibootをソースからビルドする必要がありました。こちらの手順に従ってください:

公式リポジトリをクローンしてください:

git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot

依存関係をインストールしてビルドします:

sudo apt install git libusb-1.0-0-dev pkg-config build-essential
make

rpibootの実行

を実行してください:

sudo ./rpiboot -d mass-storage-gadget64

システムはCM5のeMMCを検出するので、Raspberry Pi Imagerかddを使ってCM5にOSをフラッシュできます。

概要

  • CM5 SDスロットは、Lite(eMMCなし)バリアントでのみ動作します。
  • CM5をeMMCでフラッシュするには、次のことが必要です:
    ** J2 ジャンパーを設定します。
    ** rpiboot を使用して、USB 経由で eMMC を公開します。
  • パッケージ化されたrpibootが動作しない場合は、ソースからビルドしてください。

これが完了したら、SDカードのようにeMMCに直接Raspberry Pi OSをフラッシュすることができます。