Bump buildroot to 2019.02

This commit is contained in:
2019-03-28 22:49:48 +01:00
parent 5598b1b762
commit 920d307141
5121 changed files with 78550 additions and 46132 deletions

View File

@@ -4,9 +4,11 @@ menu "Linux Kernel Extensions"
# Xenomai
config BR2_LINUX_KERNEL_EXT_XENOMAI
bool "Adeos/Xenomai Real-time patch"
depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_MUSL
depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
depends on BR2_USE_MMU # xenomai
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xenomai
depends on BR2_TOOLCHAIN_HAS_THREADS # xenomai
depends on !BR2_TOOLCHAIN_USES_MUSL # xenomai
select BR2_PACKAGE_XENOMAI
help
Xenomai is split in two parts: a kernel part and a userspace
@@ -34,7 +36,9 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
and verify that your kernel version in buildroot matches.
comment "xenomai needs a uClibc or glibc toolchain w/ threads"
depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
#-------------------------------------------------------------------------------
@@ -117,14 +121,17 @@ config BR2_LINUX_KERNEL_EXT_AUFS_VERSION
string "aufs-standalone version"
default ""
help
The version you choose must match that of your kernel. Usually,
the sha1 of the cset you want to use; avoid using a branch name
as this yields non-reproducible builds.
The version you choose must match that of your kernel.
Usually, the sha1 of the cset you want to use; avoid using a
branch name as this yields non-reproducible builds.
See the following resources to see what versions are available:
See the following resources to see what versions are
available:
For aufs3.x: https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/
For aufs4.x: https://github.com/sfjro/aufs4-standalone/branches/all
For aufs3.x:
https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/
For aufs4.x:
https://github.com/sfjro/aufs4-standalone/branches/all
endif # aufs

View File

@@ -29,11 +29,13 @@ config BR2_LINUX_NEEDS_MODULES
choice
prompt "Kernel version"
# We are intentionally staying at 4.19 for the next Buildroot LTS
# release (2019.02)
config BR2_LINUX_KERNEL_LATEST_VERSION
bool "Latest version (4.15)"
bool "Latest version (4.19)"
config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
bool "Latest CIP SLTS version (v4.4.138-cip25)"
bool "Latest CIP SLTS version (v4.4.171-cip30)"
help
CIP launched in the spring of 2016 to address the needs of
organizations in industries such as power generation and
@@ -65,13 +67,13 @@ config BR2_LINUX_KERNEL_CUSTOM_VERSION
config BR2_LINUX_KERNEL_CUSTOM_TARBALL
bool "Custom tarball"
help
This option allows to specify a URL pointing to a kernel source
tarball. This URL can use any protocol recognized by Buildroot,
like http://, ftp://, file:// or scp://.
This option allows to specify a URL pointing to a kernel
source tarball. This URL can use any protocol recognized by
Buildroot, like http://, ftp://, file:// or scp://.
When pointing to a local tarball using file://, you may want to
use a make variable like $(TOPDIR) to reference the root of the
Buildroot tree.
When pointing to a local tarball using file://, you may want
to use a make variable like $(TOPDIR) to reference the root of
the Buildroot tree.
config BR2_LINUX_KERNEL_CUSTOM_GIT
bool "Custom Git repository"
@@ -113,15 +115,15 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy
help
Revision to use in the typical format used by Git/Mercurial/Subversion
E.G. a sha id, a tag, branch, ..
Revision to use in the typical format used by
Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
endif
config BR2_LINUX_KERNEL_VERSION
string
default "4.15.16" if BR2_LINUX_KERNEL_LATEST_VERSION
default "v4.4.138-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default "4.19.25" if BR2_LINUX_KERNEL_LATEST_VERSION
default "v4.4.171-cip30" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
@@ -179,7 +181,8 @@ config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
Path to the kernel configuration file
Note: this can be a defconfig file or a complete .config file,
which can later be saved back with make linux-update-(def)config.
which can later be saved back with make
linux-update-(def)config.
config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
string "Additional configuration fragment files"
@@ -187,6 +190,14 @@ config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
A space-separated list of kernel configuration fragment files,
that will be merged to the main kernel configuration file.
config BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH
string "Custom boot logo file path"
help
Use a custom Linux framebuffer boot logo.
Custom logo should be in PNG or JPEG format, it will be
converted to the linux kernel format (224 colors only)
and copied over the original logo file.
#
# Binary format
#
@@ -197,7 +208,7 @@ choice
config BR2_LINUX_KERNEL_UIMAGE
bool "uImage"
depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
depends on BR2_arc || BR2_arm || BR2_armeb || \
BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
BR2_sh || BR2_mips || BR2_mipsel || \
BR2_mips64 || BR2_mips64el || BR2_xtensa
@@ -288,9 +299,9 @@ endchoice
choice
prompt "Kernel compression format"
help
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.
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.
config BR2_LINUX_KERNEL_GZIP
bool "gzip compression"
@@ -321,8 +332,9 @@ config BR2_LINUX_KERNEL_IMAGE_NAME
depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
help
The filename of the kernel image, if it is different from the
make target (above). Only Xtensa uses a filename different from
the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
make target (above). Only Xtensa uses a filename different
from the make target. Defaults to
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
If unsure, leave it empty.
@@ -331,18 +343,19 @@ config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
depends on BR2_arm || BR2_armeb
depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
help
If your ARM system's Linux kernel is configured with the new (3.7+)
multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
kernel config), then it is necessary to specify a kernel load address
when building the uImage. This should be a hexadecimal string
beginning with 0x, for example: 0x00008000.
If your ARM system's Linux kernel is configured with the new
(3.7+) multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y
in your kernel config), then it is necessary to specify a
kernel load address when building the uImage. This should be a
hexadecimal string beginning with 0x, for example: 0x00008000.
If unsure, let this option empty.
config BR2_LINUX_KERNEL_DTS_SUPPORT
bool "Build a Device Tree Blob (DTB)"
help
Compile one or more device tree sources into device tree blobs.
Compile one or more device tree sources into device tree
blobs.
Select the dts files to compile in the options below.
if BR2_LINUX_KERNEL_DTS_SUPPORT
@@ -381,6 +394,14 @@ config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
You can provide a list of dts paths to copy and
build, separated by spaces.
config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT
bool "Build Device Tree with overlay support"
help
If enabled, pass the "-@" option to dtc, such that
symbols are generated in the compiled Device Tree.
Choose this option to support Device Tree overlays
on the target system.
endif
config BR2_LINUX_KERNEL_INSTALL_TARGET

View File

@@ -1,7 +1,7 @@
################################################################################
# Linux Aufs extensions
#
# Patch the linux kernel with aufs extension
#
################################################################################
LINUX_EXTENSIONS += aufs

View File

@@ -1,7 +1,7 @@
################################################################################
# Linux ev3dev extensions
#
# Patch the linux kernel with ev3dev extension
#
################################################################################
LINUX_EXTENSIONS += ev3dev-linux-drivers

View File

@@ -1,7 +1,7 @@
################################################################################
# Linux fbtft extensions
#
# Patch the linux kernel with fbtft extension
#
################################################################################
LINUX_EXTENSIONS += fbtft

View File

@@ -1,7 +1,7 @@
################################################################################
# Linux RTAI extensions
#
# Patch the linux kernel with RTAI extension
#
################################################################################
LINUX_EXTENSIONS += rtai
@@ -20,8 +20,8 @@ endif
define RTAI_PREPARE_KERNEL
kver=`$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelversion` ; \
if test -f $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/hal-linux-$${kver}-*patch ; then \
$(APPLY_PATCHES) $(LINUX_DIR) \
$(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \
$(APPLY_PATCHES) $(LINUX_DIR) \
$(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \
hal-linux-$${kver}-*patch ; \
else \
echo "No RTAI patch for your kernel version" ; \

View File

@@ -1,7 +1,7 @@
################################################################################
# Linux Adeos/Xenomai extensions
#
# Patch the linux kernel with xenomai extension
# Patch the linux kernel with Adeos/Xenomai extension
#
################################################################################
LINUX_EXTENSIONS += xenomai

View File

@@ -0,0 +1,6 @@
# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
sha256 1cf544308195250805e0731c716691bea4c1ed29e03e6f9ae5be6dc16785a504 linux-4.20.12.tar.xz
sha256 7ec71d90d6e96e6f741676d157ac06f30c75be4eaf1649143a3c8b7d4f919731 linux-4.19.25.tar.xz
sha256 7aa43e34e4c9e5965da29cef5ae196e06006f8c0d1d65fd755a2f197f0796a11 linux-4.14.103.tar.xz
sha256 c09af067af62d299f5e33c279968de58c88fb7c59bd05e8f3bb460f611f60515 linux-4.9.160.tar.xz
sha256 27da5401aa691762f3361c143f453877f499c02ea6c9c743b09538cb1af1c75d linux-4.4.176.tar.xz

View File

@@ -30,7 +30,7 @@ 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.
@@ -55,6 +55,9 @@ 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
@@ -62,7 +65,19 @@ LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
LINUX_INSTALL_IMAGES = YES
LINUX_DEPENDENCIES += host-kmod
LINUX_DEPENDENCIES = host-kmod
# Starting with 4.16, the generated kconfig paser code is no longer
# shipped with the kernel sources, so we need flex and bison, but
# only if the host does not have them.
LINUX_KCONFIG_DEPENDENCIES = \
$(BR2_BISON_HOST_DEPENDENCY) \
$(BR2_FLEX_HOST_DEPENDENCY)
# Starting with 4.18, the kconfig in the kernel calls the
# cross-compiler to check its capabilities. So we need the
# toolchain before we can call the configurators.
LINUX_KCONFIG_DEPENDENCIES += toolchain
# host tools needed for kernel compression
ifeq ($(BR2_LINUX_KERNEL_LZ4),y)
@@ -121,19 +136,33 @@ LINUX_MAKE_ENV += \
KBUILD_BUILD_TIMESTAMP="$(shell LC_ALL=C date -d @$(SOURCE_DATE_EPOCH))"
endif
# gcc-8 started warning about function aliases that have a
# non-matching prototype. This seems rather useful in general, but it
# causes tons of warnings in the Linux kernel, where we rely on
# abusing those aliases for system call entry points, in order to
# sanitize the arguments passed from user space in registers.
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82435
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`
KERNEL_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
LINUX_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)))))
LINUX_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME))
LINUX_DTBS = $(addsuffix .dtb,$(LINUX_DTS_NAME))
ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y)
LINUX_IMAGE_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_NAME))
@@ -155,9 +184,9 @@ LINUX_IMAGE_NAME = zImage.epapr
else ifeq ($(BR2_LINUX_KERNEL_APPENDED_ZIMAGE),y)
LINUX_IMAGE_NAME = zImage
else ifeq ($(BR2_LINUX_KERNEL_CUIMAGE),y)
LINUX_IMAGE_NAME = cuImage.$(firstword $(KERNEL_DTS_NAME))
LINUX_IMAGE_NAME = cuImage.$(firstword $(LINUX_DTS_NAME))
else ifeq ($(BR2_LINUX_KERNEL_SIMPLEIMAGE),y)
LINUX_IMAGE_NAME = simpleImage.$(firstword $(KERNEL_DTS_NAME))
LINUX_IMAGE_NAME = simpleImage.$(firstword $(LINUX_DTS_NAME))
else ifeq ($(BR2_LINUX_KERNEL_IMAGE),y)
LINUX_IMAGE_NAME = Image
else ifeq ($(BR2_LINUX_KERNEL_LINUX_BIN),y)
@@ -187,11 +216,11 @@ endif
# for bzImage, arch/i386 and arch/x86_64 do not exist when copying the
# defconfig file.
ifeq ($(KERNEL_ARCH),i386)
KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/x86
LINUX_ARCH_PATH = $(LINUX_DIR)/arch/x86
else ifeq ($(KERNEL_ARCH),x86_64)
KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/x86
LINUX_ARCH_PATH = $(LINUX_DIR)/arch/x86
else
KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/$(KERNEL_ARCH)
LINUX_ARCH_PATH = $(LINUX_DIR)/arch/$(KERNEL_ARCH)
endif
ifeq ($(BR2_LINUX_KERNEL_VMLINUX),y)
@@ -201,7 +230,7 @@ LINUX_IMAGE_PATH = $(LINUX_DIR)/$(LINUX_IMAGE_NAME)
else ifeq ($(BR2_LINUX_KERNEL_VMLINUZ_BIN),y)
LINUX_IMAGE_PATH = $(LINUX_DIR)/$(LINUX_IMAGE_NAME)
else
LINUX_IMAGE_PATH = $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME)
LINUX_IMAGE_PATH = $(LINUX_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME)
endif # BR2_LINUX_KERNEL_VMLINUX
define LINUX_APPLY_LOCAL_PATCHES
@@ -226,6 +255,17 @@ define LINUX_TRY_PATCH_TIMECONST
endef
LINUX_POST_PATCH_HOOKS += LINUX_TRY_PATCH_TIMECONST
LINUX_KERNEL_CUSTOM_LOGO_PATH = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH))
ifneq ($(LINUX_KERNEL_CUSTOM_LOGO_PATH),)
LINUX_DEPENDENCIES += host-imagemagick
define LINUX_KERNEL_CUSTOM_LOGO_CONVERT
$(HOST_DIR)/bin/convert $(LINUX_KERNEL_CUSTOM_LOGO_PATH) \
-dither None -colors 224 -compress none \
$(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm
endef
LINUX_PRE_BUILD_HOOKS += LINUX_KERNEL_CUSTOM_LOGO_CONVERT
endif
ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y)
LINUX_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig
else ifeq ($(BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG),y)
@@ -236,13 +276,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)
@@ -278,6 +321,7 @@ define LINUX_KCONFIG_FIXUP_CMDS
# replaced later by the real cpio archive, and the kernel will be
# rebuilt using the linux-rebuild-with-initramfs target.
$(if $(BR2_TARGET_ROOTFS_INITRAMFS),
mkdir -p $(BINARIES_DIR)
touch $(BINARIES_DIR)/rootfs.cpio
$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio",$(@D)/.config)
$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config)
@@ -290,6 +334,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)
@@ -297,6 +344,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)
@@ -308,6 +357,9 @@ define LINUX_KCONFIG_FIXUP_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_SMACK,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_NETWORK,$(@D)/.config))
$(if $(BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER),
$(call KCONFIG_ENABLE_OPT,CONFIG_CMA,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_DMA_CMA,$(@D)/.config))
$(if $(BR2_PACKAGE_IPTABLES),
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER,$(@D)/.config)
@@ -327,19 +379,28 @@ define LINUX_KCONFIG_FIXUP_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
$(if $(BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV),
$(call KCONFIG_DISABLE_OPT,CONFIG_MXC_GPU_VIV,$(@D)/.config))
$(if $(LINUX_KERNEL_CUSTOM_LOGO_PATH),
$(call KCONFIG_ENABLE_OPT,CONFIG_FB,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_LOGO,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_LOGO_LINUX_CLUT224,$(@D)/.config))
endef
ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y)
# Starting with 4.17, the generated dtc parser code is no longer
# shipped with the kernel sources, so we need flex and bison. For
# reproducibility, we use our owns rather than the host ones.
LINUX_DEPENDENCIES += host-bison host-flex
ifeq ($(BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT),)
define LINUX_BUILD_DTB
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(KERNEL_DTBS)
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_DTBS)
endef
ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),)
define LINUX_INSTALL_DTB
# dtbs moved from arch/<ARCH>/boot to arch/<ARCH>/boot/dts since 3.8-rc1
cp $(addprefix \
$(KERNEL_ARCH_PATH)/boot/$(if $(wildcard \
$(addprefix $(KERNEL_ARCH_PATH)/boot/dts/,$(KERNEL_DTBS))),dts/),$(KERNEL_DTBS)) \
$(LINUX_ARCH_PATH)/boot/$(if $(wildcard \
$(addprefix $(LINUX_ARCH_PATH)/boot/dts/,$(LINUX_DTBS))),dts/),$(LINUX_DTBS)) \
$(1)
endef
endif # BR2_LINUX_KERNEL_APPENDED_DTB
@@ -349,8 +410,8 @@ endif # BR2_LINUX_KERNEL_DTS_SUPPORT
ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y)
# dtbs moved from arch/$ARCH/boot to arch/$ARCH/boot/dts since 3.8-rc1
define LINUX_APPEND_DTB
(cd $(KERNEL_ARCH_PATH)/boot; \
for dtb in $(KERNEL_DTS_NAME); do \
(cd $(LINUX_ARCH_PATH)/boot; \
for dtb in $(LINUX_DTS_NAME); do \
if test -e $${dtb}.dtb ; then \
dtbpath=$${dtb}.dtb ; \
else \
@@ -368,10 +429,10 @@ ifeq ($(BR2_LINUX_KERNEL_APPENDED_UIMAGE),y)
LINUX_APPEND_DTB += ; \
MKIMAGE_ARGS=`$(MKIMAGE) -l $(LINUX_IMAGE_PATH) |\
sed -n -e 's/Image Name:[ ]*\(.*\)/-n \1/p' -e 's/Load Address:/-a/p' -e 's/Entry Point:/-e/p'`; \
for dtb in $(KERNEL_DTS_NAME); do \
for dtb in $(LINUX_DTS_NAME); do \
$(MKIMAGE) -A $(MKIMAGE_ARCH) -O linux \
-T kernel -C none $${MKIMAGE_ARGS} \
-d $(KERNEL_ARCH_PATH)/boot/zImage.$${dtb} $(LINUX_IMAGE_PATH).$${dtb}; \
-d $(LINUX_ARCH_PATH)/boot/zImage.$${dtb} $(LINUX_IMAGE_PATH).$${dtb}; \
done
endif
endif
@@ -379,12 +440,12 @@ endif
# Compilation. We make sure the kernel gets rebuilt when the
# configuration has changed.
define LINUX_BUILD_CMDS
@for dts in $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)); do \
cp -f $${dts} $(KERNEL_ARCH_PATH)/boot/dts/ ; \
done
$(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) $(LINUX_TARGET_NAME)
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \
@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)
@@ -395,7 +456,7 @@ ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y)
# appended DTBs.
define LINUX_INSTALL_IMAGE
mkdir -p $(1)
cp $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME).* $(1)
cp $(LINUX_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME).* $(1)
endef
else
# Otherwise, just install the unique image generated by the kernel
@@ -414,13 +475,12 @@ endif
define LINUX_INSTALL_HOST_TOOLS
# Installing dtc (device tree compiler) as host tool, if selected
if grep -q "CONFIG_DTC=y" $(@D)/.config; then \
$(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/bin/linux-dtc ; \
if grep -q "CONFIG_DTC=y" $(@D)/.config; then \
$(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/bin/linux-dtc ; \
$(if $(BR2_PACKAGE_HOST_DTC),,ln -sf linux-dtc $(HOST_DIR)/bin/dtc;) \
fi
endef
define LINUX_INSTALL_IMAGES_CMDS
$(call LINUX_INSTALL_IMAGE,$(BINARIES_DIR))
$(call LINUX_INSTALL_DTB,$(BINARIES_DIR))
@@ -434,10 +494,10 @@ define LINUX_INSTALL_TARGET_CMDS
$(LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET)
# Install modules and remove symbolic links pointing to build
# directories, not relevant on the target
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
$(LINUX_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) modules_install; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \
fi
$(LINUX_INSTALL_HOST_TOOLS)
endef
@@ -490,9 +550,9 @@ $(error No kernel configuration file specified, check your BR2_LINUX_KERNEL_CUST
endif
endif
ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT):$(strip $(KERNEL_DTS_NAME)),y:)
ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT):$(strip $(LINUX_DTS_NAME)),y:)
$(error No kernel device tree source specified, check your \
BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings)
BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings)
endif
endif # BR_BUILDING