ユーザ用ツール

uConsole

概要

ClockworkPiがリリースしたポータブルコンピュータでありDevTerm同様、コアモジュールを入れ替えることができる構成となっている。

半完成品として届き、最終組み立てを行うのもDevTermと同じだが、ケースは金属製となっており、六角ねじで固定する関係で、DevTermと異なり、一度くみ上げてしまうと簡単には分解はできない。 また電池へもねじを外さないとアクセスできないため、充電した18650電池を持ち歩いて適宜交換するような使い方はできない。

また冷却ファンを廃し、ケース背面をヒートシンクとして使用する構成になっている点も異なる。 コアが接するあたりはそれなりの温度になる。

uConsole完成状態

組立て

uConsoleパッケージ

箱はDevTermと概ね同じデザインだが一回り小さい。

uConsoleパーツ

開けるとパーツがプラスチックのケースに収められ、組立て説明書が同梱されている。 18650×2は同梱されていないので自力で調達する。

uConsole組立て中1

六角レンチは同梱されているので組立てに必要なものは特にはない。 手順に従って、キーボード、画面、メイン基板、コアモジュール1)、サブモジュール2)、電池ボックスをそれぞれ組付けたら蓋をして終わりである。

uConsole組立て中2

OS

CM4モジュールを選択したので、Raspbian ベースのOSイメージをインストールする。 残念なことにベースとなっている Raspbianがやや古く、Debian 11ベースなので、パッケージなどが古臭い。 DevTerm同様、オートログインが設定されており、パスワードなしで suできる危険なユーザが設定されているために、このあたりの手当てを行う。

使用感など

キーボードはふにゃふにゃだったDevTermにくらべてクリック感が強い。 特に中央付近のキーはしっかりと押し込まないと入力しそこなうことがある。

両手で持って親指タイプするのにちょうどいいサイズ感なので、使い勝手はDevTermよりかなりいい。

また、液晶も1280×720と 1280×480だったDevTermより縦方向のピクセル数が増加しているので、ダイアログの下がはみ出してしまってあれこれ困ったDevTermよりも普通に使える。

総じてDevTermのように、買ったはいいが持て余す、というようなことは少ない。

キーパッドの十字キーとカーソルキーとが同じキーにマッピングされているが、カーソルキーを右下に置くより、カーソル操作が窮屈ではなくてよい。

ただ、カーソルキーとZ/Xを使うようなゲームがあり、これがジョイパッドをサポートしていなかったりすると、ちょっとプレイは難しい。 オールドPCのエミュレータなどで遊んでいるとしばしば出くわす場面なので、そこは何らかの対策が欲しかった。

縦が長くなっているので、コーディングなどもそこそここなせる。 実際、ハイハイスクールアドベンチャーのM5版やQt版に関してはかなりの部分をこのデバイスを使って、移動中や出先でのコーディングを行っている。

電池はフル充電から3~5時間くらいは持つ感じである。 USB PDではなさそうだがUSB Type Cで充電できるので、今どきのデバイスとしては申し分ない。

パフォーマンスは劇速ってことはないが、実用上はほぼ問題ない。 注文してすっかり忘れていた CM4 Lite 8GBが届いたので、途中で入れ替えたが、4GBと8GBとで体感に違いが出る場面はほぼない。 なので、4GBのモジュールで充分だろう。

拡張

Hacker Gadgets uConsole Upgrade Kit

uConsoleに、NVMe SSD、RJ45 ethernet port、USBなどを拡張するキット。 CM4またはCM5で使用できるが、一部機能はCM5でないと使えない。3)

CM4/5アダプタ、バッテリーボード、IOカードをuConsoleのものと入れ替え、それぞれを付属のフレキで接続する。 要は端子が足りてないので、直で引っ張り出す格好。

CM5であればフル機能が使える反面、冷却が圧倒的に追いつかないため、冷却ファンが必要4)だが、背面パネルを加工するなり、交換するなりしないとマウントできない。

なお、これらの機能を使うには、Linux 6.12.45以降の uConsole用カーネルに入れ替える必要がある。

SSDから起動する

まず、このキットはSSDを選ぶ。 家に転がっていた WD Black 256GBはDRAM搭載のため、刺した時点で全く起動しない。 AIに聞いたら、DRAMなしの製品でないと起動しないだろうとのこと。 宣託に従い、DRAMなしのSSDを買って挿したら起動しない問題は解消した。

OSのイメージはTFカードのものをそのまま転送してやればいい。 色んな情報があるが、パーティションはGPTでよい。 ブートパーティション5)が第一パーティションでESP、BOOTのフラグを立てて、FAT32でファイルシステムを作成する。 残りの領域は ext4で作って、ここにTFカードの第二パーティションをまるっとコピーする。

キモとなるのは、/dev/nvme0n1p1にある cmdline.txt というテキストファイル。 とりあえず、中にある root=/dev/mmcblk0p2 となっている6)に、/dev/nvme0n1p2 のPARTUUIDを書いてやること。

$ blkid /dev/nvme0n1p2
/dev/nvme0n1p2: UUID="0fb63809-7b8d-4e3c-8cc0-aaa1de550c7c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="41dc48ff-eacc-4a49-87a6-b60047b804ff"

のように表示されたら、PARTUUIDの値を転記してやればいい。

cmdline.txt
zswap.enabled=1 zswap.zpool=z3fold zswap.compressor=zstd multipath=off dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=41dc48ff-eacc-4a49-87a6-b60047b804ff rootfstype=ext4 rootwait fixrtc quiet splash

AIによっては、しれっとroot=UUID=0fb63809-7b8d-4e3c-8cc0-aaa1de550c7c と書けとかいってきますが、これは動かないのでダメ、ゼッタイ。

最後は、/etc/fstab を書き換える。 おそらく、TFカードのものは LABEL=writable とかそんな感じでパーティションを指定しているので、これに合わせてSSDのパーティションラベルを変えてもいいが、何らかの事情でTFカードからシステムを起動したときに、同じラベルがあっちにもこっちにもあると動作が保証できないのでやめるべきだろう。

blkid コマンドで /dev/nvme0n1p1 と /dev/nvme0n1p2 のUUID7)を取得したら、/dev/nvme0n1p2を/mntあたりにマウントして、etc/fstabを修正する。

fstab
UUID=0fb63809-7b8d-4e3c-8cc0-aaa1de550c7c / ext4 discard 0 1
UUID=11DA-D5E8 /boot/firmware vfat defaults 0 1

なお、EEPROMが古いとダメとか、BOOT_ORDERを変更しないとダメとあるが、大体の場合 EEPROMはNVMeをサポートしたバージョンが入っているし、BOOT_ORDERも0xf25641 とかになってて、優先順位は変更したいかもしれないけれど、TFカードやUSBストレージをはずしておけばNVMe SSDから起動するようになっているのであまり気にしなくても大丈夫なはずだ。

トラブル

電源チップが焼けた

uConsoleが立ち上がらなくなった。 電源入れっぱなしにして放置していたら、勝手に落ちていたので再起動しようとしたが起動せず。

分解したところ、AXP228–電源チップが焼け落ちていた。

とりあえず、DevTermからCPI3.14 Rev4を移植してみたが起動せず。 Rev 5を売ってくれないか、ClockworkPiに問い合わせ中だが、アリエクにAXP228を発注しとりあえず自力修理を試みることにする。 とはいえQFNチップのはんだ付けができる技術が私にあるとも思えないので、どうなるかは神のみぞ知る。

追記:Clockwork Piのストアで販売されているCPI3.14は写真はRev 4ですが、送られてくるのはRev 5です。 uConsoleを起動できます。

1)
今回CM4 Liteを選んだので、CM4の変換基板も入っていた。
2)
LTEモデルの場合はLTEモジュールが乗っているが、そうでない場合は、ただスピーカ接続のための板になる。
3)
USB3.0とかRTCとか
4)
冷却ファン用の電源端子もある
5)
/boot/firmware /dev/nvme0n1p1
6)
違うかもしれないが、とにかく root=の部分
7)
今度はUUIDでも大丈夫

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information