Update Buildroot to 2019.02.3 (#415)
* Update Buildroot to 2019-02.3 * Fix enter script * Update ova_defconfig * Fix network manager * Remove runc patches * Use same docker version * Fix build * Fix vmtools * Fix depens * Fix handling with tempfiles * Fix permission handling * Fix cp * Cleanup * Fix mounts
This commit is contained in:
@@ -30,22 +30,17 @@ else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SVN),y)
|
||||
LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL))
|
||||
LINUX_SITE_METHOD = svn
|
||||
else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION),y)
|
||||
LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-cip.git
|
||||
LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git
|
||||
else ifneq ($(findstring -rc,$(LINUX_VERSION)),)
|
||||
# Since 4.12-rc1, -rc kernels are generated from cgit. This also works for
|
||||
# older -rc kernels.
|
||||
LINUX_SITE = https://git.kernel.org/torvalds/t
|
||||
else
|
||||
LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz
|
||||
# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order
|
||||
# to use the $(word) function. We support versions such as 4.0, 3.1,
|
||||
# 2.6.32, 2.6.32-rc1, 3.0-rc6, etc.
|
||||
ifeq ($(findstring x2.6.,x$(LINUX_VERSION)),x2.6.)
|
||||
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6
|
||||
else ifeq ($(findstring x3.,x$(LINUX_VERSION)),x3.)
|
||||
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x
|
||||
else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.)
|
||||
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x
|
||||
else
|
||||
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(firstword $(subst ., ,$(LINUX_VERSION))).x
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -55,14 +50,22 @@ endif
|
||||
|
||||
LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
|
||||
|
||||
# We have no way to know the hashes for user-supplied patches.
|
||||
BR_NO_CHECK_HASH_FOR += $(notdir $(LINUX_PATCHES))
|
||||
|
||||
# We rely on the generic package infrastructure to download and apply
|
||||
# remote patches (downloaded from ftp, http or https). For local
|
||||
# patches, we can't rely on that infrastructure, because there might
|
||||
# be directories in the patch list (unlike for other packages).
|
||||
LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
|
||||
|
||||
LINUX_MAKE_ENV = \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
BR_BINARIES_DIR=$(BINARIES_DIR)
|
||||
|
||||
LINUX_INSTALL_IMAGES = YES
|
||||
LINUX_DEPENDENCIES = host-kmod
|
||||
LINUX_DEPENDENCIES = host-kmod \
|
||||
$(if $(BR2_PACKAGE_INTEL_MICROCODE),intel-microcode)
|
||||
|
||||
# Starting with 4.16, the generated kconfig paser code is no longer
|
||||
# shipped with the kernel sources, so we need flex and bison, but
|
||||
@@ -97,7 +100,13 @@ LINUX_DEPENDENCIES += host-openssl
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
|
||||
LINUX_DEPENDENCIES += host-elfutils
|
||||
LINUX_DEPENDENCIES += host-elfutils host-pkgconf
|
||||
LINUX_MAKE_ENV += \
|
||||
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
|
||||
PKG_CONFIG_SYSROOT_DIR="/" \
|
||||
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
|
||||
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
|
||||
PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"
|
||||
endif
|
||||
|
||||
# If host-uboot-tools is selected by the user, assume it is needed to
|
||||
@@ -121,10 +130,6 @@ LINUX_MAKE_FLAGS = \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
DEPMOD=$(HOST_DIR)/sbin/depmod
|
||||
|
||||
LINUX_MAKE_ENV = \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
BR_BINARIES_DIR=$(BINARIES_DIR)
|
||||
|
||||
ifeq ($(BR2_REPRODUCIBLE),y)
|
||||
LINUX_MAKE_ENV += \
|
||||
KBUILD_BUILD_VERSION=1 \
|
||||
@@ -143,6 +148,10 @@ ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)
|
||||
LINUX_MAKE_ENV += KCFLAGS=-Wno-attribute-alias
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT),y)
|
||||
LINUX_MAKE_ENV += DTC_FLAGS=-@
|
||||
endif
|
||||
|
||||
# Get the real Linux version, which tells us where kernel modules are
|
||||
# going to be installed in the target filesystem.
|
||||
LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null`
|
||||
@@ -269,13 +278,16 @@ endif
|
||||
LINUX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES))
|
||||
LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
|
||||
|
||||
# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find our
|
||||
# host-openssl and host-libelf. However, this triggers a bug in the kconfig
|
||||
# build script that causes it to build with /usr/include/ncurses.h (which is
|
||||
# typically wchar) but link with $(HOST_DIR)/lib/libncurses.so (which is not).
|
||||
# We don't actually need any host-package for kconfig, so remove the HOSTCC
|
||||
# override again.
|
||||
LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC)"
|
||||
# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find
|
||||
# our host-openssl and host-libelf. However, this triggers a bug in
|
||||
# the kconfig build script that causes it to build with
|
||||
# /usr/include/ncurses.h (which is typically wchar) but link with
|
||||
# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually
|
||||
# need any host-package for kconfig, so remove the HOSTCC override
|
||||
# again. In addition, even though linux depends on the toolchain and
|
||||
# therefore host-ccache would be ready, we use HOSTCC_NOCCACHE for
|
||||
# consistency with other kconfig packages.
|
||||
LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC_NOCCACHE)"
|
||||
|
||||
# If no package has yet set it, set it from the Kconfig option
|
||||
LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES)
|
||||
@@ -324,6 +336,9 @@ define LINUX_KCONFIG_FIXUP_CMDS
|
||||
$(if $(BR2_PACKAGE_AUDIT),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_NET,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_AUDIT,$(@D)/.config))
|
||||
$(if $(BR2_PACKAGE_INTEL_MICROCODE),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE_INTEL,$(@D)/.config))
|
||||
$(if $(BR2_PACKAGE_KTAP),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_ENABLE_DEFAULT_TRACERS,$(@D)/.config)
|
||||
@@ -331,6 +346,8 @@ define LINUX_KCONFIG_FIXUP_CMDS
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config))
|
||||
$(if $(BR2_PACKAGE_LINUX_TOOLS_PERF),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config))
|
||||
$(if $(BR2_PACKAGE_PCM_TOOLS),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_X86_MSR,$(@D)/.config))
|
||||
$(if $(BR2_PACKAGE_SYSTEMD),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config)
|
||||
@@ -423,15 +440,16 @@ endif
|
||||
endif
|
||||
|
||||
# Compilation. We make sure the kernel gets rebuilt when the
|
||||
# configuration has changed.
|
||||
# configuration has changed. We call the 'all' and
|
||||
# '$(LINUX_TARGET_NAME)' targets separately because calling them in
|
||||
# the same $(MAKE) invocation has shown to cause parallel build
|
||||
# issues.
|
||||
define LINUX_BUILD_CMDS
|
||||
$(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \
|
||||
cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/
|
||||
)
|
||||
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all
|
||||
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME)
|
||||
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
|
||||
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \
|
||||
fi
|
||||
$(LINUX_BUILD_DTB)
|
||||
$(LINUX_APPEND_DTB)
|
||||
endef
|
||||
|
||||
Reference in New Issue
Block a user