Add CM5 support: ubuntu-24.04-arm runner, extensions, workflow improvements, README updates

This commit is contained in:
Stephen Wheet
2026-02-22 13:19:04 -08:00
parent c7eaa5cbb7
commit 3e8045122a
6 changed files with 329 additions and 44 deletions
@@ -0,0 +1,47 @@
diff --git a/kernel/build/config-arm64 b/kernel/build/config-arm64
index 9b215b0..6cc483e 100644
--- a/kernel/build/config-arm64
+++ b/kernel/build/config-arm64
@@ -432,13 +432,13 @@ CONFIG_ROCKCHIP_ERRATUM_3588001=y
CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
# end of ARM errata workarounds via the alternatives framework
-# CONFIG_ARM64_4K_PAGES is not set
-CONFIG_ARM64_16K_PAGES=y
+CONFIG_ARM64_4K_PAGES=y
+# CONFIG_ARM64_16K_PAGES is not set
# CONFIG_ARM64_64K_PAGES is not set
-# CONFIG_ARM64_VA_BITS_39 is not set
-CONFIG_ARM64_VA_BITS_48=y
+CONFIG_ARM64_VA_BITS_39=y
+# CONFIG_ARM64_VA_BITS_48 is not et
# CONFIG_ARM64_VA_BITS_52 is not set
-CONFIG_ARM64_VA_BITS=48
+CONFIG_ARM64_VA_BITS=39
CONFIG_ARM64_PA_BITS_48=y
CONFIG_ARM64_PA_BITS=48
# CONFIG_CPU_BIG_ENDIAN is not set
@@ -834,10 +834,10 @@ CONFIG_ARCH_WANTS_EXECMEM_LATE=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
-CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
-CONFIG_ARCH_MMAP_RND_BITS=18
-CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
+# CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+# CONFIG_ARCH_MMAP_RND_BITS is not set
+# CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
+# CONFIG_ARCH_MMAP_RND_COMPAT_BITS is not set
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
@@ -3735,7 +3735,7 @@ CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
CONFIG_SERIAL_MVEBU_CONSOLE=y
# CONFIG_SERIAL_OWL is not set
-# CONFIG_SERIAL_RPI_FW is not set
+CONFIG_SERIAL_RPI_FW=m
# end of Serial drivers
CONFIG_SERIAL_MCTRL_GPIO=y
@@ -0,0 +1,13 @@
diff --git a/kernel/build/config-arm64 b/kernel/build/config-arm64
index 9b215b0..6518d59 100644
--- a/kernel/build/config-arm64
+++ b/kernel/build/config-arm64
@@ -1633,7 +1633,7 @@ CONFIG_IP6_NF_NAT=y
# end of IPv6: Netfilter Configuration
CONFIG_NF_DEFRAG_IPV6=y
-# CONFIG_NF_TABLES_BRIDGE is not set
+CONFIG_NF_TABLES_BRIDGE=y
# CONFIG_NF_CONNTRACK_BRIDGE is not set
CONFIG_BRIDGE_NF_EBTABLES_LEGACY=y
CONFIG_BRIDGE_NF_EBTABLES=y
@@ -0,0 +1,54 @@
diff --git a/Makefile b/Makefile
index e5e5be5d2..72fd7cd02 100644
--- a/Makefile
+++ b/Makefile
@@ -17,10 +17,12 @@ NAME = Talos
CLOUD_IMAGES_EXTRA_ARGS ?= ""
ZSTD_COMPRESSION_LEVEL ?= 18
-CI_RELEASE_TAG := $(shell git log --oneline --format=%B -n 1 HEAD^2 -- 2>/dev/null | head -n 1 | sed -r "/^release\(.*\)/ s/^release\((.*)\):.*$/\1/; t; Q")
+CI_RELEASE_TAG := $(shell git log --oneline --format=%B -n 1 HEAD^2 -- 2>/dev/null | head -n 1 | $(SED) -r "/^release\(.*\)/ s/^release\((.*)\):.*$/\1/; t; Q")
ARTIFACTS := _out
+SED ?= sed
+
DEBUG_TOOLS_SOURCE := scratch
EMBED_TARGET ?= embed
@@ -122,7 +124,7 @@ TEXTLINT_RULE_ONE_SENTENCE_PER_LINE_VERSION ?= 2.0.0
# renovate: datasource=docker depName=hugomods/hugo
HUGO_VERSION ?= dart-sass-0.145.0
OPERATING_SYSTEM := $(shell uname -s | tr "[:upper:]" "[:lower:]")
-ARCH := $(shell uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/')
+ARCH := $(shell uname -m | $(SED) 's/x86_64/amd64/' | $(SED) 's/aarch64/arm64/')
TALOSCTL_DEFAULT_TARGET := talosctl-$(OPERATING_SYSTEM)
TALOSCTL_EXECUTABLE := $(PWD)/$(ARTIFACTS)/$(TALOSCTL_DEFAULT_TARGET)-$(ARCH)
INTEGRATION_TEST := integration-test
@@ -371,7 +373,7 @@ docker-%: ## Builds the specified target defined in the Dockerfile using the doc
@$(MAKE) target-$* TARGET_ARGS="--output type=docker,dest=$(DEST)/$*.tar,name=$(REGISTRY_AND_USERNAME)/$*:$(IMAGE_TAG_OUT) $(TARGET_ARGS)"
registry-%: ## Builds the specified target defined in the Dockerfile using the image/registry output type. The build result will be pushed to the registry if PUSH=true.
- @$(MAKE) target-$* TARGET_ARGS="--output type=image,name=$(REGISTRY_AND_USERNAME)/$*:$(IMAGE_TAG_OUT),rewrite-timestamp=true $(TARGET_ARGS)"
+ @$(MAKE) target-$* TARGET_ARGS="--output type=image,name=$(REGISTRY_AND_USERNAME)/$*:$(IMAGE_TAG_OUT),rewrite-timestamp=false $(TARGET_ARGS)"
hack-test-%: ## Runs the specified script in ./hack/test with well known environment variables.
@./hack/test/$*.sh
@@ -739,7 +741,7 @@ reproducibility-test-docker-%: $(ARTIFACTS)
@mkdir -p _out1/ _out2/
@$(MAKE) docker-$* DEST=_out1/
@$(MAKE) docker-$* DEST=_out2/ TARGET_ARGS="--no-cache"
- @find _out1/ -type f | xargs -IFILE diffoscope FILE `echo FILE | sed 's/_out1/_out2/'`
+ @find _out1/ -type f | xargs -IFILE diffoscope FILE `echo FILE | $(SED) 's/_out1/_out2/'`
@rm -rf _out1/ _out2/
reproducibility-test-local-%: $(ARTIFACTS)
@@ -747,7 +749,7 @@ reproducibility-test-local-%: $(ARTIFACTS)
@mkdir -p _out1/ _out2/
@$(MAKE) local-$* DEST=_out1/
@$(MAKE) local-$* DEST=_out2/ TARGET_ARGS="--no-cache"
- @find _out1/ -type f | xargs -IFILE diffoscope FILE `echo FILE | sed 's/_out1/_out2/'`
+ @find _out1/ -type f | xargs -IFILE diffoscope FILE `echo FILE | $(SED) 's/_out1/_out2/'`
@rm -rf _out1/ _out2/
reproducibility-test-iso: $(ARTIFACTS)