- mkfs.fat -F 32 -n boot "$$lo" && mount -t vfat "$$lo" "$@.mnt/boot";
- cp -a "raspi_root/." "files/." "$@.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 root_copy 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 root_copy
+ 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
+
+busybox: imgmount root_copy
+ mkdir -p -m 755 "$</opt/busybox"
+ chroot "$<" busybox --install -s /opt/busybox
+
+${IMGFILE}: imgmount root_copy wifi_cfg ssh_key busybox
+ 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 "$</"