reTerminalでRaspberry Pi OS "bookworm"を動かす

Seeed K.K.の松岡です。
2023年10月10日にDebian 12(コードネーム"bookworm")ベースのRaspberry Pi OSがリリースされました。Raspberry Pi Imagerでも、デフォルトで"bookworm"が選ばれています。しかし、Seeedが提供しているデバイスドライバ(Seeedデバイスドライバ)が"bookworm"に対応していないので、reTerminalに"bookworm"を入れて動かすことができませんでした。
11月に入って、SeeedはSeeedデバイスドライバをアップデートしてreTerminalで"bookworm"ベースのRaspberry Pi OSが動くようになりました。よかったよかった。
そんなわけで、reTerminalのセットアップ手順を書いておきます。

概要

  1. OSインストール

    reTerminalに"bookworm"ベースのRapsberry Pi OSをインストールします。32bitと64bitの両方が提供されていますが、Raspberry Pi公式が推奨している64bitにします。

  2. STM32ファームウェアバージョン確認

    reTerminalに内蔵された、ディスプレイを制御しているSTM32のファームウェアバージョンを確認します。これが古いとディスプレイが表示されないことがあるからです。

  3. Seeedデバイスドライバインストール

    Seeedデバイスドライバをインストールします。必要なファイルをGitHubからダウンロードして、OSにインストールします。

  4. ディスプレイ向きとタッチパネル設定

    ディスプレイが横向きに表示されてしまい、かなり使いにくいのを直します。

  5. (必要に応じて)パッケージ更新とローカライゼーション設定

1. OSインストール

この記事に沿って、Raspberry Pi ImagerからreTerminalにOSをインストールしてください。

わたしが実施したときのRaspberry Pi Imagerの選択、設定画面ショットはこちらです。OSは64bit Desktopにして、PCからアクセスできるようにSSHを有効にしました。

uname -agetconf LONG_BITを実行すると、aarch6464が表示されているので、ファイル、カーネルとも64bitであることがわかります。

$ cat /boot/firmware/issue.txt
Raspberry Pi reference 2023-10-10
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 962bf483c8f326405794827cce8c0313fd5880a8, stage4
$ uname -a
Linux raspberrypi 6.1.0-rpi4-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.54-1+rpt2 (2023-10-05) aarch64 GNU/Linux
$ getconf LONG_BIT
64

この時点では、まだSeeedデバイスドライバをインストールしていないのでいくつかのデバイスが機能していません。ディスプレイは真っ黒で何も表示されないです。

2. STM32ファームウェアバージョン確認

この記事を参考に、i2ctransferコマンドでSTM32G030にバージョン番号を問い合わせしてください。そして、表示されたバージョンが最新かどうか確認してください。

わたしのreTerminalはv1.8(最新)でした。

$ i2ctransfer -y 1 w1@0x45 0x97 r2
0x01 0x08

3. Seeedデバイスドライバインストール

まず、GitHubからSeeedデバイスドライバをダウンロードしてください。

$ cd && git clone --depth 1 https://github.com/Seeed-Studio/seeed-linux-dtoverlays
$ cd seeed-linux-dtoverlays

わたしが実施したときの最終更新日は2023年11月14日でした。

$ git log -n 1
commit 673d491e1c3f4d528cb7379103c5c514ea12dbb5 (grafted, HEAD -> master, origin/master, origin/HEAD)
Author: bigbearishappy <953308023@qq.com>
Date:   Tue Nov 14 08:45:11 2023 +0000

    fix kernel version compatibility issue

    Signed-off-by: bigbearishappy <953308023@qq.com>

そして、reTerminal.shを実行してSeeedデバイスドライバをインストールしてください。
最後にPlease reboot your device...と表示されれば正常です。sudo rebootで再起動してください。

$ sudo ./scripts/reTerminal.sh
...
------------------------------------------------------
Please reboot your device to apply all settings
Enjoy!
------------------------------------------------------
$ sudo reboot

この時点でディスプレイが表示されます!
(しかし横向きに😅)

4. ディスプレイ向きとタッチパネル設定

Screen Configuration(Preferences > Screen Configuration)を起動して、ディスプレイの表示を回転してください。具体的には、Layout > Screens > DSI-1 > Orientation > Rightを選択します。

加えて、タッチパネルも回転する必要があります。
タッチ/boot/config.txtdtoverlay=reTerminal,tp_rotate=1dtoverlay=reTerminal,tp_rotate=0に書き換えて再起動してください。

$ sudo vi /boot/config.txt
$ sudo reboot

おめでとう!

5. (必要に応じて)パッケージ更新とローカライゼーション設定

必要に応じて、パッケージを更新したり、ローカライゼーションを日本語に設定してください。

パッケージ更新。

$ sudo apt update && sudo apt upgrade
...
120 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 306 MB of archives.
After this operation, 138 MB of additional disk space will be used.
Do you want to continue? [Y/n]
...

日本語化。

Raspberry Pi Configuration(Preferences > Raspberry Pi Configuration)

  • Localisation
    • Locale
      • Language = ja (Japanese)
      • Character Set = UTF-8
    • Wireless LAN Country
      • Country = JP - Japan

参考リンク

変更履歴

日付 変更者 変更内容
2023/11/29 松岡 作成