BOOT_MB := 62
ROOT_MB := 959
+fstype := ext4
+
config.mk:
cp "config.example" "$@"
include ${config}
endif
-ifdef release
- KEYRING := keys/debian-archive-${release}-stable.gpg
-else
- release := stretch
- KEYRING := keys/debian-archive-stretch-stable.gpg
+ifndef release
+ release := bullseye
endif
+KEYRING := keys/debian-archive-${release}-stable.gpg
+KEYRING := keys/debian-archive-${release}-automatic.gpg
+# KEYRING := keys/debian-archive-${release}-security-automatic.gpg
+
ifndef SOURCES
-define SOURCES :=
-deb http://cdn.debian.net/debian ${release} main
-endef
+ ifneq "$(filter stretch jessie buster, ${release})" ""
+ define SOURCES :=
+ deb http://cdn.debian.net/debian ${release} main
+ deb https://deb.debian.org/debian-security/ ${release}/updates main
+ endef
+ else
+ define SOURCES :=
+ deb http://cdn.debian.net/debian ${release} main
+ deb https://deb.debian.org/debian-security/ ${release}-security main
+ endef
+ endif
endif
-fstype := ext4
-
ifdef disk
VOLUME := ${disk}
PBOOT := ${disk}1
_config: _copy
${subvol}: _config
- btrfs sub snap "${CFG_ROOT}" "$@"
+ btrfs sub snap "${CFGROOT}" "$@"
else ifdef squash
SQUASH := ${squash}
deb http://archive.raspberrypi.org/debian ${release} main
endef
- PACKAGES += firmware-brcm80211 libraspberrypi-bin libraspberrypi0 pi-bluetooth raspberrypi-bootloader raspberrypi-kernel initramfs-tools nilfs-tools
- fstype := nilfs2
+ PACKAGES += firmware-brcm80211 libraspberrypi-bin libraspberrypi0 pi-bluetooth raspberrypi-bootloader raspberrypi-kernel initramfs-tools
_target: _umount _config
include $(addsuffix .mk, $(addprefix modules/, $(subst ${comma_},${space_},${modules})))
endif
-ifeq "${ARCH}" "amd64"
+ifeq "$(findstring linux-image, ${PACKAGES})" "linux-image"
+else ifeq "${ARCH}" "amd64"
PACKAGES += linux-image-amd64
else ifeq "${ARCH}" "i386"
PACKAGES += linux-image-686
${SYSROOT}/etc/apt/trusted.gpg.d/: ${SYSROOT} _bootstrap
mkdir -p -m 755 "$@"
cp keys/*.gpg "$@"
+ chmod 644 "$@"/*.gpg
_install: ${SYSROOT} _aptkeys _norecommends
printf '%s\n' "$${SOURCES}" |sort -u >"$${SYSROOT}/etc/apt/sources.list"
_copy: ${SYSROOT} ${CFGROOT}
sync
- find "$${SYSROOT}" -lname '' -exec ln -sf /dev/null '{}' \;
cp -au "$${SYSROOT}/." "$${CFGROOT}/"
_config: ${CFGROOT}
_sparse: ${PBOOT} ${PROOT}
-ifdef raspi
-_format_root: ${PROOT}
- -umount "$${CFGROOT}/boot" "$${CFGROOT}" "${PROOT}"
- mkfs.nilfs2 -f -L FSROOT "$${PROOT}"
+ifeq "${fstype}" "ext4"
+ fsflag:=-F
else
+ fsflag:=-f
+endif
+
_format_root: ${PROOT}
-umount "$${CFGROOT}/boot" "$${CFGROOT}" "${PROOT}"
- mkfs.ext4 -F -L FSROOT "$${PROOT}"
-endif
+ mkfs.${fstype} ${fsflag} -L FSROOT "$${PROOT}"
_format_boot: ${PBOOT}
-umount "$${CFGROOT}/boot" "${PBOOT}"
_bootloader_iso: ${CFGROOT} ${ISOROOT}
mkdir -p "$${ISOROOT}/boot/grub/"
cp -L "$${CFGROOT}/vmlinuz" "$${CFGROOT}/initrd.img" "$${ISOROOT}"
- printf '%s\n' "set timeout=10" "default=buster" \
- "menuentry 'Debian Buster' --id 'buster' {" \
- "linux '/vmlinuz' boot=live" "initrd '/initrd.img'" "}" \
+ printf '%s\n' "insmod all_video" "set gfxmode=auto" "load_video" "insmod gfxterm" \
>"$${ISOROOT}/boot/grub/grub.cfg"
+ printf '%s\n' "set timeout=10" "default=${release}" \
+ "menuentry 'Debian ${release}' --id '${release}' {" \
+ "linux '/vmlinuz' boot=live" "initrd '/initrd.img'" "}" \
+ >>"$${ISOROOT}/boot/grub/grub.cfg"
-[ -f "$${ISOROOT}/install/initrd.gz" -a -f "$${ISOROOT}/install/linux" ] && \
printf '%s\n' "menuentry 'Install Debian' --id 'install' {" \
"linux '/install/linux'" "initrd '/install/initrd.gz'" "}" \
mount -t vfat -o loop "$${PBOOT}" "efi/"
_efi_umount: _efi_mount
+ sync
umount efi/ && rmdir efi/
.PHONY: _syslinux_mbr _grub_mbr
mountpoint "$${CFGROOT}" \
|| mount -o loop,offset="$$((${BOOT_MB} + 2))"M,sizelimit=${ROOT_MB}M \
-t ${fstype} "$${VOLUME}" "$${CFGROOT}"
- sync
chmod 755 "$${CFGROOT}"
mkdir -p -m 755 "$${CFGROOT}/boot"
mountpoint "$${CFGROOT}/boot" \
-t vfat "$${VOLUME}" "$${CFGROOT}/boot"
_umount_boot: ${CFGROOT} _config
+ sync
-umount "$${CFGROOT}/boot"
_umount_root: _umount_boot _config
+ sync
umount "$${CFGROOT}" && rmdir "$${CFGROOT}"
_umount: _umount_boot _umount_root