summaryrefslogtreecommitdiffstats
path: root/linux
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2018-04-12 15:59:40 +0930
committerJoel Stanley <joel@jms.id.au>2018-04-12 15:59:40 +0930
commita8d11267c2bfad3ff410ea342778f2791982da51 (patch)
tree98f7058a6f58fc3f63d1e8bb499531a0a01e15fd /linux
parente17668bbe3538d42b0a0fab64251e60ff6c81d68 (diff)
parent9565a37e0d2aa3c5fb9a4148760c490f2e5226d4 (diff)
downloadbuildroot-2018.02-op-build.tar.gz
buildroot-2018.02-op-build.zip
Merge tag '2018.02.1' into 2018.02-op-build2018.02-op-build
Release 2018.02.1
Diffstat (limited to 'linux')
-rw-r--r--linux/Config.in63
-rw-r--r--linux/linux.mk28
2 files changed, 51 insertions, 40 deletions
diff --git a/linux/Config.in b/linux/Config.in
index 5afd620d98..142d42e10c 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -116,7 +116,7 @@ endif
config BR2_LINUX_KERNEL_VERSION
string
- default "4.15.7" if BR2_LINUX_KERNEL_LATEST_VERSION
+ default "4.15.16" if BR2_LINUX_KERNEL_LATEST_VERSION
default "v4.4.112-cip18" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
@@ -284,7 +284,7 @@ endchoice
choice
prompt "Kernel compression format"
help
- This selection will just ensure that the correct host tools are build.
+ This selection will just ensure that the correct host tools are built.
The actual compression for the kernel should be selected in the
kernel configuration menu.
@@ -363,40 +363,19 @@ config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
config BR2_LINUX_KERNEL_APPENDED_DTB
bool
-choice
- prompt "Device tree source"
- default BR2_LINUX_KERNEL_USE_INTREE_DTS
-
-config BR2_LINUX_KERNEL_USE_INTREE_DTS
- bool "Use a device tree present in the kernel"
- help
- Use a device tree source distributed with
- the kernel sources. The dts files are located
- in the arch/<arch>/boot/dts folder.
-
-config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
- bool "Use a custom device tree file"
- help
- Use a custom device tree file, i.e, a device
- tree file that does not belong to the kernel
- source tree.
-endchoice
-
config BR2_LINUX_KERNEL_INTREE_DTS_NAME
- string "Device Tree Source file names"
- depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
+ string "In-tree Device Tree Source file names"
help
- Name of the device tree source file, without
+ Name of in-tree device tree source file, without
the trailing .dts. You can provide a list of
dts files to build, separated by spaces.
config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
- string "Device Tree Source file paths"
- depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
+ string "Out-of-tree Device Tree Source file paths"
help
- Path to the device tree source files. You can
- provide a list of dts paths to copy and build,
- separated by spaces.
+ Path to to out-of-tree device tree source files.
+ You can provide a list of dts paths to copy and
+ build, separated by spaces.
endif
@@ -412,6 +391,32 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET
/boot if DTBs have been generated by the kernel build
process.
+config BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL
+ bool "Needs host OpenSSL"
+ help
+ Some Linux kernel configuration options (such as
+ CONFIG_SYSTEM_TRUSTED_KEYRING) require building a host
+ program called extract-cert, which itself needs
+ OpenSSL. Enabling this option will ensure host-openssl gets
+ built before the Linux kernel.
+
+ Enable this option if you get a Linux kernel build failure
+ such as "scripts/extract-cert.c:21:25: fatal error:
+ openssl/bio.h: No such file or directory".
+
+config BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF
+ bool "Needs host libelf"
+ help
+ Some Linux kernel configuration options (such as
+ CONFIG_UNWINDER_ORC) require building a host program that
+ needs libelf. Enabling this option will ensure host-elfutils
+ (which provides libelf) gets built before the Linux kernel.
+
+ Enable this option if you get a Linux kernel build failure
+ such as "Cannot generate ORC metadata for
+ CONFIG_UNWINDER_ORC=y, please install libelf-dev,
+ libelf-devel or elfutils-libelf-devel".
+
# Linux extensions
source "linux/Config.ext.in"
diff --git a/linux/linux.mk b/linux/linux.mk
index 5300b9cfc5..8d14f41c6b 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -80,6 +80,14 @@ LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) += CONFIG_KERNEL_LZMA
LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) += CONFIG_KERNEL_LZO
LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ
+ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL),y)
+LINUX_DEPENDENCIES += host-openssl
+endif
+
+ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
+LINUX_DEPENDENCIES += host-elfutils
+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)
@@ -95,8 +103,7 @@ LINUX_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
endif
LINUX_MAKE_FLAGS = \
- HOSTCC="$(HOSTCC)" \
- HOSTCFLAGS="$(HOSTCFLAGS)" \
+ HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \
ARCH=$(KERNEL_ARCH) \
INSTALL_MOD_PATH=$(TARGET_DIR) \
CROSS_COMPILE="$(TARGET_CROSS)" \
@@ -118,15 +125,13 @@ endif
# 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`
-ifeq ($(BR2_LINUX_KERNEL_USE_INTREE_DTS),y)
-KERNEL_DTS_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
-else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),y)
+KERNEL_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
+
# We keep only the .dts files, so that the user can specify both .dts
# and .dtsi files in BR2_LINUX_KERNEL_CUSTOM_DTS_PATH. Both will be
# copied to arch/<arch>/boot/dts, but only the .dts files will
# actually be generated as .dtb.
-KERNEL_DTS_NAME = $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
-endif
+KERNEL_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME))
@@ -362,8 +367,9 @@ endif
# Compilation. We make sure the kernel gets rebuilt when the
# configuration has changed.
define LINUX_BUILD_CMDS
- $(if $(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),
- cp -f $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)) $(KERNEL_ARCH_PATH)/boot/dts/)
+ @for dts in $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)); do \
+ cp -f $${dts} $(KERNEL_ARCH_PATH)/boot/dts/ ; \
+ done
$(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 ; \
@@ -474,9 +480,9 @@ $(error No kernel configuration file specified, check your BR2_LINUX_KERNEL_CUST
endif
endif
-ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT)$(KERNEL_DTS_NAME),y)
+ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT):$(strip $(KERNEL_DTS_NAME)),y:)
$(error No kernel device tree source specified, check your \
-BR2_LINUX_KERNEL_USE_INTREE_DTS / BR2_LINUX_KERNEL_USE_CUSTOM_DTS settings)
+BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings)
endif
endif # BR_BUILDING
OpenPOWER on IntegriCloud