]> git.plutz.net Git - blast/blobdiff - modules/default.mk
do not set up homedirs during image assembly (use pam instead)
[blast] / modules / default.mk
index 47f958b8b69f72883d79389bae391b8d78bc4e9c..1614fbd2d8a4a2c35a15d27c0e7e29f0907c58af 100644 (file)
@@ -8,18 +8,32 @@ ifdef packages
   PACKAGES += $(subst ${comma_},${space_},${packages})
 endif
 
-export DEBCONF
+export DEBCONF RPICONFIG
 
 define DEBCONF :=
+${DEBCONF}
+
 keyboard-configuration keyboard-configuration/model    select  Generic 105-key (Intl) PC
 keyboard-configuration keyboard-configuration/variant  select  English (US) - English (Macintosh)
 endef
 
-.PHONY: _debconf_selections
+define RPICONFIG :=
+${RPICONFIG}
+
+dtoverlay=vc4-fkms-v3d,cma-128
+endef
+
+.PHONY: _debconf_selections _raspberry_config
 _install: _debconf_selections
 _debconf_selections: ${SYSROOT}
        printf '%s\n' "$${DEBCONF}" |chroot "$${SYSROOT}" debconf-set-selections
 
+ifdef raspi
+  _config: _raspberry_config
+endif
+_raspberry_config: ${CFGROOT}
+       printf '%s\n' "$${RPICONFIG}" >>"$${CFGROOT}/boot/config.txt"
+
 .PHONY: _timezone _locales
 
 ifdef timezone
@@ -51,6 +65,11 @@ ifdef rootpass
   _config: _rootpass
 endif
 
+ifdef rootkey
+  export rootkey
+  _config: _rootkey
+endif
+
 ifdef users
   _config: _users
 endif
@@ -63,13 +82,20 @@ endif
 _rootpass: ${CFGROOT}
        chroot "$${CFGROOT}" usermod -p "$$(openssl passwd "$${rootpass}")" root
 
+${rootkey}.pub:
+       ssh-keygen -N '' -f "$${rootkey}"
+
+_rootkey: ${CFGROOT} ${rootkey}.pub
+       mkdir -m 700 "$${CFGROOT}/root/.ssh/"
+       cp "$${rootkey}.pub" "$${CFGROOT}/root/.ssh/authorized_keys"
+
 _users: ${CFGROOT}
        for u in $(subst ${comma_},${space_},${users}); do \
-               chroot "$${CFGROOT}" useradd -m -s /bin/bash -p "$$(openssl passwd "")" "$$u"; \
+               chroot "$${CFGROOT}" useradd -s /bin/bash -p "$$(openssl passwd "")" "$$u"; \
        done
 
 _hostname: ${CFGROOT}
-       printf '%s\n' "$${hostname}" "$${CFGROOT}/etc/hostname"
+       printf '%s\n' "$${hostname}" >"$${CFGROOT}/etc/hostname"
 
 ifdef wifi
   _config: ${CFGROOT}/etc/network/interfaces.d/wifi