X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=modules%2Fdefault.mk;h=f93fd24797b87a45d81e1129823f01435183be12;hb=3d48379a58f2a438d77a437f04d99357cb25a72f;hp=326344006abffc2bdd6497bdd9b3ed7f5cef2c42;hpb=34a051307470e9b8efe29525e95832b52891ad4c;p=blast diff --git a/modules/default.mk b/modules/default.mk index 3263440..f93fd24 100644 --- a/modules/default.mk +++ b/modules/default.mk @@ -2,25 +2,51 @@ 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 +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 _raspberry_initrd +endif + +_raspberry_config: ${CFGROOT} + printf '%s\n' "$${RPICONFIG}" >>"$${CFGROOT}/boot/config.txt" + +_raspberry_initrd: ${CFGROOT} + printf 'nilfs2\n' >>"$${CFGROOT}/etc/initramfs-tools/modules" + k="$$(echo "$${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 @@ -70,7 +96,7 @@ _rootpass: ${CFGROOT} 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/" @@ -78,11 +104,12 @@ _rootkey: ${CFGROOT} ${rootkey}.pub _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" + sed -Ei "s;^127\.0\.0\.1.*$$;& $${hostname};" "$${CFGROOT}/etc/hosts" ifdef wifi _config: ${CFGROOT}/etc/network/interfaces.d/wifi @@ -95,6 +122,6 @@ ifdef wifi 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" >>$@ + printf ' wireless-essid "%s"\n' "$$wifi" >>$@ endif endif