Merge pull request #18020 from travier/buildroot-update

Update to buildroot 2023.02.9 & Golang 1.21.6
pull/18264/head
Steven Powell 2024-02-28 15:41:27 -08:00 committed by GitHub
commit d4e0a203ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
43 changed files with 228 additions and 322 deletions

View File

@ -24,7 +24,7 @@ KIC_VERSION ?= $(shell grep -E "Version =" pkg/drivers/kic/types.go | cut -d \"
HUGO_VERSION ?= $(shell grep -E "HUGO_VERSION = \"" netlify.toml | cut -d \" -f2)
# Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
ISO_VERSION ?= v1.32.1-1708020063-17936
ISO_VERSION ?= v1.32.1-1708638130-18020
# Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
@ -44,9 +44,9 @@ KVM_GO_VERSION ?= $(GO_VERSION:.0=)
INSTALL_SIZE ?= $(shell du out/minikube-windows-amd64.exe | cut -f1)
BUILDROOT_BRANCH ?= 2021.02.12
BUILDROOT_BRANCH ?= 2023.02.9
# the go version on the line below is for the ISO
GOLANG_OPTIONS = GO_VERSION=1.19.9 GO_HASH_FILE=$(PWD)/deploy/iso/minikube-iso/go.hash
GOLANG_OPTIONS = GO_VERSION=1.21.6 GO_HASH_FILE=$(PWD)/deploy/iso/minikube-iso/go.hash
BUILDROOT_OPTIONS = BR2_EXTERNAL=../../deploy/iso/minikube-iso $(GOLANG_OPTIONS)
REGISTRY ?= gcr.io/k8s-minikube
@ -76,7 +76,7 @@ MINIKUBE_BUCKET ?= minikube/releases
MINIKUBE_UPLOAD_LOCATION := gs://${MINIKUBE_BUCKET}
MINIKUBE_RELEASES_URL=https://github.com/kubernetes/minikube/releases/download
KERNEL_VERSION ?= 5.10.57
KERNEL_VERSION ?= 5.10.207
# latest from https://github.com/golangci/golangci-lint/releases
# update this only by running `make update-golint-version`
GOLINT_VERSION ?= v1.56.2
@ -303,10 +303,9 @@ minikube-iso-%: deploy/iso/minikube-iso/board/minikube/%/rootfs-overlay/usr/bin/
cp deploy/iso/minikube-iso/go.hash $(BUILD_DIR)/buildroot/package/go/go.hash; \
git --git-dir=$(BUILD_DIR)/buildroot/.git config user.email "dev@random.com"; \
git --git-dir=$(BUILD_DIR)/buildroot/.git config user.name "Random developer"; \
git --git-dir=$(BUILD_DIR)/buildroot/.git --work-tree=$(BUILD_DIR)/buildroot am ../../deploy/iso/minikube-iso/0001-linux-add-BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE.patch; \
fi;
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$* minikube_$*_defconfig
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$* host-python
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$* host-python3
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$*
# x86_64 ISO is still BIOS rather than EFI because of AppArmor issues for KVM, and Gen 2 issues for Hyper-V
if [ "$*" = "aarch64" ]; then \
@ -1087,6 +1086,11 @@ update-cri-o-version:
(cd hack/update/cri-o_version && \
go run update_cri-o_version.go)
.PHONY: update-crun-version
update-crun-version:
(cd hack/update/crun_version && \
go run update_crun_version.go)
.PHONY: update-metrics-server-version
update-metrics-server-version:
(cd hack/update/metrics_server_version && \

View File

@ -1,72 +0,0 @@
From 2da2f359dba50aafef1202edda34374d99b77a14 Mon Sep 17 00:00:00 2001
From: Francis Laniel <flaniel@linux.microsoft.com>
Date: Wed, 22 Dec 2021 18:49:05 +0100
Subject: [PATCH] linux: add BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE
CONFIG_DEBUG_BTF_INFO relies on pahole, so kernel DWARF are converted to BTF.
If CONFIG_DEBUG_BTF_INFO is set and BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE not,
an error message is shown and .config is not written.
Signed-off-by: Francis Laniel <flaniel@linux.microsoft.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
linux/Config.in | 12 ++++++++++++
linux/linux.mk | 12 ++++++++++++
2 files changed, 24 insertions(+)
diff --git a/linux/Config.in b/linux/Config.in
index 891e2cdcb6..582f37ba7c 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -470,6 +470,18 @@ config BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF
CONFIG_UNWINDER_ORC=y, please install libelf-dev,
libelf-devel or elfutils-libelf-devel".
+config BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE
+ bool "Needs host pahole"
+ help
+ Some Linux kernel configuration options (such as
+ CONFIG_DEBUG_INFO_BTF) require building a host program
+ called pahole. Enabling this option will ensure host-pahole
+ gets built before the Linux kernel.
+
+ Enable this option if you get a Linux kernel build failure
+ such as "BTF: .tmp_vmlinux.btf: pahole (pahole) is not
+ available".
+
# Linux extensions
source "linux/Config.ext.in"
diff --git a/linux/linux.mk b/linux/linux.mk
index 61fdc0c76c..dd2eebd446 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -114,6 +114,17 @@ ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
LINUX_DEPENDENCIES += host-elfutils host-pkgconf
endif
+ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE),y)
+LINUX_DEPENDENCIES += host-pahole
+else
+define LINUX_FIXUP_CONFIG_PAHOLE_CHECK
+ if grep -q "^CONFIG_DEBUG_INFO_BTF=y" $(KCONFIG_DOT_CONFIG); then \
+ echo "To use CONFIG_DEBUG_INFO_BTF, enable host-pahole (BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE)" 1>&2; \
+ exit 1; \
+ fi
+endef
+endif
+
# If host-uboot-tools is selected by the user, assume it is needed to
# create a custom image
ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
@@ -324,6 +335,7 @@ define LINUX_KCONFIG_FIXUP_CMDS
$(call KCONFIG_DISABLE_OPT,$(opt))
)
$(LINUX_FIXUP_CONFIG_ENDIANNESS)
+ $(LINUX_FIXUP_CONFIG_PAHOLE_CHECK)
$(if $(BR2_arm)$(BR2_armeb),
$(call KCONFIG_ENABLE_OPT,CONFIG_AEABI))
$(if $(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),
--
2.25.1

View File

@ -1,2 +1,2 @@
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/Config.in"

View File

@ -3,7 +3,7 @@ menu "System tools aarch64"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cri-dockerd-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/crictl-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/docker-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cni-plugins-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cni-plugins-latest-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/containerd-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/nerdctl-bin-aarch64/Config.in"
endmenu

View File

@ -1,5 +1,5 @@
config BR2_PACKAGE_CNI_PLUGINS_AARCH64
bool "cni-plugins"
config BR2_PACKAGE_CNI_PLUGINS_LATEST_AARCH64
bool "cni-plugins-latest"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS

View File

@ -1,16 +1,16 @@
################################################################################
#
# cni-plugins
# cni-plugins-latest
#
################################################################################
CNI_PLUGINS_AARCH64_VERSION = v1.4.0
CNI_PLUGINS_AARCH64_SITE = https://github.com/containernetworking/plugins/releases/download/$(CNI_PLUGINS_AARCH64_VERSION)
CNI_PLUGINS_AARCH64_SOURCE = cni-plugins-linux-arm64-$(CNI_PLUGINS_AARCH64_VERSION).tgz
CNI_PLUGINS_AARCH64_LICENSE = Apache-2.0
CNI_PLUGINS_AARCH64_LICENSE_FILES = LICENSE
CNI_PLUGINS_LATEST_AARCH64_VERSION = v1.4.0
CNI_PLUGINS_LATEST_AARCH64_SITE = https://github.com/containernetworking/plugins/releases/download/$(CNI_PLUGINS_LATEST_AARCH64_VERSION)
CNI_PLUGINS_LATEST_AARCH64_SOURCE = cni-plugins-linux-arm64-$(CNI_PLUGINS_LATEST_AARCH64_VERSION).tgz
CNI_PLUGINS_LATEST_AARCH64_LICENSE = Apache-2.0
CNI_PLUGINS_LATEST_AARCH64_LICENSE_FILES = LICENSE
define CNI_PLUGINS_AARCH64_INSTALL_TARGET_CMDS
define CNI_PLUGINS_LATEST_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/bandwidth \
$(TARGET_DIR)/opt/cni/bin/bandwidth

View File

@ -13,6 +13,5 @@ config BR2_PACKAGE_CONTAINERD_BIN_AARCH64
select BR2_PACKAGE_LIBSECCOMP
select BR2_PACKAGE_LIBGPGME
select BR2_PACKAGE_LVM2
select BR2_PACKAGE_LVM2_APP_LIBRARY
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_LIBGLIB2

View File

@ -23,6 +23,15 @@ CRI_DOCKERD_AARCH64_ENV = \
CRI_DOCKERD_AARCH64_COMPILE_SRC = $(CRI_DOCKERD_AARCH64_GOPATH)/src/github.com/Mirantis/cri-dockerd
CRI_DOCKERD_AARCH64_BUILDFLAGS = "-ldflags '-X github.com/Mirantis/cri-dockerd/version.Version=$(CRI_DOCKERD_AARCH64_VER) -X github.com/Mirantis/cri-dockerd/version.GitCommit=$(CRI_DOCKERD_AARCH64_REV)'"
define CRI_DOCKERD_AARCH64_POST_EXTRACT_WORKAROUNDS
# Set -buildvcs=false to disable VCS stamping (fails in buildroot)
sed -i 's|go build |go build -buildvcs=false |' -i $(@D)/packaging/static/Makefile
# Use the GOARCH environment variable that we set
sed -i 's|GOARCH=$(ARCH) go build|GOARCH=$(GOARCH) go build|' -i $(@D)/packaging/static/Makefile
endef
CRI_DOCKERD_AARCH64_POST_EXTRACT_HOOKS += CRI_DOCKERD_AARCH64_POST_EXTRACT_WORKAROUNDS
# If https://github.com/Mirantis/cri-dockerd/blob/master/packaging/Makefile changes, then this will almost certainly need to change
# This uses the static make target at the top level Makefile, since that builds everything, then picks out the arm64 binary
define CRI_DOCKERD_AARCH64_BUILD_CMDS

View File

@ -3,7 +3,7 @@ menu "System tools x86_64"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/cri-dockerd/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/crictl-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/docker-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/cni-plugins/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/cni-plugins-latest/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/containerd-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/nerdctl-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/hyperv-daemons/Config.in"

View File

@ -1,5 +1,5 @@
config BR2_PACKAGE_CNI_PLUGINS
bool "cni-plugins"
config BR2_PACKAGE_CNI_PLUGINS_LATEST
bool "cni-plugins-latest"
default y
depends on BR2_x86_64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS

View File

@ -1,16 +1,16 @@
################################################################################
#
# cni-plugins
# cni-plugins-latest
#
################################################################################
CNI_PLUGINS_VERSION = v1.4.0
CNI_PLUGINS_SITE = https://github.com/containernetworking/plugins/releases/download/$(CNI_PLUGINS_VERSION)
CNI_PLUGINS_SOURCE = cni-plugins-linux-amd64-$(CNI_PLUGINS_VERSION).tgz
CNI_PLUGINS_LICENSE = Apache-2.0
CNI_PLUGINS_LICENSE_FILES = LICENSE
CNI_PLUGINS_LATEST_VERSION = v1.4.0
CNI_PLUGINS_LATEST_SITE = https://github.com/containernetworking/plugins/releases/download/$(CNI_PLUGINS_LATEST_VERSION)
CNI_PLUGINS_LATEST_SOURCE = cni-plugins-linux-amd64-$(CNI_PLUGINS_LATEST_VERSION).tgz
CNI_PLUGINS_LATEST_LICENSE = Apache-2.0
CNI_PLUGINS_LATEST_LICENSE_FILES = LICENSE
define CNI_PLUGINS_INSTALL_TARGET_CMDS
define CNI_PLUGINS_LATEST_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/bandwidth \
$(TARGET_DIR)/opt/cni/bin/bandwidth

View File

@ -13,6 +13,5 @@ config BR2_PACKAGE_CONTAINERD_BIN
select BR2_PACKAGE_LIBSECCOMP
select BR2_PACKAGE_LIBGPGME
select BR2_PACKAGE_LVM2
select BR2_PACKAGE_LVM2_APP_LIBRARY
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_LIBGLIB2

View File

@ -23,6 +23,15 @@ CRI_DOCKERD_ENV = \
CRI_DOCKERD_COMPILE_SRC = $(CRI_DOCKERD_GOPATH)/src/github.com/Mirantis/cri-dockerd
CRI_DOCKERD_BUILDFLAGS = "-ldflags '-X github.com/Mirantis/cri-dockerd/version.Version=$(CRI_DOCKERD_VER) -X github.com/Mirantis/cri-dockerd/version.GitCommit=$(CRI_DOCKERD_REV)'"
define CRI_DOCKERD_POST_EXTRACT_WORKAROUNDS
# Set -buildvcs=false to disable VCS stamping (fails in buildroot)
sed -i 's|go build |go build -buildvcs=false |' -i $(@D)/packaging/static/Makefile
# Use the GOARCH environment variable that we set
sed -i 's|GOARCH=$(ARCH) go build|GOARCH=$(GOARCH) go build|' -i $(@D)/packaging/static/Makefile
endef
CRI_DOCKERD_POST_EXTRACT_HOOKS += CRI_DOCKERD_POST_EXTRACT_WORKAROUNDS
define CRI_DOCKERD_BUILD_CMDS
$(CRI_DOCKERD_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) LDFLAGS=$(CRI_DOCKERD_BUILDFLAGS) GO_VERSION=$(GO_VERSION) -C $(@D) VERSION=$(CRI_DOCKERD_VER) REVISION=$(CRI_DOCKERD_REV) static-linux
endef

View File

@ -1,9 +1,6 @@
image efiboot.img {
vfat {
label = "EFIBOOTISO"
file startup.nsh {
image = "efi-part/startup.nsh"
}
file EFI {
image = "efi-part/EFI"
}

View File

@ -1,9 +1,6 @@
image efiboot.img {
vfat {
label = "EFIBOOTISO"
file startup.nsh {
image = "efi-part/startup.nsh"
}
file EFI {
image = "efi-part/EFI"
}

View File

@ -17,8 +17,8 @@ BR2_PACKAGE_HOST_MTOOLS=y
# Bootloader
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_ARM64_EFI=y
BR2_TARGET_GRUB2_BUILTIN_CONFIG="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/minikube/aarch64/grub-stub.cfg"
BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label"
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/minikube/aarch64/grub-stub.cfg"
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label"
# Filesystem / image
BR2_TARGET_ROOTFS_CPIO=y
@ -35,8 +35,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.57"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.207"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_INSTALL_TARGET=y
@ -113,3 +112,5 @@ BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y
BR2_PACKAGE_HOST_E2TOOLS=y
BR2_PACKAGE_HOST_PYTHON=y
BR2_PACKAGE_LIBFUSE=y
BR2_PACKAGE_PAHOLE=y
BR2_PACKAGE_TBB=y

View File

@ -18,8 +18,8 @@ BR2_PACKAGE_HOST_MTOOLS=y
# To turn the x86_64 ISO from BIOS to EFI, uncomment the following 7 lines and comment out the 3 lines beneath it.
#BR2_TARGET_GRUB2=y
#BR2_TARGET_GRUB2_X86_64_EFI=y
#BR2_TARGET_GRUB2_BUILTIN_CONFIG="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/minikube/x86_64/grub-stub.cfg"
#BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label"
#BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/minikube/x86_64/grub-stub.cfg"
#BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label"
#BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/minikube/x86_64/post-build.sh"
#BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/minikube/x86_64/post-image.sh"
#BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/minikube/x86_64/genimage.cfg"
@ -37,8 +37,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.57"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.207"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_INSTALL_TARGET=y
@ -113,3 +112,5 @@ BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y
BR2_PACKAGE_HOST_E2TOOLS=y
BR2_PACKAGE_HOST_PYTHON=y
BR2_PACKAGE_LIBFUSE=y
BR2_PACKAGE_PAHOLE=y
BR2_PACKAGE_TBB=y

View File

@ -1,10 +1,8 @@
menu "System tools"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/conmon/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/crio-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/tbb/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/sysdig/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/pahole/Config.in.host"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/crun/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/crun-latest/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/cni/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/automount/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/gluster/Config.in"

View File

@ -14,6 +14,5 @@ config BR2_PACKAGE_CRIO_BIN
select BR2_PACKAGE_LIBSECCOMP
select BR2_PACKAGE_LIBGPGME
select BR2_PACKAGE_LVM2
select BR2_PACKAGE_LVM2_APP_LIBRARY
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_LIBGLIB2

View File

@ -27,3 +27,5 @@ sha256 6e1c0e393cd16af907fabb24e4cc068e27c606c5f1071060d46efdcd29cb5c0d v1.22.1.
sha256 34097a0f535aa79cf990aaee5d3ff6226663587b188cbee11089f120e7f869e4 v1.22.2.tar.gz
sha256 52836549cfa27a688659576be9266f4837357a6fa162b1d0a05fa8da62c724b3 v1.22.3.tar.gz
sha256 5543b96b668e964a24d5fc4af9a0e51e4c571c4c4bec5f0cf2cfd5df76debd7f v1.24.1.tar.gz
sha256 525ea1048b303e0022d91dc7465907a9e6baf576df1c004d9422d16e3130006a v1.28.3.tar.gz
sha256 d4f9d5a35e7e6a9838bbc052f66561d453c710d94fc47207a9e528232b878505 v1.29.1.tar.gz

View File

@ -4,8 +4,8 @@
#
################################################################################
CRIO_BIN_VERSION = v1.24.1
CRIO_BIN_COMMIT = a3bbde8a77c323aa6a485da9a9046299155c6016
CRIO_BIN_VERSION = v1.29.1
CRIO_BIN_COMMIT = 78e179ba8dd3ce462382a17049e8d1f770246af1
CRIO_BIN_SITE = https://github.com/cri-o/cri-o/archive
CRIO_BIN_SOURCE = $(CRIO_BIN_VERSION).tar.gz
CRIO_BIN_DEPENDENCIES = host-go libgpgme

View File

@ -1,5 +1,5 @@
config BR2_PACKAGE_CRUN
bool "crun"
config BR2_PACKAGE_CRUN_LATEST
bool "crun-latest"
select BR2_PACKAGE_YAJL
help
A fast and low-memory footprint OCI Container Runtime

View File

@ -6,3 +6,4 @@ sha256 84a31b25169d92b59a2611fe256a2cc48b05edd9aee8eab4e3dabb60d88f5a23 crun-0.
sha256 e1745172bf603c6832e1a77ee2b7ac9ad4644cd0f4349704df84b66385bbbe61 crun-1.0.tar.gz
sha256 5f2d98a13bdd7ab3c83620abc7dc29cfaf7b8f7487b5b3722453bc9619d3ea0b crun-1.1.tar.gz
sha256 1032a69878c18ddeeb97cd26251c2819afb76e0d4a50c047139829b00d147978 crun-1.2.tar.gz
sha256 f6ceb53ef6c686b1e8bc7e4a52cfac3ebec915edc6bc750ac600a8b3decb6e13 crun-1.14.tar.gz

View File

@ -0,0 +1,38 @@
################################################################################
#
# crun-latest
#
################################################################################
CRUN_LATEST_VERSION = 1.14
CRUN_LATEST_COMMIT = 667e6ebd4e2442d39512e63215e79d693d0780aa
# need the pre-generated release tarball with the git submodules and configure
CRUN_LATEST_SITE = https://github.com/containers/crun/releases/download/$(CRUN_LATEST_VERSION)
CRUN_LATEST_LICENSE = GPL-2.0
CRUN_LATEST_LICENSE_FILES = COPYING
CRUN_LATEST_DEPENDENCIES += host-python3
CRUN_LATEST_MAKE_OPTS = crun
ifeq ($(BR2_PACKAGE_LIBCAP),y)
CRUN_LATEST_DEPENDENCIES += libcap
else
CRUN_LATEST_CONF_OPTS += --disable-caps
endif
ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
CRUN_LATEST_CONF_OPTS += --enable-seccomp
CRUN_LATEST_DEPENDENCIES += libseccomp host-pkgconf
else
CRUN_LATEST_CONF_OPTS += --disable-seccomp
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
CRUN_LATEST_CONF_OPTS += --enable-systemd
CRUN_LATEST_DEPENDENCIES += systemd host-pkgconf
else
CRUN_LATEST_CONF_OPTS += --disable-systemd
endif
$(eval $(autotools-package))

View File

@ -1,38 +0,0 @@
################################################################################
#
# crun
#
################################################################################
CRUN_VERSION = 1.2
CRUN_COMMIT = 4f6c8e0583c679bfee6a899c05ac6b916022561b
# need the pre-generated release tarball with the git submodules and configure
CRUN_SITE = https://github.com/containers/crun/releases/download/$(CRUN_VERSION)
CRUN_LICENSE = GPL-2.0
CRUN_LICENSE_FILES = COPYING
CRUN_DEPENDENCIES += host-python3
CRUN_MAKE_OPTS = crun
ifeq ($(BR2_PACKAGE_LIBCAP),y)
CRUN_DEPENDENCIES += libcap
else
CRUN_CONF_OPTS += --disable-caps
endif
ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
CRUN_CONF_OPTS += --enable-seccomp
CRUN_DEPENDENCIES += libseccomp host-pkgconf
else
CRUN_CONF_OPTS += --disable-seccomp
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
CRUN_CONF_OPTS += --enable-systemd
CRUN_DEPENDENCIES += systemd host-pkgconf
else
CRUN_CONF_OPTS += --disable-systemd
endif
$(eval $(autotools-package))

View File

@ -1,7 +0,0 @@
config BR2_PACKAGE_HOST_PAHOLE
bool "host pahole"
default y
help
Pahole and other DWARF utils.
https://git.kernel.org/pub/scm/devel/pahole/pahole.git

View File

@ -1,2 +0,0 @@
# Locally computed
sha256 cde85af68b368f50a913be387f94f6b43612a04af6c92387b4dcabb712a668fe pahole-v1.23-br1.tar.gz

View File

@ -1,22 +0,0 @@
########################################################################
#
# pahole
#
########################################################################
PAHOLE_VERSION = v1.23
PAHOLE_SITE = git://git.kernel.org/pub/scm/devel/pahole/pahole.git
PAHOLE_SITE_METHOD = git
# This guy saved me:
# https://stackoverflow.com/a/50526817
# Indeed, pahole contains git submodule and relies on them to be built.
# The problem is that buildroot default behavior is to remove .git from archive.
# Thus, it is not possible to use git submodule...
PAHOLE_GIT_SUBMODULES = YES
# We want to have static pahole binary to avoid problem while using it during
# Linux kernel build.
HOST_PAHOLE_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF -D__LIB=lib
PAHOLE_LICENSE = GPL-2.0
PAHOLE_LICENSE_FILES = COPYING
$(eval $(host-cmake-package))

View File

@ -5,10 +5,13 @@ PODMAN_SOURCE = $(PODMAN_VERSION).tar.gz
PODMAN_LICENSE = Apache-2.0
PODMAN_LICENSE_FILES = LICENSE
PODMAN_BUILDTAGS = exclude_graphdriver_btrfs btrfs_noversion exclude_graphdriver_devicemapper seccomp
PODMAN_DEPENDENCIES = host-go
ifeq ($(BR2_INIT_SYSTEMD),y)
# need libsystemd for journal
PODMAN_DEPENDENCIES += systemd
PODMAN_BUILDTAGS += systemd
endif
PODMAN_GOARCH=amd64
@ -46,7 +49,7 @@ endef
define PODMAN_BUILD_CMDS
mkdir -p $(@D)/bin
$(PODMAN_BIN_ENV) CIRRUS_TAG=$(PODMAN_VERSION) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) GIT_COMMIT=$(PODMAN_COMMIT) PREFIX=/usr podman
$(PODMAN_BIN_ENV) CIRRUS_TAG=$(PODMAN_VERSION) $(MAKE) $(TARGET_CONFIGURE_OPTS) BUILDFLAGS="-buildvcs=false" BUILDTAGS="$(PODMAN_BUILDTAGS)" -C $(@D) GIT_COMMIT=$(PODMAN_COMMIT) PREFIX=/usr podman
endef
define PODMAN_INSTALL_TARGET_CMDS

View File

@ -20,3 +20,4 @@ sha256 76cbf30637cbb828794d72d32fb3fd6ff3139cd9743b8b44790fd110f43d96b2 v1.1.5.t
sha256 f1885d6dfa188f8112328ac2355e5d67346174a2e2e795ec514a972bcbfcc2fa v1.1.7.tar.gz
sha256 509993674481aad7e14aedfb280e0eb160f3a34c0b77e2e98c4b3c0b1df76894 v1.1.9.tar.gz
sha256 e26ae522d09b253b64a30b4e4d233988c988f7588178308b51da7aec927df47b v1.1.10.tar.gz
sha256 129ad7cd470e4bdc82cdd3d5f0aa93e43674bf8ea115da2b42a27361885fe3ee v1.1.11.tar.gz

View File

@ -4,8 +4,8 @@
#
################################################################################
RUNC_MASTER_VERSION = v1.1.10
RUNC_MASTER_COMMIT = 18a0cb0f32bcac2ecc9a10f327d282759c144dab
RUNC_MASTER_VERSION = v1.1.11
RUNC_MASTER_COMMIT = 4bccb38cc9cf198d52bebf2b3a90cd14e7af8c06
RUNC_MASTER_SITE = https://github.com/opencontainers/runc/archive
RUNC_MASTER_SOURCE = $(RUNC_MASTER_VERSION).tar.gz
RUNC_MASTER_LICENSE = Apache-2.0

View File

@ -1,55 +0,0 @@
From 42c3faff14917f687aab405d8f571e352ffdf3f5 Mon Sep 17 00:00:00 2001
From: Francis Laniel <flaniel@linux.microsoft.com>
Date: Wed, 6 Apr 2022 15:58:02 +0100
Subject: [PATCH] tbb: Enable cross-compilation.
This patch replaces hardcoded value for CPLUS and CONLY with $(CXX) and $(CC).
So, by defining CC= it is possible to cross compile this library using a
cross-compiler.
This patch was originally written by:
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
and taken from:
https://github.com/intel/luv-yocto/blob/3b0688bc9a5e8d52b6ca461b15fb4abd3eaaf7a8/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
Signed-off-by: Francis Laniel <flaniel@linux.microsoft.com>
---
build/linux.clang.inc | 5 +++--
build/linux.gcc.inc | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/build/linux.clang.inc b/build/linux.clang.inc
index 5a459ef5..a0777db5 100644
--- a/build/linux.clang.inc
+++ b/build/linux.clang.inc
@@ -31,8 +31,9 @@ DYLIB_KEY = -shared
EXPORT_KEY = -Wl,--version-script,
LIBDL = -ldl
-CPLUS = clang++
-CONLY = clang
+CPLUS = $(CXX)
+CONLY = $(CC)
+CPLUS_FLAGS = $(CXXFLAGS)
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
LIBS += -lpthread -lrt
LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc
index 786c4153..30242a82 100644
--- a/build/linux.gcc.inc
+++ b/build/linux.gcc.inc
@@ -32,8 +32,9 @@ DYLIB_KEY = -shared
EXPORT_KEY = -Wl,--version-script,
LIBDL = -ldl
-CPLUS = g++
-CONLY = gcc
+CPLUS = $(CXX)
+CONLY = $(CC)
+CPLUS_FLAGS = $(CXXFLAGS)
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
LIBS += -lpthread -lrt
LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
--
2.25.1

View File

@ -1,16 +0,0 @@
config BR2_PACKAGE_TBB
bool "tbb"
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
help
Intel(R) Threading Building Blocks (Intel(R) TBB) lets you
easily write parallel C++ programs that take full advantage
of multicore performance, that are portable, composable and
have future-proof scalability.
https://www.threadingbuildingblocks.org/
comment "tbb needs a glibc toolchain w/ dynamic library, threads, C++"
depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP

View File

@ -1,2 +0,0 @@
# Locally calculated
sha256 b8dbab5aea2b70cf07844f86fa413e549e099aa3205b6a04059ca92ead93a372 tbb-2018_U5.tar.gz

View File

@ -1,39 +0,0 @@
################################################################################
#
# tbb
#
################################################################################
TBB_VERSION = 2018_U5
TBB_SITE = $(call github,01org,tbb,$(TBB_VERSION))
TBB_INSTALL_STAGING = YES
TBB_LICENSE = Apache-2.0
TBB_LICENSE_FILES = LICENSE
TBB_SO_VERSION = 2
TBB_LIBS = libtbb libtbbmalloc libtbbmalloc_proxy
TBB_BIN_PATH = $(@D)/build/linux_*
define TBB_BUILD_CMDS
$(MAKE) $(TARGET_CONFIGURE_OPTS) arch=$(BR2_ARCH) -C $(@D)
endef
define TBB_INSTALL_LIBS
$(foreach lib,$(TBB_LIBS),
$(INSTALL) -D -m 0755 $(TBB_BIN_PATH)/$(lib).so.$(TBB_SO_VERSION) \
$(1)/usr/lib/$(lib).so.$(TBB_SO_VERSION) ;
ln -sf $(lib).so.$(TBB_SO_VERSION) $(1)/usr/lib/$(lib).so
)
endef
define TBB_INSTALL_STAGING_CMDS
mkdir -p $(STAGING_DIR)/usr/include/
cp -a $(@D)/include/* $(STAGING_DIR)/usr/include/
$(call TBB_INSTALL_LIBS,$(STAGING_DIR))
endef
define TBB_INSTALL_TARGET_CMDS
$(call TBB_INSTALL_LIBS,$(TARGET_DIR))
endef
$(eval $(generic-package))

View File

@ -42,7 +42,7 @@ RUN if [ "$PREBUILT_AUTO_PAUSE" != "true" ]; then cd ./cmd/auto-pause/ && go bui
FROM ${UBUNTU_JAMMY_IMAGE} as kicbase
ARG BUILDKIT_VERSION="v0.12.4"
ARG CRIO_VERSION="1.24"
ARG CRIO_VERSION="1.29"
ARG CRI_DOCKERD_VERSION="v0.3.3"
ARG CRI_DOCKERD_COMMIT="b58acf8f78f9d7bce1241d1cddb0932e7101f278"
ARG CNI_PLUGINS_VERSION="v1.4.0"

View File

@ -34,19 +34,19 @@ const cxTimeout = 5 * time.Minute
var (
schema = map[string]update.Item{
"deploy/iso/minikube-iso/arch/aarch64/package/cni-plugins-aarch64/cni-plugins.mk": {
"deploy/iso/minikube-iso/arch/aarch64/package/cni-plugins-latest-aarch64/cni-plugins-latest.mk": {
Replace: map[string]string{
`CNI_PLUGINS_AARCH64_VERSION = .*`: `CNI_PLUGINS_AARCH64_VERSION = {{.Version}}`,
`CNI_PLUGINS_LATEST_AARCH64_VERSION = .*`: `CNI_PLUGINS_LATEST_AARCH64_VERSION = {{.Version}}`,
},
},
"deploy/iso/minikube-iso/arch/x86_64/package/cni-plugins/cni-plugins.mk": {
"deploy/iso/minikube-iso/arch/x86_64/package/cni-plugins-latest/cni-plugins-latest.mk": {
Replace: map[string]string{
`CNI_PLUGINS_VERSION = .*`: `CNI_PLUGINS_VERSION = {{.Version}}`,
`CNI_PLUGINS_LATEST_VERSION = .*`: `CNI_PLUGINS_LATEST_VERSION = {{.Version}}`,
},
},
"deploy/kicbase/Dockerfile": {
Replace: map[string]string{
`CNI_PLUGINS_VERSION=.*`: `CNI_PLUGINS_VERSION="{{.Version}}"`,
`CNI_PLUGINS_LATEST_VERSION=.*`: `CNI_PLUGINS_LATEST_VERSION="{{.Version}}"`,
},
},
}
@ -69,10 +69,10 @@ func main() {
update.Apply(schema, data)
if err := updateHashFile(data.Version, "arm64", "aarch64/package/cni-plugins-aarch64"); err != nil {
if err := updateHashFile(data.Version, "arm64", "aarch64/package/cni-plugins-latest-aarch64"); err != nil {
klog.Fatalf("failed to update hash files: %v", err)
}
if err := updateHashFile(data.Version, "amd64", "x86_64/package/cni-plugins"); err != nil {
if err := updateHashFile(data.Version, "amd64", "x86_64/package/cni-plugins-latest"); err != nil {
klog.Fatalf("failed to update hash files: %v", err)
}
}
@ -88,7 +88,7 @@ func updateHashFile(version, arch, packagePath string) error {
return fmt.Errorf("failed to read response body: %v", err)
}
sum := sha256.Sum256(b)
filePath := fmt.Sprintf("../../../deploy/iso/minikube-iso/arch/%s/cni-plugins.hash", packagePath)
filePath := fmt.Sprintf("../../../deploy/iso/minikube-iso/arch/%s/cni-plugins-latest.hash", packagePath)
b, err = os.ReadFile(filePath)
if err != nil {
return fmt.Errorf("failed to read hash file: %v", err)

View File

@ -0,0 +1,99 @@
/*
Copyright 2024 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package main
import (
"context"
"crypto/sha256"
"fmt"
"io"
"net/http"
"os"
"strings"
"time"
"k8s.io/klog/v2"
"k8s.io/minikube/hack/update"
)
const cxTimeout = 5 * time.Minute
var (
schema = map[string]update.Item{
"deploy/iso/minikube-iso/package/crun-latest/crun-latest.mk": {
Replace: map[string]string{
`CRUN_LATEST_VERSION = .*`: `CRUN_LATEST_VERSION = {{.Version}}`,
`CRUN_LATEST_COMMIT = .*`: `CRUN_LATEST_COMMIT = {{.Commit}}`,
},
},
}
)
type Data struct {
Version string
Commit string
}
func main() {
ctx, cancel := context.WithTimeout(context.Background(), cxTimeout)
defer cancel()
stable, _, _, err := update.GHReleases(ctx, "containers", "crun")
if err != nil {
klog.Fatalf("Unable to get crun stable version: %v", err)
}
// Hack: Strip 'v' prefix added in 'update.GHReleases' for this package
data := Data{Version: strings.Trim(stable.Tag, "v"), Commit: stable.Commit}
update.Apply(schema, data)
if err := updateHashFiles(data.Version); err != nil {
klog.Fatalf("failed to update hash files: %v", err)
}
}
func updateHashFiles(version string) error {
r, err := http.Get(fmt.Sprintf("https://github.com/containers/crun/releases/download/%s/crun-%s.tar.gz", version, version))
if err != nil {
return fmt.Errorf("failed to download source code: %v", err)
}
defer r.Body.Close()
b, err := io.ReadAll(r.Body)
if err != nil {
return fmt.Errorf("failed to read response body: %v", err)
}
sum := sha256.Sum256(b)
filePath := "../../../deploy/iso/minikube-iso/package/crun-latest/crun-latest.hash"
b, err = os.ReadFile(filePath)
if err != nil {
return fmt.Errorf("failed to read hash file: %v", err)
}
if strings.Contains(string(b), version) {
klog.Infof("hash file already contains %q", version)
return nil
}
f, err := os.OpenFile(filePath, os.O_APPEND|os.O_WRONLY, 0644)
if err != nil {
return fmt.Errorf("failed to open hash file: %v", err)
}
defer f.Close()
if _, err := f.WriteString(fmt.Sprintf("sha256 %x crun-%s.tar.gz\n", sum, version)); err != nil {
return fmt.Errorf("failed to write to hash file: %v", err)
}
return nil
}

View File

@ -22,7 +22,10 @@ import (
"regexp"
)
const addonsFile = "pkg/minikube/assets/addons.go"
const (
addonsFile = "pkg/minikube/assets/addons.go"
dockerfile = "deploy/kicbase/Dockerfile"
)
type dependency struct {
filePath string
@ -35,7 +38,7 @@ var dependencies = map[string]dependency{
"cloud-spanner": {addonsFile, `cloud-spanner-emulator/emulator:(.*)@`},
"cni-plugins": {"deploy/iso/minikube-iso/arch/x86_64/package/cni-plugins/cni-plugins.mk", `CNI_PLUGINS_VERSION = (.*)`},
"containerd": {"deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.mk", `CONTAINERD_BIN_VERSION = (.*)`},
"cri-dockerd": {"deploy/kicbase/Dockerfile", `CRI_DOCKERD_VERSION="(.*)"`},
"cri-dockerd": {dockerfile, `CRI_DOCKERD_VERSION="(.*)"`},
"cri-o": {"deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk", `CRIO_BIN_VERSION = (.*)`},
"crictl": {"deploy/iso/minikube-iso/arch/x86_64/package/crictl-bin/crictl-bin.mk", `CRICTL_BIN_VERSION = (.*)`},
"docker": {"deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.mk", `DOCKER_BIN_VERSION = (.*)`},
@ -62,7 +65,7 @@ var dependencies = map[string]dependency{
"nvidia-device-plugin": {addonsFile, `nvidia/k8s-device-plugin:(.*)@`},
"registry": {addonsFile, `registry:(.*)@`},
"runc": {"deploy/iso/minikube-iso/package/runc-master/runc-master.mk", `RUNC_MASTER_VERSION = (.*)`},
"ubuntu": {"deploy/kicbase/Dockerfile", `ubuntu:jammy-(.*)"`},
"ubuntu": {dockerfile, `ubuntu:jammy-(.*)"`},
}
func main() {

View File

@ -46,8 +46,7 @@ var (
// searching for 1.* so it does NOT match "KVM_GO_VERSION ?= $(GO_VERSION:.0=)" in the Makefile
`GO_VERSION \?= 1.*`: `GO_VERSION ?= {{.StableVersion}}`,
`GO_K8S_VERSION_PREFIX \?= v1.*`: `GO_K8S_VERSION_PREFIX ?= {{.K8SVersion}}`,
// Below line commented out due to https://github.com/kubernetes/minikube/issues/15841
// `GO_VERSION=[0-9.]+`: `GO_VERSION={{.StableVersion}}`,
`GO_VERSION=[0-9.]+`: `GO_VERSION={{.StableVersion}}`,
},
},
"hack/jenkins/installers/check_install_golang.sh": {

View File

@ -41,7 +41,7 @@ const fileScheme = "file"
// DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order
func DefaultISOURLs() []string {
v := version.GetISOVersion()
isoBucket := "minikube-builds/iso/17936"
isoBucket := "minikube-builds/iso/18020"
return []string{
fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH),