From 2a51b5d60b31215647809ac68548b162e763929e Mon Sep 17 00:00:00 2001 From: local-build Date: Sat, 11 Apr 2026 15:18:06 -0500 Subject: [PATCH] build installer with extensions --- .gitignore | 1 + Makefile | 28 ++++++++++--------- .../update-rpi-kernel.sh | 5 ++-- 3 files changed, 19 insertions(+), 15 deletions(-) rename update-rpi-kernel.sh => scripts/update-rpi-kernel.sh (93%) diff --git a/.gitignore b/.gitignore index b3dd152..9d855ba 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ checkouts/ +*.env diff --git a/Makefile b/Makefile index 91f9b26..e63bead 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,6 @@ help: @echo "installer : Build installer" @echo "image : Build disk image for Raspberry Pi 5" @echo "pi5 : Full build pipeline for Raspberry Pi 5" - @echo "release : Use only when building the final release, this will tag relevant images with the current Git tag." @echo "clean : Clean up any remains" # @@ -130,18 +129,27 @@ initramfs-kernel: .PHONY: installer installer: cd "$(CHECKOUTS_DIRECTORY)/talos" && \ - $(MAKE) \ - TAG=${TALOS_TAG} REGISTRY=$(REGISTRY) USERNAME=$(REGISTRY_USERNAME) PUSH=$(PUSH) \ - PKG_KERNEL=$(REGISTRY)/$(REGISTRY_USERNAME)/kernel:$(PKGS_TAG) \ - INSTALLER_ARCH=arm64 PLATFORM=linux/arm64 SED=$(SED) \ - installer + docker \ + run --rm -t -v ./_out:/out -v /dev:/dev --privileged $(REGISTRY)/$(REGISTRY_USERNAME)/imager:$(TALOS_TAG) \ + installer \ + --arch arm64 \ + --base-installer-image="$(REGISTRY)/$(REGISTRY_USERNAME)/installer-base:$(TALOS_TAG)" \ + --overlay-name="rpi_5" \ + --overlay-image="$(REGISTRY)/$(REGISTRY_USERNAME)/sbc-raspberrypi:$(SBCOVERLAY_TAG)" \ + --overlay-option="configTxtAppend=$$CONFIG_TXT" \ + $(EXTENSION_ARGS) \ + $(EXTRA_KERNEL) + crane push \ + ./checkouts/talos/_out/installer-arm64.tar \ + ${REGISTRY}/${REGISTRY_USERNAME}/installer:${TALOS_TAG}-arm64-extensions .PHONY: image image: cd "$(CHECKOUTS_DIRECTORY)/talos" && \ docker \ run --rm -t -v ./_out:/out -v /dev:/dev --privileged $(REGISTRY)/$(REGISTRY_USERNAME)/imager:$(TALOS_TAG) \ - $(ASSET_TYPE) --arch arm64 \ + $(ASSET_TYPE) \ + --arch arm64 \ --base-installer-image="$(REGISTRY)/$(REGISTRY_USERNAME)/installer-base:$(TALOS_TAG)" \ --overlay-name="rpi_5" \ --overlay-image="$(REGISTRY)/$(REGISTRY_USERNAME)/sbc-raspberrypi:$(SBCOVERLAY_TAG)" \ @@ -149,12 +157,6 @@ image: $(EXTENSION_ARGS) \ $(EXTRA_KERNEL) -.PHONY: release -release: - docker pull $(REGISTRY)/$(REGISTRY_USERNAME)/installer:$(TALOS_TAG) && \ - docker tag $(REGISTRY)/$(REGISTRY_USERNAME)/installer:$(TALOS_TAG) $(REGISTRY)/$(REGISTRY_USERNAME)/installer:$(TAG) && \ - docker push $(REGISTRY)/$(REGISTRY_USERNAME)/installer:$(TAG) - .PHONY: pi5 pi5: checkouts-clean checkouts patches kernel initramfs-kernel installer-base imager overlay installer image diff --git a/update-rpi-kernel.sh b/scripts/update-rpi-kernel.sh similarity index 93% rename from update-rpi-kernel.sh rename to scripts/update-rpi-kernel.sh index 0cb4dc7..bfe13ba 100755 --- a/update-rpi-kernel.sh +++ b/scripts/update-rpi-kernel.sh @@ -20,8 +20,9 @@ fi REF="$1" REPO="raspberrypi/linux" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -PKGS_PATCH="${SCRIPT_DIR}/patches/siderolabs/pkgs/0001-Patched-for-Raspberry-Pi-5.patch" -SBC_PATCH="${SCRIPT_DIR}/patches/siderolabs/sbc-raspberrypi/0001-Patched-for-Raspberry-Pi-5.patch" +REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" +PKGS_PATCH="${REPO_ROOT}/patches/siderolabs/pkgs/0001-Patched-for-Raspberry-Pi-5.patch" +SBC_PATCH="${REPO_ROOT}/patches/siderolabs/sbc-raspberrypi/0001-Patched-for-Raspberry-Pi-5.patch" for f in "$PKGS_PATCH" "$SBC_PATCH"; do if [ ! -f "$f" ]; then