Skip to content

Commit 37b032e

Browse files
authored
Merge pull request #21800 from blu3r4y/iso-linux-6.6-btf
iso: Enable BTF debug symbols to support eBPF tooling
2 parents c3c7ac9 + bb40a8e commit 37b032e

File tree

5 files changed

+21
-3
lines changed

5 files changed

+21
-3
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ KIC_VERSION ?= $(shell grep -E "Version =" pkg/drivers/kic/types.go | cut -d \"
2424
HUGO_VERSION ?= $(shell grep -E "HUGO_VERSION = \"" netlify.toml | cut -d \" -f2)
2525

2626
# Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
27-
ISO_VERSION ?= v1.37.0-1761414747-21797
27+
ISO_VERSION ?= v1.37.0-1761658712-21800
2828

2929
# Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
3030
DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))

deploy/iso/minikube-iso/board/minikube/aarch64/linux_aarch64_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -947,7 +947,7 @@ CONFIG_CMA_SIZE_MBYTES=32
947947
CONFIG_PRINTK_TIME=y
948948
CONFIG_DEBUG_KERNEL=y
949949
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
950-
CONFIG_DEBUG_INFO_REDUCED=y
950+
CONFIG_DEBUG_INFO_BTF=y
951951
CONFIG_MAGIC_SYSRQ=y
952952
CONFIG_DEBUG_FS=y
953953
# CONFIG_SCHED_DEBUG is not set

deploy/iso/minikube-iso/board/minikube/x86_64/linux_x86_64_defconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,13 +502,17 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=y
502502
CONFIG_CRYPTO_AES_NI_INTEL=y
503503
CONFIG_PRINTK_TIME=y
504504
CONFIG_DEBUG_KERNEL=y
505+
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
506+
CONFIG_DEBUG_INFO_BTF=y
505507
CONFIG_MAGIC_SYSRQ=y
506508
CONFIG_DEBUG_STACK_USAGE=y
507509
# CONFIG_SCHED_DEBUG is not set
508510
CONFIG_SCHEDSTATS=y
509511
CONFIG_FUNCTION_TRACER=y
510512
CONFIG_FTRACE_SYSCALLS=y
511513
CONFIG_BLK_DEV_IO_TRACE=y
514+
CONFIG_BPF_KPROBE_OVERRIDE=y
512515
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
513516
CONFIG_EARLY_PRINTK_DBGP=y
514517
CONFIG_DEBUG_BOOT_PARAMS=y
518+
CONFIG_FUNCTION_ERROR_INJECTION=y

pkg/minikube/download/iso.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const fileScheme = "file"
4141
// DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order
4242
func DefaultISOURLs() []string {
4343
v := version.GetISOVersion()
44-
isoBucket := "minikube-builds/iso/21797"
44+
isoBucket := "minikube-builds/iso/21800"
4545

4646
return []string{
4747
fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH),

test/integration/iso_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"fmt"
2424
"os/exec"
2525
"runtime"
26+
"strings"
2627
"testing"
2728

2829
"k8s.io/minikube/pkg/minikube/vmpath"
@@ -99,4 +100,17 @@ func TestISOImage(t *testing.T) {
99100
})
100101
}
101102
})
103+
104+
t.Run("eBPFSupport", func(t *testing.T) {
105+
// Ensure that BTF type information is available (https://github.com/kubernetes/minikube/issues/21788)
106+
btfFile := "/sys/kernel/btf/vmlinux"
107+
rr, err := Run(t, exec.CommandContext(ctx, Target(), "-p", profile, "ssh", fmt.Sprintf("test -f %s && echo 'OK' || echo 'NOT FOUND'", btfFile)))
108+
if err != nil {
109+
t.Errorf("failed to verify existence of %q file: args %q: %v", btfFile, rr.Command(), err)
110+
}
111+
112+
if !strings.Contains(rr.Stdout.String(), "OK") {
113+
t.Errorf("expected file %q to exist, but it does not. BTF types are required for CO-RE eBPF programs; set CONFIG_DEBUG_INFO_BTF in kernel configuration.", btfFile)
114+
}
115+
})
102116
}

0 commit comments

Comments
 (0)