Raspberry Pi OS (32-bit) with desktop ヘッドレスインストール

Raspberry Pi OS 2020-05-27 がリリースされています。
Raspberry Pi OS (previously called Raspbian) – (以前はRaspbianと呼ばれていました)
RaspbianからRaspberry Pi OSに名称変更になったようです。
明示的に32-bitと謳っているので64-bit版のリリースも近いのでしょうか?
当サイトのRaspberry Pi4は相変わらずHDMIモニタは無いので作業マシン(Raspberry Pi3)からヘッドレスインストールしてみようと思います。

カード作成

# dd if=2020-05-27-raspios-buster-armhf.img of=/dev/sdx bs=1M status=progress


カードは認識したデバイス名で間違えないように!

作成したカードの/bootに空のsshとWiFiでインストールする場合はwpa_supplicant.confを作成しておきます。
wpa_supplicant.confは起動後所定の位置(/etc/wpa_supplicant)に移動記録される
またカードの/etc/dhcpcd.confには固定IPを振っておきます。

/media/boot (/media/bootにマウント)

$ touch ssh

Pi3のwpa_supplicant.confをコピー

$ cp /etc/wpa_supplicant/wpa_supplicant.conf /media/boot

wpa_supplicant.conf(例)

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
        ssid="xxxxx-xxxxxxx-xxx" # SSID
        psk="xxxxxxxxxxxxxxxxx"  # PASSWORD 
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        priority=2
}

/media/rootfs/etc/dhcpcd.conf (/media/rootfsにマウント)
末尾に追記(ネットワーク帯は各自、interfaceは特に指定なし、有線を接続すれば認識する)

static ip_address=192.168.0.4/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

カードをセットして起動

初回、起動するまで少し時間がかかります。
Raspberry Pi3からsshで接続、ログインしてvncserverを起動

$ ssh pi@192.168.0.4
$ vncserver


RealVNC serverがスタート、ポート番号は:1(5901)が割り当てられます。
Pi3のデフォルトvncviewerはrealvnc-vnc-viewerですが当サイトではtigervnc-viewerをインストールしています。tigervnc-viewerからはアクセスできないので一旦removeしてrealvnc-vnc-viewerをインストール

# apt remove tigervnc-viewer

realvnc-vnc-viewerをインストール

vnc-viewerを起動してインストール開始


メニュー – インターネット – VNC Viewer
アドレス+ポート番号 192.168.0.4:1


Username pi
Password raspberry


Warning
pi password change
OK


Set up Start


Set Country
Japan


Change Password


Next


Select WiFi Network
wpa_supplicant.confで設定したSSIDを選択


Update Software
通常は多少時間がかかるのですがリリースしたばかり(更新ファイルが少ない)なので割合早い


Setup Complete
ここでrestartするとvncserverが起動していないのでvncviewerからは再接続できません。

自動起動設定をします。

/etc/init.d/vncboot 作成

#! /bin/sh    

### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO

# /etc/init.d/vncboot

USER=pi
HOME=/Home/pi

export LANG='ja_JP.UTF-8'
export USER HOME

case "$1" in
    start)
        echo "Starting VNC Server"
        #Insert your favoured settings for a VNC session
        su $USER -c '/usr/bin/vncserver :1'
        ;;

    stop)
        echo "Stopping VNC Server"
        su $USER -c '/usr/bin/vncserver -kill :1'
        ;;

    *)
        echo "Usage: /etc/init.d/vncboot {start|stop}"
        exit 1
        ;;
esac

exit 0

実行権限を付けてenable、リブート

# chmod 755 vncboot
# systemctl enable vncboot
# reboot


再度接続
パスワードを変更したので再度聞かれます。Remember Passwordにチェックを入れたほうがいいでしょう


起動しました。カーソルがXデフォルトの”X“形状になっています。ターミナルから

$ xsetroot -cursor_name left_ptr

を実行すると通常の矢印になるのですがReal VNCではどこで設定するのかわかりません。
取り敢えず.bashrcに上記のコマンドを書いておくとターミナルを起動した時点でカーソルが変わります。
UIは変更する予定です。