Orange Pi 3Bに、Home Assistantを入れる。

top-image

Orange Pi 3Bは、2024年5月に新モデルになっている。

After May 2024(Orange Pi 3B V2.1)では、M.2 SSDの設置向きが変わり2280サイズが設置できます。Before May 2024(Orange Pi 3B V1.1)でのM.2 SSDのサイズは、2230と2242まででした。その代わり新しいモデルでは4mmほど長辺が長くなっています。(ケースを購入する場合は要注意です。)

HomeAssistantの構築

HomeAssistantのコミュニティで、Orange Pi 3BでHomeAssistantを動作させている情報はあまり多くない。そんな中、下記の情報が一番しっかりしている。

ここで紹介しているベースのOSはArmbianというもの。ARMベースのシングルボード用ディストリビューションで、いろいろなシングルボード用のを用意しています。Orange Pi 3B用のイメージもあるのですが、新モデルには対応していないようです。具体的にはEthrnetが動作しません。WLANなら動くのでEthrnetを使わない予定なら良いのかも?

ただ、ここで紹介している方法が何をしているのか理解できると一箇所修正するだけで、うまく行くことが分かりました。

ちなみに、いろいろ実験した結果、どんなOrange Pi 3B用LinuxイメージでもDockerがインストールできればHomeAssistantは大抵乗る。ただ、AppArmorの有効化 と CGroupのバージョンをv1にする必要があると言われ、イメージによっては、その対応できない場合もある。

具体的な解決方法

上記で紹介したコミュニティに書かれた方法で、AppArmorの有効化 と CGroupのバージョンをv1にする方法は、下記の2行で対応している。

apt install apparmor

echo "extraargs=apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false" >> /boot/armbianEnv.txt

最後の/boot/armbianEnv.txtは、Armbianで使われるbootのためのファイルで、他のディストリビューションには存在しないファイル。なので、ここを変更します。

私が試したのは、Orange Pi 3BのOfficial ImagesのDebianです。「Orangepi3b_1.0.6_debian_bookworm_server_linux5.10.160」

変更するのは、orangepiEnv.txt。ここに、同じように追加すればよいのです。

変更前:
extraargs=cma=128M

変更後:
extraargs=cma=128M apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false

後は手順通りでHomeAssistantがインストールできました。

夏休み中には完成しなかったが、ようやく仕事の前後の時間を使って構築できました。次はM.2 SSDで起動させ、そこにHomeAssistantを構築して見ようと思う。