Raspberry Pi3のOSをどうするか?
そろそろ連続稼働させているRaspberry Pi3のUbuntuが賞味期限切れなので、distributionをupdateしようとおもったが、partition sizeの問題でできなかったので、心機一転 clean installして、設定し直すことにした。
See Ubuntu do-release-upgrade が 失敗したとき
OS | 所感 |
---|---|
Ubuntu Mate 22.04 arm32(armv7a) | RPi3 Rev.B では、色々とsdcardを変えてはみたが起動できなかった。同じsdcardでもarm64 imageは起動はできるので、本家の作成したimageで、RPi3 RevBで、ちゃんと確認できていないのでは無いかなと思われる。 |
Ubuntu Mate 22.04 arm64(aarch64) | RPi3のCoretex-A53+1GBでは処理が重すぎた。しかも、sdcard上にdefaultでswapすら作っており、長時間稼働には向かない |
Ubuntu 22.04 Desktop | Ubuntu Mateとの差はMateはgnome2を使っている点の差なので、もう22.04世代では実用的にRPi3ではDesktopは動かせないと判断 |
Ubuntu Server 22.04 arm64 | 起動はしたが、X serverなし(GUIなし)なのに、key入力応答すらおいつかないぐらい遅い |
Ubuntu Server 22.04 arm32(armv7a) | 過去のUbuntu Mate Desktop 16.04(armv7-aのみ)よりも遅いが、aarch64よりはマシだったのでこれにした |
Short Takeaway: Raspberry Pi3 B (Cortex-A53)では、もう最近のUbuntuをそのまま動かすにはつらい。Ubuntu Server (CLI = no GUI)であれば、 まだギリギリ動かせる。
2024/3/10追記:
arm32(armv7a)のUbuntu Server 22.04 LTSを使っていましたが、余りに遅く、18.04LTSがupgradeした環境との反応速度差が大きすぎるので、Ubuntu Mate 18.04LTS (armv7a) -> Ubuntu Mate 20.04LTS -> Ubuntu Mate 22.04LTSへdo-release-upgradeを繰り返したところ、最初からUbuntu 22.04を入れるよりも圧倒的に反応速度が速く動かすことができました。free -hで見てもGUIなのに300MB以上空いていました(1GBのRAMです)。
Ubuntu Serverとは
-
通常 (Desktop版は)、GUIのDesktop環境があるが、それを廃したもの。
(なお、Desktop版でも、Desktopを無効化もできる)
焼くとどうなるのか?
CLIで起動します。
ちゃんとhdmiでconsoleが出ます。USB keyboardも使えます。
が、Multi WindowのようなX環境はありません。
sshは使えるの?
有線で接続した場合、sshが使えるように最初からconfigされています。
See sshの設定覚書
なお、上のUbuntu 22.04ではまったことにもssh関係の記載あります
user管理
id/passwordは?
id/password共に、 ubuntu
です。
初回ログイン時に、変更を求められます。
Current password: ubuntu
New password: 設定したいpassword
Retype password: 上と同じpassword
のようにして設定します
Userを追加するには?
$ sudo adduser USER_NAME
追加したuserでsudoを可能にするには?
$ sudo gpasswd -a USER_NAME sudo
以下で確認を
$ groups USER_NAME
例
ubuntu@ubuntu:~$ groups ubuntu
ubuntu : ubuntu adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd
のように sudo
groupにも属していれば sudo
可能です
Networkの設定
/etc/netplan/50-cloud-init.yaml
というファイルが
これは直接編集しないこと。
コピーなどして、これをベースにするのはOkですが
$ sudo vim /etc/netplan/99-myconfig.yaml
有線ネットワークの設定例 (dhcp)
network:
version: 2
ethernets:
eth0:
dhcp4: true
optional: true
無線ネットワークの設定例 (dhcp)
上の有線ネットワークの後ろにwifis:
というsectionを追加する
network:
version: 2
wifis:
wlan0:
dhcp4: false
access-points:
"YOUR-SSID":
password: "********"
addresses: [192.168.1.10/24]
nameservers:
addresses: [192.168.1.1, 8.8.8.8]
routes:
- to: default
via: 192.168.1.1
設定の反映
$ sudo netplan apply
記載ミスがあると怒られますので、修正しましょう。。。
avahi : mDNSのinstall
$ sudo apt-get install avahi-daemon
$ cat /etc/hostname
hostnameの設定
$ sudo hostnamectl set-hostname myhost
$ hostname
myhost
$ cat /etc/hostname
myhost
のようにして、defaultの ubuntu
から 上の例では myhost
へ変更
TimeZone to JST
$ sudo timedatectl set-timezone Asia/Tokyo
電圧低下警告やthrottlingの無効化
電源容量が大丈夫だが、電圧低下はする場合、すぐにthrottlingされてしまうと、パフォーマンスの低下が気になります。
本来はやってはいけないのですが、電源容量が4.8A大丈夫(2.4A*2大丈夫なもの)とかの電源など、問題が無いことがわかっているのであれば、、、
$ sudo su
# vim /boot/firmware/config.txt
avoid_warnings=2
=1だと警告表示を無効化のみ
=2だとthrottlingを無効化
$ sync
$ sudo reboot
して確認.
chmod +w /boot/firmware/config.txt
しないと書けないかも.
確認方法 : 電圧低下によるthrottlingの状況把握
#!/bin/bash
while true; do cat /sys/devices/platform/soc/soc:firmware/get_throttled; sleep 1; done
poll_throttling.sh &
して実行してみてください。
-
0
は通常動作 -
0
以外 (50005
のような)は、throttling (速度低下)状態
です。
なので、負荷を掛けても、ずっと、0
が表示され続ければ、Raspberry Piの電圧低下+throttlingがされていません。