This commit is contained in:
Pat Nakajima 2026-05-21 00:17:38 +00:00
parent 13dce65128
commit df2da8cfab

View File

@ -39,7 +39,6 @@ apt-get install -y \
jq \
git \
locales \
network-manager \
wpasupplicant \
iproute2 \
isc-dhcp-client \
@ -64,12 +63,59 @@ apt-get install -y \
locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8
echo "====> configuring Wi-Fi for direct wpa_supplicant control"
mkdir -p /etc/NetworkManager/conf.d
cat >/etc/NetworkManager/conf.d/10-unmanaged-wifi.conf <<'EONM'
[keyfile]
unmanaged-devices=type:wifi
EONM
echo "====> configuring bluetooth for Matter commissioning"
mkdir -p /etc/systemd/system/bluetooth.service.d
cat >/etc/systemd/system/bluetooth.service.d/10-matter.conf <<'EOBT'
[Service]
ExecStart=
ExecStart=/usr/libexec/bluetooth/bluetoothd -E -P battery
EOBT
systemctl enable bluetooth.service
echo "====> configuring wlan0 for wpa_supplicant + systemd-networkd"
apt-get purge -y network-manager || true
systemctl disable NetworkManager.service NetworkManager-wait-online.service NetworkManager-dispatcher.service || true
systemctl mask NetworkManager.service NetworkManager-wait-online.service NetworkManager-dispatcher.service || true
mkdir -p /etc/wpa_supplicant
cat >/etc/wpa_supplicant/wpa_supplicant-wlan0.conf <<'EOWPA'
ctrl_interface=DIR=/run/wpa_supplicant GROUP=netdev
update_config=1
EOWPA
chmod 0600 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
mkdir -p /etc/systemd/system/wpa_supplicant.service.d
cat >/etc/systemd/system/wpa_supplicant.service.d/10-wlan0.conf <<'EOSD'
[Unit]
Requires=sys-subsystem-net-devices-wlan0.device
After=sys-subsystem-net-devices-wlan0.device
[Service]
ExecStart=
ExecStart=/usr/sbin/wpa_supplicant -u -s -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant-wlan0.conf -O "DIR=/run/wpa_supplicant GROUP=netdev"
Restart=on-failure
RestartSec=2s
EOSD
mkdir -p /etc/systemd/network
cat >/etc/systemd/network/00-wlan0.network <<'EONET'
[Match]
Name=wlan0
[Link]
RequiredForOnline=no
[Network]
DHCP=yes
IPv6AcceptRA=yes
[DHCPv4]
RouteMetric=600
EONET
systemctl enable wpa_supplicant.service
systemctl enable systemd-networkd.service
systemctl enable systemd-resolved.service
echo "====> creating toes user"
if id -u toes >/dev/null 2>&1; then
@ -96,7 +142,7 @@ echo "====> installing rgbled"
curl -fsSL https://git.nose.space/nakajima/rgbled/releases/download/v0.1.1/install.sh | bash
echo "====> installing matter stack"
curl -fsSL https://git.fishmt.net/nakajima/toes-matter/releases/download/v0.1.1/install.sh | sh
curl -fsSL https://git.fishmt.net/nakajima/toes-matter/releases/download/latest/install.sh | sh
if [ ! -x /usr/local/bin/toes-matter ]; then
echo "missing /usr/local/bin/toes-matter after install" >&2
exit 1