さて。久しぶりにガジェット関連の記事を書きます。
今回は、手元で動作させるLinuxコンソールが欲しい!ということで、その環境を作った記録です。
私は個人的なプロジェクトでIoT機器関連の制御ソフトウェアを開発しているのですが、その対象のIoT機器をコントロールするために、どうしても手元にLinuxのコンソールが欲しくなる場面が多くありました。
SSHを使うぐらいならスマホでもなんとかできるのですが、やはりLinux機が欲しい・・でもIoT機器がある場所までノートPCを持っていくのもめんどくさい・・・
ということで、手元で使えるLinux環境を作ってみます。
お手元Linuxまでの道のり
筐体
まずUMPCでもいいじゃんというのは置いておきますww
海外のサイトを見ているときに、キーボード付きのモバイルケースにRasberry Piを入れて使うという製品を目にしました。
キーボード付きの外装では「uConsole」や「Hackberry Pi」という製品があるようです。

uConsoleはこんな感じです。ちょっと武骨な感じがかっこいいですね。

対してHackberry Piはこのような感じ。blackberryに近いイメージですね。
どちらか迷いましたが・・・ネットで調べていると、どちらも試している方がいました。”「uConsole」はカッコいいけど重い”的な感想だったと思います。そちらも参考になりましたが、ボタンの形状を見ると、「Hackberry Pi」の方が埃やゴミに強そうにみえたので、私は「Hackberry Pi」を使うことにします。
Rasberry Pi Compute module 5
次は心臓部のRasPi CM5です。最初は特に何も気にせず、適当に注文しましたがこれが大きな落とし穴でした。
RasPi CM5はメモリ容量や無線(Bluetooth、Wifi)の有無、eMMC内臓かどうか、そして内蔵するeMMCの容量で様々なバリエーションがあるようです。
ここで何も調べなかった私は適当にAmazonでメモリ4GB, eMMC32GB, 無線ありのRasPi CM5を注文しました。これが1つ目の落とし穴でした。
eMMC搭載のRasPi CM5は、microSDからのブートではなくeMMCからブートするようです。そしてそのeMMCへOSを書き込むためには、I/Oボードが必要らしいですね。これを知ったので、オフィシャルのI/Oボードを用意します。

eMMCへ書き込むには、I/Oボード上のeMMCブートを無効にするジャンパーをショートさせて、PCとUSBで接続、rpibootというソフトウェアでRasPi CM5をUSBメモリとして認識させる必要があるようです。
しかし何度やってもPCがRasPi CM5を認識しない・・・。USBケーブルを変えたり、PCの別USBポートで試してみたり、Linux機で試してみたりしましたが、一向に認識しません。
これは、、、不良品を引いたか?と思いましたがどうも違うようです。
RasPi CM5にはオフィシャル版とWaveshare版があるようです。私がAmazonで購入したものはWaveshare製のもので、どうもそちらではWaveshare製のI/OボードでないとeMMCに書き込みができない感があります。
それに気が付いてすぐさまオフィシャル版のRasPi CM5を別途注文しました。

うーん、箱は同じですねw 紛らわしい・・・。
オフィシャル版だと、手持ちのI/Oボードに搭載して起動すると、LED等が点灯しました。「お、動いたか!?」と思うと、ここから2つ目の落とし穴があります。
eMMCへOSを書き込むまで
オフィシャル版のRaspPi CM5で、I/OボードのLEDも点灯しているのに、PCでは認識できない。この状況が続きます。
USBケーブルを変えたり、PC側のUSBポートを変えたり、Linux機で試したりしましたがダメです。しかし、ネットを検索していると気になる記事を見かけました。”オフィシャルのI/OボードでCM5を起動する場合、USBポートからの給電は非常に厳密に出力を守らないといけない”という内容です。
そこで、メインで使用している高出力電源を搭載しているタワー型PCで、最も出力が高いポートへ接続してみます。そうすると、見事に認識されたようです!!!
しかし、ここで3つ目の落とし穴です。
Windowsでは、Githubで公開されているrpibootを使用しても、RaspPi CM5がUSBメモリとして認識されません。。。。
こうなるともう意地です。そのPCで仮想PCのUbuntuを起動しそちらから認識できないかと試したところ、見事に認識し、rpibootも動作、RaspPi CM5がUSBメモリとして認識できました!!!

USBメモリとして認識されれば、あとはRaspberry Pi ImagerでOSを書き込むだけです。
Hackberry PiでRasPi CM5を起動
OSさえ書き込めば、あとは筐体(Hackberry Pi)に接続して起動するだけ~ww
と思っていたのが甘かったです。ここで4つ目の落とし穴です。
”Hackberry Piは電源容量に非常に厳しく、eMMC付きのRasPi CM5は起動できない場合が多い”
とのことです。まじですか・・・。今までの苦労はなんやねん。
ダメならしょうがないので、ネットでeMMCなしのRasPi CM5を探しましたが見当たらず。しかし、秋葉原の秋月電子に在庫がありそうなのを見つけました。もうめんどくさいので直接お店に行って調達してきましたw

Hackberry Piの裏側にRasPi CM5をはめる場所があります。

RasPi CM5を装着です。
eMMCなしのRasPi CM5はmicroSDから起動するので、Rasberry Pi ImagerでOSをmicroSDへ書き込みます。

やっと起動です!!!
ちなみに保護シートはPDA工房さんのものです。未対応の機種だったので、本器を貸し出して作ってもらいました。
使用できるOS
Githubに使用できるOSや設定ファイルが置いてあります。いくつかのディストリビューションのLinux、Androidがあるようです。Ubuntuは現時点で使えないのは少し残念ですが・・・。
一通り試してみましたが、Rasberry Pi OSが一番素直で使いやすいですね。他はやたらツールがモリモリだったり、パスワード設定のためにめんどくさい手順が必要だったりしたので、おとなしくRasberry Pi OSを使うことにします。

Rasberry Pi OSだと、入力欄が選択されるたびにソフトウェアキーボードが表示されます。Hackberry Piにはハードウェアキーボードがあるので、邪魔でしかありません。これはコンポーネントを削除することで表示されなくなります。
使えるようになりました!

実際に使えるようになると、非常に快適に感じました。
当初の目的としていた、IoT機器をSSHで操作、その場でソフトウェアのデプロイ、ログの吸出し等、とても機敏に動いてくれます。
microSDからの起動も全く遅い感じはなく、十分の許容範囲です。

ちなみに、本体中央にある四角いボタンのようなものはトラックポインターになっていて、マウス操作もできます。
まとめ・感想など
色々と落とし穴が多かったですが、起動するととても可能性を感じるガジェットです。
eMMCではなく、microSDで起動するのは意外にいいかもしれません。場面によって、microSDでLinuxやAndroidを切り替えることができます。ネットの投稿ではWindowsを起動した例もあるようで、現場で使うメンテナンス用デバイスとしては優秀な気がします✨。
それに加えて、遊びにもしっかり使えそうですね。
お手元Linuxが欲しい方は意外と多いのではないでしょうか。ぜひ試してみてはいかがでしょう。落とし穴が多いのでその際はお気をつけて😀。
追伸:
結局、使えなかったeMMC付きのRasPi CM5は専用ケースに入れて、リモートデスクトップのクライアントとして使っています。これはこれでいい感じですね。





コメント