]> git.plutz.net Git - blast/blobdiff - Makefile
enable pxe/nbd boot
[blast] / Makefile
index 62ebebe1892b85822b683d2c8bc5f6cf9d5ff36f..ef1af7579aee04593836fcffe5ce3f9d67275e77 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -73,14 +73,16 @@ else ifdef squash
   SQUASH := ${squash}
   SYSROOT := sys_root/
   CFGROOT := cfg_root/
+
+  PACKAGES += squashfs-tools nbd-client
   
   _target: _squash _install _config
   
   _bootstrap:
   _install: _bootstrap
   _copy: _install
-  _config: _copy
-  _squash: _config _squash_modules
+  _config: _copy _squash_modules
+  _squash: _config
 
 else ifdef raspi
   VOLUME := ${raspi}
@@ -98,7 +100,7 @@ else ifdef raspi
   deb  http://archive.raspberrypi.org/debian stretch main
   endef
 
-PACKAGES := ${PACKAGES} firmware-brcm80211 libraspberrypi-bin libraspberrypi0 pi-bluetooth raspberrypi-bootloader raspberrypi-kernel
+  PACKAGES += firmware-brcm80211 libraspberrypi-bin libraspberrypi0 pi-bluetooth raspberrypi-bootloader raspberrypi-kernel
 
   _target: _umount _partcopy _config _install
   
@@ -135,15 +137,16 @@ endif
 export SOURCES SYSROOT CFGROOT VOLUME PBOOT PROOT SQUASH ARCH KEYRING BOOTSTRAP
 
 sys_root/:
-       btrfs subvol create "$@" || mkdir -p "$@"
+       btrfs subvol create "$@" || mkdir "$@"
        chmod 755 "$@"
 
 cfg_root/: sys_root/ _install
-       btrfs sub snap "$<" "$@" || mkdir -p "$@"
+       -btrfs sub del "$@" || rm -r "$@"
+       btrfs sub snap "$<" "$@" || mkdir "$@"
        chmod 755 "$@"
 
 rpi_root/:
-       btrfs subvol create "$@" || mkdir -p "$@"
+       btrfs subvol create "$@" || mkdir "$@"
        chmod 755 "$@"
 
 img_mount/:
@@ -193,15 +196,14 @@ _install: ${SYSROOT} _aptkeys _norecommends
 _copy: ${SYSROOT} ${CFGROOT}
        cp -au "$${SYSROOT}/." "$${CFGROOT}/"
 
-.PHONY: _common_config
-_config: _common_config
-_common_config: ${CFGROOT}
+_config: ${CFGROOT}
        ln -sf /dev/null "$${CFGROOT}/etc/systemd/network/99-default.link"
        printf '\nsession       optional        pam_mkhomedir.so umask=0027\n' >>"$${CFGROOT}/etc/pam.d/common-session"
        printf 'LABEL=FSROOT / ext4 auto,nofail,rw 0 0\nLABEL=BOOT /boot vfat auto,nofail,ro 0 0\n' \
                >"$${CFGROOT}/etc/fstab"
+       chroot "$${CFGROOT}" update-initramfs -u
 
-${SQUASH}: ${CFGROOT}
+${SQUASH}: ${CFGROOT} .FORCE
        -rm "$${SQUASH}"
        mksquashfs "$${CFGROOT}" "$${SQUASH}" -comp xz