Rework images, grouping by architectures.

Building images for Pi 3 and Pi 4 families didn't make much sense since
the same image can run on both (modulo possible CMA tweaks for the
Compute Module 4). The same is almost true for the Pi 5 (given a
sufficiently high kernel version).

Let's build:
 - for armhf (Pi 2);
 - for arm64 (Pi 3, Pi 4, Pi 5).

Let's forget about armel, it's no longer supported in Debian anyway.

Link: https://salsa.debian.org/raspi-team/image-specs/-/issues/75
This commit is contained in:
Cyril Brulebois
2026-03-26 22:44:44 +01:00
parent f15fe61586
commit 0d208d2f4d
2 changed files with 20 additions and 40 deletions

View File

@@ -1,11 +1,11 @@
all: shasums
# List all the supported and built Pi platforms here. They get expanded
# to names like 'raspi_2_buster.yaml' and 'raspi_3_bullseye.img.xz'.
BUILD_FAMILIES := 1 2 3 4
# to names like 'raspi_arm64_trixie.yaml' and 'raspi_arm64_trixie.img.xz'.
BUILD_ARCHS := armhf arm64
BUILD_RELEASES := bookworm trixie forky
platforms := $(foreach plat, $(BUILD_FAMILIES),$(foreach rel, $(BUILD_RELEASES), raspi_$(plat)_$(rel)))
platforms := $(foreach plat, $(BUILD_ARCHS),$(foreach rel, $(BUILD_RELEASES), raspi_$(plat)_$(rel)))
shasums: $(addsuffix .img.sha256,$(platforms)) $(addsuffix .img.xz.sha256,$(platforms))
xzimages: $(addsuffix .img.xz,$(platforms))
@@ -24,15 +24,15 @@ endif
target_platforms:
@echo $(platforms)
# Generate targets based on all family * release combinations:
# Generate targets based on all architecture * release combinations:
define dynamic_yaml_target =
raspi_$(1)_$(2).yaml: raspi_master.yaml generate-recipe.py
raspi_$(1)_$(2).yaml:
./generate-recipe.py $(1) $(2)
endef
$(foreach release,$(BUILD_RELEASES), \
$(foreach family,$(BUILD_FAMILIES), \
$(eval $(call dynamic_yaml_target,$(family),$(release)))))
$(foreach arch,$(BUILD_ARCHS), \
$(eval $(call dynamic_yaml_target,$(arch),$(release)))))
%.img.sha256: %.img
if [ -e $< ]; then \