こんにちは、SBCにはeMMC載ってないと嫌な派の坪井です。
Seeed株式会社はSeeedからRaspberry Piを仕入れて下さっている販売店さんにRaspberry Piの日本語でのテクニカルサポートを提供したりしています。ですので仕事でCompute Moduleを扱うこともあります。しかしながら個人的には最近のCompute Moduleを使ったことがなかったので、ときどきサンプルとして製品を取り寄せるついでに取り寄せてみました。
取り寄せをしたのは上記2つです。Compute Module 3+は、32GBのeMMCが搭載されているものを選択しました。通常のRaspberry Piはmicro SDにOSを書き込んで使いますが、eMMCを搭載したCompute ModuleはeMMCにOSを書き込まなければなりません。この手順はFlashing the Compute Module eMMCというページに記載があります。今回は、このページに手順が記されていないmacOSからの書き込みを行ってみたいと思います。
さて、Compute ModuleのeMMCをパソコンからマウントするためには、rpibootというコマンドを使います。rpibootを手持ちのmacOSでコンパイルするのは面倒だったので、Homebrewを使おうと思いました。誰かformulaを作っていないかと検索をしてみたところ、homebrew-rpibootを見つけたので、これを使わせてもらいます。
$ brew tap gmerlino/rpiboot $ brew install --HEAD gmerlino/rpiboot/rpiboot
これだけの手順でrpibootがインストールできました。
次にCompute ModuleのeMMCに書き込むRaspbianですが、Download Raspberry Pi OS for Raspberry PiこちらのページからRaspbian Buster Liteをダウンロードしてきて、unzipしました。僕はeMMCと同じくらい(ディスプレイ等を繋がないで運用する)ヘッドレスが好きです。
ハードウェアはwikiを参考にしながら、Compute ModuleをCompute Module PoE Boardに取り付け、僕はPoEを使いたいのでPoEのジャンパをEN側に差し替えをしました。あとは、Compute Module PoE BoardのSlaveと書いてあるUSBコネクタとパソコンを接続し、PoEスイッチに繋がっているイーサネットケーブルを挿しました。
この状態で、rpibootを実行すると、下記のようなメッセージが表示されました。
$ rpiboot Waiting for BCM2835/6/7/2711... Sending bootcode.bin Successful read 4 bytes Waiting for BCM2835/6/7/2711... Second stage boot server File read: start.elf Second stage boot server done
これでCompute ModuleのeMMCがパソコンから見えるようになりました。
disk2として認識されている様です。もちろん、$ diskutil list
等でデバイス名を調べても良いでしょう。
後はeMMCにRaspbianのイメージをddします。block sizeを4194304 bytesにしたのは、ドキュメントのコマンド例のオプションがbs=4MiB
だったからです。4 MiB == 4194304 bytesのはずです。
$ sudo dd if=~/Downloads/2020-02-13-raspbian-buster-lite.img of=/dev/disk2 bs=4194304 Password: 441+0 records in 441+0 records out 1849688064 bytes transferred in 602.583642 secs (3069596 bytes/sec)
私が実行したときには、10分程度で書き込みが終わったみたいです。書き込みを終えたら、USBケーブルを抜いた上でイーサネットケーブルも抜きました。
最後に、USBケーブルをCompute Module PoE BoardのUSB TO UARTと書かれたコネクタと接続し、イーサネットケーブルを挿して電源を入れます。Compute Module PoE BoardにはCP2102が載っており、これでCompute Moduleのシリアルコンソールに乗れます。手元のmacでminicomを使って/dev/cu.SLAB_USBtoUART
を115,200bpsで開くと、ブートメッセージが流れたあと、ログインプロンプトが表示されました。raspi-configでsshdを有効にし、IPアドレスを確認したら、もうUSBケーブルも要らなくなりました。
イーサネットケーブル一本だけで動くeMMCの載ったRaspberry Piはとても快適です。
変更履歴
日付 | 変更者 | 変更内容 |
---|---|---|
2020/4/23 | ytsuboi | 作成 |