![Vivien Didelot](/assets/img/avatar_default.png)
When setting BR2_LINUX_KERNEL_LATEST_VERSION, it is hard for the user to know that this version is subject to change in the future. Explicit this in the Kconfig entry text. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
414 lines
12 KiB
Plaintext
414 lines
12 KiB
Plaintext
menu "Kernel"
|
|
|
|
config BR2_LINUX_KERNEL
|
|
bool "Linux Kernel"
|
|
help
|
|
Enable this option if you want to build a Linux kernel for
|
|
your embedded device
|
|
|
|
if BR2_LINUX_KERNEL
|
|
|
|
# Packages that need to have a kernel with support for loadable modules,
|
|
# but do not use the kernel-modules infrastructure, should select that
|
|
# option.
|
|
config BR2_LINUX_NEEDS_MODULES
|
|
bool
|
|
|
|
#
|
|
# Version selection. We provide the choice between:
|
|
#
|
|
# 1. A single fairly recent stable kernel version
|
|
# 2. In case an internal toolchain has been built, the same kernel
|
|
# version as the kernel headers
|
|
# 3. A custom stable version
|
|
# 4. A custom tarball
|
|
#
|
|
choice
|
|
prompt "Kernel version"
|
|
|
|
config BR2_LINUX_KERNEL_LATEST_VERSION
|
|
bool "Latest version (4.5.2)"
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_VERSION
|
|
bool "Custom version"
|
|
help
|
|
This option allows to use a specific official version from
|
|
kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
|
|
|
|
Note: you cannot use this option to select a _longterm_ 2.6
|
|
kernel, because these kernels are not located at the standard
|
|
URL at kernel.org. Instead, select "Custom tarball" and
|
|
specify the right URL directly.
|
|
|
|
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://.
|
|
|
|
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"
|
|
help
|
|
This option allows Buildroot to get the Linux kernel source
|
|
code from a Git repository.
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_HG
|
|
bool "Custom Mercurial repository"
|
|
help
|
|
This option allows Buildroot to get the Linux kernel source
|
|
code from a Mercurial repository.
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_SVN
|
|
bool "Custom Subversion repository"
|
|
help
|
|
This option allows Buildroot to get the Linux kernel source
|
|
code from a Subversion repository.
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_LOCAL
|
|
bool "Local directory"
|
|
help
|
|
This option allows Buildroot to get the Linux kernel source
|
|
code from a local directory.
|
|
|
|
endchoice
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
|
|
string "Kernel version"
|
|
depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
|
|
string "URL of custom kernel tarball"
|
|
depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
|
|
|
|
if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
|
|
string "URL of custom repository"
|
|
default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
|
|
if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != "" # legacy
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
|
|
string "Custom repository 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, ..
|
|
|
|
endif
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
|
|
string "Path to the local directory"
|
|
depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
|
|
help
|
|
Path to the local directory with the Linux kernel source code.
|
|
|
|
config BR2_LINUX_KERNEL_VERSION
|
|
string
|
|
default "4.5.2" if BR2_LINUX_KERNEL_LATEST_VERSION
|
|
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
|
if BR2_LINUX_KERNEL_CUSTOM_VERSION
|
|
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
|
|
default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
|
|
if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
|
|
default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
|
|
|
|
#
|
|
# Patch selection
|
|
#
|
|
|
|
config BR2_LINUX_KERNEL_PATCH
|
|
string "Custom kernel patches"
|
|
depends on !BR2_LINUX_KERNEL_CUSTOM_LOCAL
|
|
help
|
|
A space-separated list of patches to apply to the
|
|
kernel. Each patch can be described as an URL, a local file
|
|
path, or a directory. In the case of a directory, all files
|
|
matching *.patch in the directory will be applied.
|
|
|
|
#
|
|
# Configuration selection
|
|
#
|
|
|
|
choice
|
|
prompt "Kernel configuration"
|
|
default BR2_LINUX_KERNEL_USE_DEFCONFIG
|
|
|
|
config BR2_LINUX_KERNEL_USE_DEFCONFIG
|
|
bool "Using an in-tree defconfig file"
|
|
|
|
config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
|
|
bool "Using a custom (def)config file"
|
|
|
|
endchoice
|
|
|
|
config BR2_LINUX_KERNEL_DEFCONFIG
|
|
string "Defconfig name"
|
|
depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
|
|
help
|
|
Name of the kernel defconfig file to use, without the
|
|
trailing _defconfig. The defconfig is located in
|
|
arch/<arch>/configs in the kernel tree.
|
|
|
|
config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
|
|
string "Configuration file path"
|
|
depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
|
|
help
|
|
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.
|
|
|
|
config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
|
|
string "Additional configuration fragment files"
|
|
help
|
|
A space-separated list of kernel configuration fragment files,
|
|
that will be merged to the main kernel configuration file.
|
|
|
|
#
|
|
# Binary format
|
|
#
|
|
|
|
config BR2_LINUX_KERNEL_UBOOT_IMAGE
|
|
bool
|
|
|
|
choice
|
|
prompt "Kernel binary format"
|
|
default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
|
|
|
|
config BR2_LINUX_KERNEL_UIMAGE
|
|
bool "uImage"
|
|
depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
|
|
BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
|
|
BR2_sh || BR2_sh64 || BR2_mips || BR2_mipsel || \
|
|
BR2_mips64 || BR2_mips64el
|
|
select BR2_LINUX_KERNEL_UBOOT_IMAGE
|
|
|
|
config BR2_LINUX_KERNEL_APPENDED_UIMAGE
|
|
bool "uImage with appended DT"
|
|
depends on BR2_arm || BR2_armeb
|
|
select BR2_LINUX_KERNEL_DTS_SUPPORT
|
|
select BR2_LINUX_KERNEL_APPENDED_DTB
|
|
select BR2_LINUX_KERNEL_UBOOT_IMAGE
|
|
|
|
config BR2_LINUX_KERNEL_BZIMAGE
|
|
bool "bzImage"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
|
|
config BR2_LINUX_KERNEL_ZIMAGE
|
|
bool "zImage"
|
|
depends on BR2_arm || BR2_armeb || BR2_powerpc || \
|
|
BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
|
|
BR2_sh || BR2_sh64 || BR2_xtensa
|
|
|
|
config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
|
|
bool "zImage.epapr"
|
|
depends on BR2_powerpc64 || BR2_powerpc64le
|
|
|
|
config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
|
|
bool "zImage with appended DT"
|
|
depends on BR2_arm || BR2_armeb
|
|
select BR2_LINUX_KERNEL_DTS_SUPPORT
|
|
select BR2_LINUX_KERNEL_APPENDED_DTB
|
|
|
|
config BR2_LINUX_KERNEL_CUIMAGE
|
|
bool "cuImage"
|
|
depends on BR2_powerpc
|
|
select BR2_LINUX_KERNEL_UBOOT_IMAGE
|
|
select BR2_LINUX_KERNEL_DTS_SUPPORT
|
|
select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
|
|
|
|
config BR2_LINUX_KERNEL_SIMPLEIMAGE
|
|
bool "simpleImage"
|
|
depends on BR2_microblaze
|
|
select BR2_LINUX_KERNEL_UBOOT_IMAGE
|
|
select BR2_LINUX_KERNEL_DTS_SUPPORT
|
|
select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
|
|
|
|
config BR2_LINUX_KERNEL_IMAGE
|
|
bool "Image"
|
|
depends on BR2_aarch64
|
|
|
|
config BR2_LINUX_KERNEL_LINUX_BIN
|
|
bool "linux.bin"
|
|
depends on BR2_microblaze
|
|
select BR2_LINUX_KERNEL_UBOOT_IMAGE
|
|
|
|
config BR2_LINUX_KERNEL_VMLINUX_BIN
|
|
bool "vmlinux.bin"
|
|
depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
|
|
|
|
config BR2_LINUX_KERNEL_VMLINUX
|
|
bool "vmlinux"
|
|
|
|
config BR2_LINUX_KERNEL_VMLINUZ
|
|
bool "vmlinuz"
|
|
depends on BR2_mips || BR2_mipsel
|
|
|
|
config BR2_LINUX_KERNEL_VMLINUZ_BIN
|
|
bool "vmlinuz.bin"
|
|
depends on BR2_mips || BR2_mipsel
|
|
|
|
config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
|
|
bool "custom target"
|
|
help
|
|
For certain cases a board-specific target image must be
|
|
used. For example, on powerPC where the OpenFirmware
|
|
description is attached in a board-specific kernel image
|
|
target like 'cuImage.mpc8379_rdb'.
|
|
|
|
Select this option and specify the make target in "Kernel
|
|
image target name".
|
|
|
|
endchoice
|
|
|
|
#
|
|
# Kernel compression format
|
|
#
|
|
|
|
choice
|
|
prompt "Kernel compression format"
|
|
help
|
|
This selection will just ensure that the correct host tools are build.
|
|
The actual compression for the kernel should be selected in the
|
|
kernel configuration menu.
|
|
|
|
config BR2_LINUX_KERNEL_GZIP
|
|
bool "gzip compression"
|
|
|
|
config BR2_LINUX_KERNEL_LZ4
|
|
bool "lz4 compression"
|
|
|
|
config BR2_LINUX_KERNEL_LZMA
|
|
bool "lzma compression"
|
|
|
|
config BR2_LINUX_KERNEL_LZO
|
|
bool "lzo compression"
|
|
|
|
config BR2_LINUX_KERNEL_XZ
|
|
bool "xz compression"
|
|
|
|
endchoice
|
|
|
|
config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
|
|
string "Kernel image target name"
|
|
depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
|
|
help
|
|
Specify the kernel make target to build the kernel that you
|
|
need.
|
|
|
|
config BR2_LINUX_KERNEL_IMAGE_NAME
|
|
string "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.
|
|
|
|
If unsure, leave it empty.
|
|
|
|
config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
|
|
string "load address (for 3.7+ multi-platform image)"
|
|
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 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.
|
|
Select the dts files to compile in the options below.
|
|
|
|
if BR2_LINUX_KERNEL_DTS_SUPPORT
|
|
|
|
# We have mainly three cases when it comes to device tree support:
|
|
# 1) We don't want any support at all. Then the ..DTS_SUPPORT
|
|
# variable won't be set
|
|
# 2) We want device tree support, so we need the user to enter the
|
|
# device tree name or the path to the custom device he uses, but
|
|
# the kernel abstracts this from us and only build an image that
|
|
# looks like a regular kernel image. In this case, we only need
|
|
# to derive the kernel image name from the given device tree
|
|
# name, and all the rest is as usual
|
|
# 3) We want device tree support, but the kernel requires us to
|
|
# build the device tree blob separately. In this case, some
|
|
# more logic will be needed.
|
|
# The variable below address the second case, were you only want
|
|
# limited actions from buildroot.
|
|
config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
|
|
bool
|
|
|
|
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
|
|
help
|
|
Name of the 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
|
|
help
|
|
Path to the device tree source files. You can
|
|
provide a list of dts paths to copy and build,
|
|
separated by spaces.
|
|
|
|
endif
|
|
|
|
config BR2_LINUX_KERNEL_INSTALL_TARGET
|
|
bool "Install kernel image to /boot in target"
|
|
depends on !BR2_TARGET_ROOTFS_INITRAMFS
|
|
help
|
|
Select this option to have the kernel image installed to
|
|
/boot in the target root filesystem, as is typically done on
|
|
x86/x86_64 systems.
|
|
|
|
Note that this option also installs the Device Tree Blobs to
|
|
/boot if DTBs have been generated by the kernel build
|
|
process.
|
|
|
|
# Linux extensions
|
|
source "linux/Config.ext.in"
|
|
|
|
# Linux tools
|
|
source "linux/Config.tools.in"
|
|
|
|
endif # BR2_LINUX_KERNEL
|
|
|
|
endmenu
|