export DEBCONF RPICONFIG
-ifndef keyboard
-keyboard := English (US) - English (Macintosh)
-endif
-
define DEBCONF :=
${DEBCONF}
keyboard-configuration keyboard-configuration/model select Generic 105-key (Intl) PC
-keyboard-configuration keyboard-configuration/variant select ${keyboard}
+keyboard-configuration keyboard-configuration/variant select English (US) - English (Macintosh)
endef
define RPICONFIG :=
_debconf_selections: ${SYSROOT}
printf '%s\n' "$${DEBCONF}" |chroot "$${SYSROOT}" debconf-set-selections
-_config: _keyboard
-_keyboard: ${CFGROOT} _debconf_selections
- rm "$${CFGROOT}/etc/default/keyboard"
- chroot "$${CFGROOT}" dpkg-reconfigure --default-priority -u keyboard-configuration
+ifdef keyboard
+ _config: _keyboard
+endif
+_keyboard: ${CFGROOT}
+ -sed -Ei 's;^XKBLAYOUT=.*$$;XKBLAYOUT="${keyboard}";;' "$${CFGROOT}/etc/default/keyboard"
ifdef raspi
- _config: _raspberry_config
+ _config: _raspberry_config _raspberry_initrd
endif
+
_raspberry_config: ${CFGROOT}
printf '%s\n' "$${RPICONFIG}" >>"$${CFGROOT}/boot/config.txt"
+_raspberry_initrd: ${CFGROOT}
+ k=$${CFGROOT}/lib/modules/*-v7+; \
+ chroot $${CFGROOT} update-initramfs -c -k "$${k##*/}"; \
+ printf 'initramfs initrd.img-%s\n' "$${k##*/}" >>"$${CFGROOT}/boot/config.txt"
+
.PHONY: _timezone _locales
ifdef timezone
_hostname: ${CFGROOT}
printf '%s\n' "$${hostname}" >"$${CFGROOT}/etc/hostname"
+ sed -Ei "s;^127\.0\.0\.1.*$$;& $${hostname};" "$${CFGROOT}/etc/hosts"
ifdef wifi
_config: ${CFGROOT}/etc/network/interfaces.d/wifi