diff options
author | Christian Pointner <equinox@spreadspace.org> | 2022-09-05 00:04:25 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2022-09-05 00:04:25 +0200 |
commit | 18c8a90e267dd06c587229066544d39e91656a0b (patch) | |
tree | ed8a022d0b437779927e7e0451fff63382c0648a /roles/raspios/image/templates/firstrun.sh.j2 | |
parent | raspios: major refactoring for image fetching, TODO: customization (diff) |
raspios: image customization works now
Diffstat (limited to 'roles/raspios/image/templates/firstrun.sh.j2')
-rw-r--r-- | roles/raspios/image/templates/firstrun.sh.j2 | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/roles/raspios/image/templates/firstrun.sh.j2 b/roles/raspios/image/templates/firstrun.sh.j2 new file mode 100644 index 00000000..c91c952f --- /dev/null +++ b/roles/raspios/image/templates/firstrun.sh.j2 @@ -0,0 +1,36 @@ +#!/bin/bash +set +e + +{# https://loganmarchione.com/2021/07/raspi-configs-mostly-undocumented-non-interactive-mode/ #} + +raspi-config nonint do_hostname "{{ host_name }}" +raspi-config nonint do_change_locale "{{ raspios_locale }}" +raspi-config nonint do_change_timezone "{{ raspios_timezone }}" +raspi-config nonint do_configure_keyboard "{{ raspios_keyboard_layout }}" + +{# 0 -> predictable interface names, 1 -> legacy (eth0...) #} +raspi-config nonint do_net_names 0 +{% if not (install_dhcp | default(false)) %} +cat <<EOF >> /etc/dhcpcd.conf + +# +interface eth0 +static ip_address={{ network.primary.address }} +static routers={{ network.primary.gateway }} +static domain_name_servers={{ network.nameservers | join(' ') }} +EOF +{% endif %} + +{% if ansible_port != 22 %} +sed -e 's/^#*Port .*$/Port {{ ansible_port }}/' -i /etc/ssh/sshd_config +{% endif %} +install -m 0700 -d /root/.ssh +install -m 0644 /boot/firstrun.authorized_keys /root/.ssh/authorized_keys +{# 0 -> enable ssh, 1 -> disable ssh #} +raspi-config nonint do_ssh 0 + +DEBIAN_FRONTEND=noninteractive dpkg -P userconf-pi +sed 's#systemd.run=/boot/firstrun.sh systemd.run_success_action=reboot systemd.unit=kernel-command-line.target##' -i /boot/cmdline.txt +sed 's#\s*$##' -i /boot/cmdline.txt +rm /boot/firstrun.authorized_keys +rm /boot/firstrun.sh |