diff --git a/Makefile b/Makefile index 1b25fa2e1f85..4084ef353f4d 100644 --- a/Makefile +++ b/Makefile @@ -294,6 +294,9 @@ minikube-iso-%: deploy/iso/minikube-iso/board/minikube/%/rootfs-overlay/usr/bin/ perl -pi -e 's@\s+source "package/sysdig/Config\.in"\n@@;' $(BUILD_DIR)/buildroot/package/Config.in; \ rm -r $(BUILD_DIR)/buildroot/package/sysdig; \ 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 diff --git a/deploy/iso/minikube-iso/0001-linux-add-BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE.patch b/deploy/iso/minikube-iso/0001-linux-add-BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE.patch new file mode 100644 index 000000000000..6d0445051106 --- /dev/null +++ b/deploy/iso/minikube-iso/0001-linux-add-BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE.patch @@ -0,0 +1,72 @@ +From 2da2f359dba50aafef1202edda34374d99b77a14 Mon Sep 17 00:00:00 2001 +From: Francis Laniel +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 +Signed-off-by: Thomas Petazzoni +--- + 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 +