ifdef imagesize 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 ifdef packages PACKAGES += $(subst ${comma_},${space_},${packages}) endif export DEBCONF define 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 _install: _debconf_selections _debconf_selections: ${SYSROOT} printf '%s\n' "$${DEBCONF}" |chroot "$${SYSROOT}" debconf-set-selections .PHONY: _timezone _locales ifdef timezone export timezone PACKAGES += tzdata _config: _timezone endif ifdef locales PACKAGES += locales _config: _locales endif _timezone: ${CFGROOT} printf '%s\n' "$${timezone}" >"$${CFGROOT}/etc/timezone" ln -sf /usr/share/zoneinfo/"$${timezone}" "$${CFGROOT}/etc/localtime" _locales: ${CFGROOT} for l in $(subst ${comma_},${space_},${locales}); do \ printf '%s %s\n' "$${l}" "$${l#*.}"; \ done >"$${CFGROOT}/etc/locale.gen" printf 'LANG=%s\n' "$(firstword $(subst ${comma_},${space_},${locales}))" >"$${CFGROOT}/etc/default/locale" chroot "$${CFGROOT}" locale-gen .PHONY: _rootpass _users _hostname ifdef rootpass export rootpass _config: _rootpass endif ifdef rootkey export rootkey _config: _rootkey endif ifdef users _config: _users endif ifdef hostname export hostname _config: _hostname 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"; \ done _hostname: ${CFGROOT} printf '%s\n' "$${hostname}" "$${CFGROOT}/etc/hostname" ifdef wifi _config: ${CFGROOT}/etc/network/interfaces.d/wifi ifdef wifipass export wifi wifipass ${CFGROOT}/etc/network/interfaces.d/wifi: ${CFGROOT} printf 'auto wlan0\nallow-hotplug wlan0\n\niface wlan0 inet dhcp\n' >$@ printf ' wpa-ssid "%s"\n wpa-psk "%s"\n' "$$wifi" "$$wifipass" >>$@ else export wifi ${CFGROOT}/etc/network/interfaces.d/wifi: ${CFGROOT} printf 'auto wlan0\nallow-hotplug wlan0\n\niface wlan0 inet dhcp\n' >$@ printf ' wireless-ssid "%s"\n' "$$wifi" >>$@ endif endif