ROOT_MB := $(shell printf '%i\n' "$$(( ${imagesize} - ${BOOT_MB} - 3 ))")
endif
-PACKAGES += btrfs-tools bzip2 ca-certificates cron deborphan firmware-linux-free gzip htop ifupdown iputils-ping irqbalance isc-dhcp-client less make net-tools nmap ntpdate openssh-client psmisc rsync sshfs sudo traceroute unzip vim wget wireless-tools wpasupplicant xz-utils zip
+PACKAGES += btrfs-progs bzip2 ca-certificates cron deborphan firmware-linux-free gzip htop ifupdown iputils-ping irqbalance isc-dhcp-client less make net-tools nmap ntpdate openssh-client psmisc rsync sshfs sudo traceroute unzip vim wget wireless-tools wpasupplicant xz-utils zip
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-256
+endef
+
+.PHONY: _debconf_selections _raspberry_config _keyboard
_install: _debconf_selections
_debconf_selections: ${SYSROOT}
printf '%s\n' "$${DEBCONF}" |chroot "$${SYSROOT}" debconf-set-selections
+ifdef keyboard
+ _config: _keyboard
+endif
+_keyboard: ${CFGROOT}
+ sed -Ei 's;^XKBLAYOUT=.*$$;XKBLAYOUT="${keyboard}";;' "$${CFGROOT}/etc/default/keyboard"
+
+ifdef raspi
+ _config: _raspberry_config
+endif
+_raspberry_config: ${CFGROOT}
+ printf '%s\n' "$${RPICONFIG}" >>"$${CFGROOT}/boot/config.txt"
+
.PHONY: _timezone _locales
ifdef timezone
chroot "$${CFGROOT}" usermod -p "$$(openssl passwd "$${rootpass}")" root
${rootkey}.pub:
- ssh-keygen -N '' -f "$${rootkey}"
+ [ -f "$@" ] || ssh-keygen -N '' -f "$${rootkey}"
_rootkey: ${CFGROOT} ${rootkey}.pub
mkdir -m 700 "$${CFGROOT}/root/.ssh/"
_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