kumquat-buildroot/linux/Config.in
Maxime Ripard 69fc497df0 Rework support for the device tree
This patch introduces some support for device tree-enabled kernels.

It replaces the former BR2_LINUX_KERNEL_DTS_FILE option that was
microblaze-only, that was quite limited. This option was quite
limited, first obviously because it was restricted to microblaze,
but also because it targetted only external device tree source files,
and allowed only to build simpleImages using the custom image name
mechanism.

This patch adds a much more generic one, that can work on basically
every architecture that supports device tree. It allows to build
both device tree source file that comes with the kernel source or to
set the path to the device tree file to use so that one can use a
custom device tree.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-31 23:08:28 +02:00

235 lines
6.1 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
#
# 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"
default BR2_LINUX_KERNEL_3_4
config BR2_LINUX_KERNEL_3_4
bool "3.4.6"
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
bool "Same as toolchain kernel headers"
depends on BR2_TOOLCHAIN_BUILDROOT
help
This option will re-use the same kernel sources as the one
that have been used for the kernel headers of the
cross-compiling toolchain. Having the same version for the
kernel running on the system and for the kernel headers is
not a requirement, but using the same version allows to
download only one tarball of the kernel sources.
config BR2_LINUX_KERNEL_CUSTOM_VERSION
bool "Custom version"
help
This option allows to use a specific 2.6.x or 2.6.x.y
official versions, as available on kernel.org
config BR2_LINUX_KERNEL_CUSTOM_TARBALL
bool "Custom tarball"
help
This option allows to specify the http or ftp location of a
specific kernel source tarball
config BR2_LINUX_KERNEL_CUSTOM_GIT
bool "Custom Git tree"
help
This option allows Buildroot to get the Linux kernel source
code from a Git repository.
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
config BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL
string "URL of custom Git repository"
depends on BR2_LINUX_KERNEL_CUSTOM_GIT
config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION
string "Custom Git version"
default "HEAD"
depends on BR2_LINUX_KERNEL_CUSTOM_GIT
help
Git revision to use in the format used by git rev-parse,
E.G. a sha id, a tag, branch, ..
config BR2_LINUX_KERNEL_VERSION
string
default "3.4.6" if BR2_LINUX_KERNEL_3_4
default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
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_GIT_VERSION if BR2_LINUX_KERNEL_CUSTOM_GIT
#
# Patch selection
#
config BR2_LINUX_KERNEL_PATCH
string "Custom kernel patches"
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 linux-*.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 a defconfig"
config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
bool "Using a custom 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
#
# Binary format
#
choice
prompt "Kernel binary format"
config BR2_LINUX_KERNEL_UIMAGE
bool "uImage"
depends on BR2_arm || BR2_armeb || BR2_bfin || BR2_powerpc || BR2_avr32 || BR2_sh || BR2_sh64
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_sparc || BR2_sh || BR2_sh64 || BR2_xtensa
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_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
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_DTS_SUPPORT
bool "Device tree support"
help
Compile a device tree source into a device tree blob.
Select the dts file to compile in the options below.
if BR2_LINUX_KERNEL_DTS_SUPPORT
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 name"
depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
help
Name of the device tree source file, without
the trailing .dts
config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
string "Device Tree Source file path"
depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
help
Path to the device tree source file
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.
# Linux extensions
source "linux/Config.ext.in"
endif # BR2_LINUX_KERNEL
endmenu