DietPi Raspberry Pi Zero(w)

Raspbian liteより軽量と言われているディストリビューションDietPiをインストールしてみました。

DietPi https://www.dietpi.com/
ちょっとワルそうなイメージロゴですがベースはdebian buster,リポジトリは(Raspberry Pi)raspbianを使ってセキュリティーアップデートその他特に問題ないようです。

Raspberry Pi Zero(w)はヘッドレスとしてインストール、設定後はvnc serverをインストールしてRaspberry Pi Zeroに挿し替えてPi3のサブシステムとします。

インストール

DietPiのホームページからダウンロード、展開します。

$ wget https://dietpi.com/downloads/images/DietPi_RPi-ARMv6-Buster.7z
$ 7za x DietPi_RPi-ARMv6-Buster.7z


DietPi_v6.25_RPi-ARMv6-Buster.img
ddで書き込みカードを作成します。

起動オプション

起動する前に/boot/dietpi.txtと/boot/dietpi-wifi.txtを編集(当サイトの設定)
冒頭にあるとおり初回起動時1回のみこれらのファイルが適用されます。
ラングとタイムゾーンを設定(ディスプレイのある環境ではディフォルトのままがいいでしょう)
WiFiを有効 (AUTO_SETUP_NET_WIFI_ENABLED=1)
固定IPに設定 (AUTO_SETUP_NET_USESTATIC=1)
固定IPに設定した場合以下のIPなど環境に合わせて適切に設定しないと繋がらないネットワークになります。
デフォルトのswapfile設定は1=autoになっておりzeroでは1568M(1.53G)作成されます。cui用途や少容量のカードを使いたい場合などは直接値を指定します。(MB)
/boot/dietpi.txt

#-------------------------------------------------------------------
# D I E T - P I
# DietPi-Automation settings, applied on first boot of DietPi only, ONCE!
#------------------------------------------------------------------------
##### Language/Regional Options #####
AUTO_SETUP_LOCALE=ja_JP.UTF-8
# Timezone
AUTO_SETUP_TIMEZONE=Asia/Tokyo
##### Networking Options #####
AUTO_SETUP_NET_ETHERNET_ENABLED=1
AUTO_SETUP_NET_WIFI_ENABLED=1
# Enter your Static Network details below, if applicable.
AUTO_SETUP_NET_USESTATIC=1
AUTO_SETUP_NET_STATIC_IP=192.168.0.100
AUTO_SETUP_NET_STATIC_MASK=255.255.255.0
AUTO_SETUP_NET_STATIC_GATEWAY=192.168.0.1
AUTO_SETUP_NET_STATIC_DNS=8.8.8.8
##### Misc Options #####
# Swapfile size to generate: 0=disable | 1=auto (2GB-RAM = size) | 2+=manual (MB)
AUTO_SETUP_SWAPFILE_SIZE=1024

/boot/dietpi-wifi.txt wifi接続情報

# - Entry 0
# WiFi SSID (Case Sensitive)
aWIFI_SSID[0]='xxxxx-xxxxxxx-x'
# Key options: If no key (open), leave this blank
aWIFI_KEY[0]='xxxxyyyyzzzzz'

編集が済んだらカードをセットして起動 Pi3から接続
dietpiはavahi-daemonが動いていないのでIPかhostnameで接続するにはhostsまたはdnsで名前解決する必要があります。

ssh root@192.168.0.100
password: dietpi

ダイアログが出現してセットアップウイザードがスタートしますが…

カードの読み込みが終わって初回WiFiを認識するまで3分位かかるようです。WiFiの認証に時間がかかっているようです。
pingを打って反応があるのを確認してログインするのがいいと思います。


apt update && apt upgrade
約20分くらい


turbo option
取り敢えず No


survey
取り敢えず Ok


global software password
Cancel


Change user pssword
Cancel あとで
userはroot以外にdietpi(password:dietpi)が登録されています。


Serial Console disable
Cancel


DietPi Software
Install Ok


minimal image でいいか
Ok


セットアップ終了
所要時間 35分〜40分(ログインしてから)
再起動もなくここまできます。


かなりシンプルな構成でイイ感じ
pythonなどもインストールされていません。


ネットワークはnetworking.serviceがデーモンとして動いています。raspbian wheezyの頃の設定方法ですね。
dietpi.txtのネットワーク設定は/etc/network/interfacesに記載されます。
インストール後の設定変更はdietpi-configまたはこのファイルを編集します。


# dietpi-config
3 : Performance Options
ARM Initial Turbo : [20 seconds]
turbo optionはこの項目に数値(デフォルト 20)を入れることで有効になるようです。(効果は不明)
設定値は/DietPi/config.txtに保存された後/boot/config.txtに反映されます。直接編集する際は/DietPi/config.txtを編集することになります。

DietPiはデフォルトで1000MHz – 700MHzのクロック設定になっています。Raspbianと比較してキビキビ動く要因の一つとしてここらにもあるようです。

DietPi Zero(W)


正常にインストールが完了して最低限の環境が整えば通常のraspbianと同様にアプリケーションのインストール、設定が可能になります。
今回はraspbian liteからdietpiに置き換えが目的です。
Zeroの主な用途としてはPi3のサブシステムとしてまたローカル内のサーバーなどのsshクライアントのマスターとして常時運用しています。

vncserverはtightvncserverをインストールしています。
dietpiのsshはdropbearが採用されていますが使い慣れたopensshにインストールし直しています。
opensshにすることでデフォルトではrootログインは不可になります。

# apt -y purge dropbear-bin && apt -y install ssh

dietpiではオートマウント(udiskie)をうまく動かすことができませんでした。
raspbianと比較するとdietpiはハード(パフォーマンス)主体の印象があります。
余計なデーモンが動いていない分メモリ消費も少なく動作も明らかに軽いと思います。
今後はサーバー用途など特定の目的にはdietpiを使ってみようと思います。

通常は各タグにローカル内のマシンと常時ssh接続しています。
Pi3からはZeroをvncviewerで呼ぶことで即ローカル内のマシンを管理することができます。