2 ROOT_MB := $(shell printf '%i\n' "$$(( ${imagesize} - ${BOOT_MB} - 3 ))")
5 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
8 PACKAGES += $(subst ${comma_},${space_},${packages})
11 export DEBCONF RPICONFIG
16 keyboard-configuration keyboard-configuration/model select Generic 105-key (Intl) PC
17 keyboard-configuration keyboard-configuration/variant select English (US) - English (Macintosh)
23 dtoverlay=vc4-fkms-v3d,cma-256
26 .PHONY: _debconf_selections _raspberry_config _keyboard
27 _install: _debconf_selections
28 _debconf_selections: ${SYSROOT}
29 printf '%s\n' "$${DEBCONF}" |chroot "$${SYSROOT}" debconf-set-selections
35 -sed -Ei 's;^XKBLAYOUT=.*$$;XKBLAYOUT="${keyboard}";;' "$${CFGROOT}/etc/default/keyboard"
38 _config: _raspberry_config
40 _raspberry_config: ${CFGROOT}
41 printf '%s\n' "$${RPICONFIG}" >>"$${CFGROOT}/boot/config.txt"
43 .PHONY: _timezone _locales
57 printf '%s\n' "$${timezone}" >"$${CFGROOT}/etc/timezone"
58 ln -sf /usr/share/zoneinfo/"$${timezone}" "$${CFGROOT}/etc/localtime"
61 for l in $(subst ${comma_},${space_},${locales}); do \
62 printf '%s %s\n' "$${l}" "$${l#*.}"; \
63 done >"$${CFGROOT}/etc/locale.gen"
64 printf 'LANG=%s\n' "$(firstword $(subst ${comma_},${space_},${locales}))" >"$${CFGROOT}/etc/default/locale"
65 chroot "$${CFGROOT}" locale-gen
67 .PHONY: _rootpass _users _hostname
89 chroot "$${CFGROOT}" usermod -p "$$(openssl passwd "$${rootpass}")" root
92 [ -f "$@" ] || ssh-keygen -N '' -f "$${rootkey}"
94 _rootkey: ${CFGROOT} ${rootkey}.pub
95 mkdir -m 700 "$${CFGROOT}/root/.ssh/"
96 cp "$${rootkey}.pub" "$${CFGROOT}/root/.ssh/authorized_keys"
99 for u in $(subst ${comma_},${space_},${users}); do \
100 chroot "$${CFGROOT}" useradd -s /bin/bash -p "$$(openssl passwd "")" "$$u"; \
103 _hostname: ${CFGROOT}
104 printf '%s\n' "$${hostname}" >"$${CFGROOT}/etc/hostname"
105 sed -Ei "/127.0.0.1/a $${hostname}" "$${CFGROOT}/etc/hosts"
108 _config: ${CFGROOT}/etc/network/interfaces.d/wifi
111 ${CFGROOT}/etc/network/interfaces.d/wifi: ${CFGROOT}
112 printf 'auto wlan0\nallow-hotplug wlan0\n\niface wlan0 inet dhcp\n' >$@
113 printf ' wpa-ssid "%s"\n wpa-psk "%s"\n' "$$wifi" "$$wifipass" >>$@
116 ${CFGROOT}/etc/network/interfaces.d/wifi: ${CFGROOT}
117 printf 'auto wlan0\nallow-hotplug wlan0\n\niface wlan0 inet dhcp\n' >$@
118 printf ' wireless-ssid "%s"\n' "$$wifi" >>$@