- mkfs.fat -F 32 -n boot "$$lo" && mount -t vfat "$$lo" "$@.mnt/boot";
- cp -a "$<." "$@.mnt/"
- umount "$@.mnt/boot/" "$@.mnt/"
- losetup -a |sed -rn '/$@/{s;^([^:]+):.*$$;\1;p;q}' |xargs losetup -d
- losetup -a |sed -rn '/$@/{s;^([^:]+):.*$$;\1;p;q}' |xargs losetup -d
- rmdir "$@.mnt/"
+ mkfs.fat -F 32 -n boot "$$lo" && mount -t vfat "$$lo" "$@/boot";
+
+root_copy: imgmount raspi_root/ files/
+ cp -a "raspi_root/." "files/." "$</"
+
+id_rsa.pub:
+ ssh-keygen -b 2048 -t rsa -N '' -f id_rsa
+
+ssh_key: imgmount id_rsa.pub
+ mkdir -p "$</root/.ssh/"
+ cat id_rsa.pub >>"$</root/.ssh/authorized_keys"
+ chmod 700 "$</root" "$</root/.ssh"
+ chmod 600 "$</root/.ssh/authorized_keys"
+
+wifi_cfg: imgmount
+ printf '%s\n' "$$WIFI_CFG" >"$</etc/network/interfaces.d/wifi"
+ chmod 644 "$</etc/network/interfaces.d/wifi"
+ chroot "$<" systemctl disable systemd-networkd-wait-online.service
+
+${IMGFILE}: imgmount root_copy wifi_cfg ssh_key
+ umount "$</boot/" "$</"
+ losetup -a |sed -En '/${IMGFILE}/{s;^([^:]+):.*$$;\1;p;q}' |xargs losetup -d
+ losetup -a |sed -En '/${IMGFILE}/{s;^([^:]+):.*$$;\1;p;q}' |xargs losetup -d
+ rmdir "$</"