== 1-prep README This 1st https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide#ansible[stage] (1-prep) arranges low-level things like remote support infra, DNS prep, hardware, low-level OS quirks, and basic security: * SSHD * Tailscale if/as needed later for remote support * https://github.com/iiab/iiab/tree/master/roles/iiab-admin#iiab-admin-readme[iiab-admin] username and group, to log into Admin Console * dnsmasq (install now, configure later!) * Universally unique identifier: /etc/iiab/uuid * Ubermix (distro) needs /etc/tmpfiles.d/iiab.conf to create essential /var/log subdirs on each boot * *_Hardware actions:_* ** link:tasks/install-expand-rootfs.yml[*_install-expand-rootfs.yml_*]: *** Install https://en.wikipedia.org/wiki/APT_(software)[apt] packages parted (reveals last partition) and cloud-guest-utils (for growpart) *** Install link:templates/iiab-expand-rootfs[/usr/sbin/iiab-expand-rootfs] that acts on flag flag `/.expand-rootfs` *** Enable iiab-expand-rootfs.service so this can happen during any future boot-up ** link:tasks/raspberry_pi.yml[*_raspberry_pi.yml_*]: *** RTC (real-time clock): install udev rule, configure, enable *** Install apt packages fake-hwclock (as above RTC is often missing or dead!) and dphys-swapfile (for swap file below) *** Increase swap file size (to `pi_swap_file_size`) ** NUC 6 Wi-Fi firmware ** Check for WiFi devices (if so, set `has_wifi_device`) Recap: Similar to 0-init, 2-common, 3-base-server, 4 server-options and 5-xo-services — this 1st stage installs core server infra (that is not user-facing).