271177a0f7
wpa_passphrase writes its error messages to stdout, so this needs to tee so that errors are visable to user. Also need to enable pipefail so that the error code still gets caught.
32 lines
997 B
Bash
Executable File
32 lines
997 B
Bash
Executable File
#!/bin/bash -e
|
|
|
|
install -v -d "${ROOTFS_DIR}/etc/systemd/system/dhcpcd.service.d"
|
|
install -v -m 644 files/wait.conf "${ROOTFS_DIR}/etc/systemd/system/dhcpcd.service.d/"
|
|
|
|
install -v -d "${ROOTFS_DIR}/etc/wpa_supplicant"
|
|
install -v -m 600 files/wpa_supplicant.conf "${ROOTFS_DIR}/etc/wpa_supplicant/"
|
|
|
|
if [ -v WPA_COUNTRY ]; then
|
|
echo "country=${WPA_COUNTRY}" >> "${ROOTFS_DIR}/etc/wpa_supplicant/wpa_supplicant.conf"
|
|
fi
|
|
|
|
if [ -v WPA_ESSID ] && [ -v WPA_PASSWORD ]; then
|
|
on_chroot <<EOF
|
|
set -o pipefail
|
|
wpa_passphrase "${WPA_ESSID}" "${WPA_PASSWORD}" | tee -a "/etc/wpa_supplicant/wpa_supplicant.conf"
|
|
EOF
|
|
elif [ -v WPA_ESSID ]; then
|
|
cat >> "${ROOTFS_DIR}/etc/wpa_supplicant/wpa_supplicant.conf" << EOL
|
|
|
|
network={
|
|
ssid="${WPA_ESSID}"
|
|
key_mgmt=NONE
|
|
}
|
|
EOL
|
|
fi
|
|
|
|
# Disable wifi on 5GHz models
|
|
mkdir -p "${ROOTFS_DIR}/var/lib/systemd/rfkill/"
|
|
echo 1 > "${ROOTFS_DIR}/var/lib/systemd/rfkill/platform-3f300000.mmc:wlan"
|
|
echo 1 > "${ROOTFS_DIR}/var/lib/systemd/rfkill/platform-fe300000.mmc:wlan"
|