今回の記事はRaspberry PiにRoonBridgeをインストールするやり方について書きます。
ハードウェアはRaspberry Pi4を使います。最初にOSをインストールして、次にRaspberry Piの各種設定をして最後にRoonBridgeをインストールする流れで進めます。
◆OSの選択
RoonBridgeはRoonServerと同じくサービスとして起動します。従ってOSは標準のヘッドレスOSのRaspberry Pi OS Liteを使います。ヘッドレスOSとはGUIのないOSのことです。
RoonBridge専用マシンを構築する場合GUI環境は必要はありません。GUI環境は無駄にコンピュータのリソースを使ってしまい音質的にも勧められません。以前ヘッドレスのRaspberry PiOSに別途デスクトップ環境をインストールしたことがありますが、見たこともないほど膨大な量のパッケージがインストールされて、メモリ使用量も結構増えました。それだけGUI環境は重たいのです。
◆Raspberry Pi OS LiteのインストールとSSHリモート
OSイメージをSDカードに書き込み、OSが起動したらログインします。
user:pi
password: raspberry
OS情報を見る
$ sudo cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
SSHを有効にします。
$ sudo raspi-config >>> 3. interface option >>> SSH >>> enable
IPアドレスを調べます
$ ip a
eth0 の inet の横のIPアドレスをチェック
ノートPCのTerra TermなどのターミナルアプリでRaspberry PiにSSHログインします。
IPアドレスを打つ他、ホスト名"raspberrypi"でもログインできます。
以下の作業は全てSSHリモートで行います。
Raspberry Pi OSはデフォルトでSSHが有効になっていませんが、最初のOSのブート時にSSHを有効にできる方法があります。ヘッドレスインストールできるのでお勧めです。やり方は
こちらのサイトなどが分かりやすいと思います。
◆初期設定
タイムゾーンの設定とパスワードの変更とホスト名の変更をします。
$ sudo raspi-config
◆パッケージを最新にする
$ sudo apt update
$ sudo apt upgrade
◆Wi-FiとBluetoothの無効化
$ sudo nano /boot/config.txt
設定ファイルの最後に以下を追記
dtoverlay=disable-bt
dtoverlay=disable-wifi
◆内蔵音声出力の無効化
$ sudo nano /boot/config.txt
以下の行をコメントアウト
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
↓
# Enable audio (loads snd_bcm2835)
# dtparam=audio=on
◆必要のないサービスの無効化
RoonBridgeの運用に必要のないサービスを無効化します。
(例)
$ sudo systemctl stop avahi-daemon.service
$ sudo systemctl disable avahi-daemon.service
サービスの内容がどんなものか調べたいときは、例えば
$ sudo systemctl status keyboard-setup.service
と打つと、
pi@raspibridge:~ $ sudo systemctl status keyboard-setup.service
● keyboard-setup.service - Set the console keyboard layout
(以下略)
"Set the console keyboard layout" つまりコンソールのキーボードレイアウト設定に関するサービスだとわかります。これを無効化してしまうとコンソールのキーボード入力ができなくなるかも知れません。よくわかりませんが大切なサービスのようですのでこのサービスは有効のままにしておきます。
私の場合は以下のサービスだけを残して残りは無効化しています。
$ sudo systemctl list-unit-files --type service --state=enabled
UNIT FILE STATE VENDOR PRESET
console-setup.service enabled enabled
dhcpcd.service enabled enabled
dphys-swapfile.service enabled enabled
e2scrub_reap.service enabled enabled
fake-hwclock.service enabled enabled
getty@.service enabled enabled
keyboard-setup.service enabled enabled
networking.service enabled enabled
roonbridge.service enabled enabled
rpi-display-backlight.service enabled enabled
rsyslog.service enabled enabled
ssh.service enabled enabled
sshswitch.service enabled enabled
systemd-pstore.service enabled enabled
systemd-timesyncd.service enabled enabled
◆RoonBridgeのインストール
$ curl -O http://download.roonlabs.com/builds/roonbridge-installer-linuxarmv7hf.sh
$ sudo chmod +x roonbridge-installer-linuxarmv7hf.sh
$ sudo ./roonbridge-installer-linuxarmv7hf.sh
$ curl -O https://download.roonlabs.net/builds/roonbridge-installer-linuxarmv8.sh
$ chmod +x roonbridge-installer-linuxarmv8.sh
$ sudo ./roonbridge-installer-linuxarmv8.sh
*Raspberry Pi OS Lite 64bit版に合わせて修正しました
RoonBridgeのステータス確認
$ sudo systemctl status roonbridge.service
◆固定IPアドレス設定
最後に必要に応じて固定IPアドレス設定をします。
以前の記事で紹介したようにRoon CoreとRoonBridgeをPeer To Peer接続する場合は固定IPアドレス設定が必要です。Peer To Peer接続した場合はこのRaspberry Piがインターネットにつながらなくなるので、固定IPアドレス設定は最後に行います。
$ sudo nano /etc/dhcpcd.conf
設定ファイルの最後に追記(一例)
# static IP configuration:
interface eth0
static ip_address=192.168.xxx.yyy/24
static routers=192.168.xxx.zzz
以上で一通りの設定は完了です。RoonアプリでRoon Bridgeの音声出力デバイスが表示されているのを確認します。システムのシャットダウンや再起動は必要に応じて行ってください。
◆CPU温度を測る
ラズパイ4はCPUが熱を持ちやすいのでCPU温度を適時チェックすると良いです。
$ vcgencmd measure_temp
temp=43.8'C
◆オーディオ用HATの設定
オーディオ用HATを取り付けている場合は別途HATの設定を行います。
例) allo digione signatureの場合
$ sudo nano /boot/config.txt
以下1行を追記
サウンドカードの確認
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: sndallodigione [snd_allo_digione], device 0: Allo DigiOne HiFi wm8804-spdif-0 [Allo DigiOne HiFi wm8804-spdif-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2 にAllo DigiOne が割り当てられています。
◆おまけ USBブート
ラズベリーパイ4はUSBメモリやSSDからブートすることもできます。私は16GBのUSB3.0メモリでOSをブートしています。USBブートのやり方は
こちらのサイトなどを参考にすると良いでしょう。
(2021/12/16 記事修正しました)
(2021/12/18 記事一部修正しました)
(2021/12/25 記事追記しました)