Draft for making OTA images

This commit is contained in:
2026-03-31 04:26:03 +08:00
parent 3bbd0a00a8
commit f67c338e60
5 changed files with 161 additions and 35 deletions

View File

@@ -39,6 +39,7 @@ BUILD_VERSION ?= $(KUBE_VERSION)
BUILD_DATE := $(shell date -u +%Y-%m-%dT%H:%M:%SZ)
BUILD_GIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo unknown)
BUILD_INFO_FILE := $(OUT_DIR)/build-info
BUILD_BASE_TAG := $(shell docker image inspect monok8s/build-base:dev | jq -r '.[].Id' | cut -d':' -f2 | cut -c -8 || echo dev)
# ---- File groups -------------------------------------------------------------
@@ -148,6 +149,8 @@ $(BUILD_BASE_STAMP): $(BUILD_BASE_DEPS) | $(OUT_DIR)
-f docker/build-base.Dockerfile \
--build-arg TAG=$(TAG) \
-t $(DOCKER_IMAGE_ROOT)/build-base:$(TAG) .
@iid=$$(docker image inspect monok8s/build-base:$(TAG) | jq -r '.[].Id' | cut -d':' -f2 | cut -c -8); \
docker tag monok8s/build-base:$(TAG) monok8s/build-base:$$iid; \
touch $@
$(KERNEL_IMAGE): $(KERNEL_DEPS) | $(OUT_DIR)
@@ -191,6 +194,7 @@ $(BOARD_ITB): $(ITB_DEPS) | $(OUT_DIR)
$(RELEASE_IMAGE): $(RELEASE_DEPS) | $(OUT_DIR)
docker build \
-f docker/alpine.Dockerfile \
--no-cache \
--build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \
--build-arg TAG=$(TAG) \
--build-arg ALPINE_ARCH=$(ALPINE_ARCH) \
@@ -198,6 +202,7 @@ $(RELEASE_IMAGE): $(RELEASE_DEPS) | $(OUT_DIR)
--build-arg KUBE_VERSION=$(KUBE_VERSION) \
--build-arg CRIO_VERSION=$(CRIO_VERSION) \
--build-arg DEVICE_TREE_TARGET=$(DEVICE_TREE_TARGET) \
--build-arg BUILD_BASE_TAG=$(BUILD_BASE_TAG) \
-t $(DOCKER_IMAGE_ROOT)/buildenv-alpine:$(TAG) .
@cid=$$(docker create \
@@ -219,6 +224,7 @@ $(RELEASE_IMAGE): $(RELEASE_DEPS) | $(OUT_DIR)
bash -lc '/build-rootfs.sh'); \
docker start -a $$cid; \
docker cp $$cid:/build/output.img.gz $@; \
docker cp $$cid:/build/rootfs.ext4.zst $(OUT_DIR)/rootfs.ext4.zst; \
docker rm $$cid
test -f $@