RaspberryPi + Ubuntu20.04LTS + Desktop

先日メインで使用していたマシンがお亡くなりになったので、 Ubuntu20.04LTS ServerをインストールしていたRapsberryPi 4Bモデルに急遽デスクトップ環境を整えた。 その作業に使用したコマンド類を記す。 因みにOSはRaspberryPi Imagerで書き込んだ。

環境

  • Model: Raspberry Pi 4 Model B Rev 1.4
  • OS: Ubuntu 20.04.3 LTS (Focal Fossa) bullseye/sid
  • RAM: 8GB

GUIのインストール

$ sudo apt install -y ubuntu-desktop

派生版も使用することができる。

$ sudo apt install -y lubuntu-desktop
$ sudo apt install -y kubuntu-desktop
$ sudo apt install -y xubuntu-desktop

リブートするとGUIのログイン画面が迎えてくれる。

Bluetoothのセットアップ

$ sudo apt install -y pi-bluetooth
bluetoothctl
デバイスをスキャン
# scan on
デバイスを表示
# devices
ペアリング
# pair <mac address>

キーボードの設定

Google日本語入力オープンソース

$ sudo apt install -y ibus-mozc

Chromiumのインストール

ブラウザはセキュリティの観点から最新版を使いたいので、多少のバグ覚悟でベータ版をインストール。

$ sudo snap install chromium --beta

VSCodeのインストール

公式に従ってインストールする。

code.visualstudio.com (accessed on 2021/12/31)

鍵のダウンロードとリポジトリの追加

$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
$ sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
$ rm -f packages.microsoft.gpg
$ sudo apt update
$ sudo apt install -y code

Dockerのインストール

$ curl -fsSL https://get.docker.com/ | bash

docs.docker.jp (accessed on 2022/1/7)

Gitはインストール済みなのでこれで一通りの開発環境が整った。

オーバークロック

GUIやブラウザの動きがもっさりしていたのでオーバークロックしてパフォーマンスを向上させる。

下準備

ハードウェア状態を監視するためのツールをインストール

$ sudo apt install -y libraspberrypi-bin

CPUクロックの定格をチェック

クロックを監視

$ watch -n 1 sudo vcgencmd measure_clock arm

温度を監視

$ watch -n 1 sudo vcgencmd measure_temp

電圧を取得

$ sudo vcgencmd measure_volts

スロットルの有無を確認

$ sudo vcgencmd get_throttled

オーバークロック

電圧とクロックを上げる。 /bootをいじるので慎重に。

ブートの設定は/boot/firmwareにある。 READMEを読んだら作業に入る。

$ sudo nano /boot/firmware/usercfg.txt

以下を追加

over_voltage=2
arm_freq=1750

保存してリブートするとオーバークロックが実現する。

over_voltageは+1で0.0250V上がると思われるが文献は未調査。 同じモデルでも初期電圧が違うのか、over_voltageは同じでもコマンドで得た電圧値が異なる。

最大までオーバークロック

https://magpi.raspberrypi.com/articles/how-to-overclock-raspberry-pi-4によると、2147MHzでブート出来なくなるらしい(これはgpu_freqをいじっているせいかもしれないが)。 ブート出来なくなっても別のマシンでSDカードを読み込んで設定を戻すか、OSを再インストールすれば良い。 最悪ボードが壊れても1万円でオーバークロックの勉強が出来たと思えばまあ。

私の場合は普段使いする予定なので、マージンを持たせて1900MHz(voltage+3)で稼働中。 恐らく2000MHzでも安定動作すると思うが問題は排熱機構で、ヒートシンク+ファンが付いているとは言えそれほど排熱性能が良いわけではないのでオーバークロックしすぎると夏場に昇天する可能性がある。

メインマシンの修理が完了したら限界を調査してみたいと思う。