From 487e21cff69b30b404146b2ffb46959a728a4002 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 3 Apr 2010 18:46:46 +0200 Subject: New, simpler, infrastructure for building the Linux kernel This patch introduces a single, simple, infrastructure to build the Linux kernel. The configuration is limited to : * Kernel version: a fixed recent stable version, same as kernel headers version (for internal toolchains only), custom stable version, or custom tarball URL * Kernel patch: either a local file, directory or an URL * Kernel configuration: either the name of a defconfig or the location of a custom configuration file * Kernel image: either uImage, bzImage, zImage or vmlinux. Signed-off-by: Thomas Petazzoni --- linux/Config.in | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 linux/Config.in (limited to 'linux/Config.in') diff --git a/linux/Config.in b/linux/Config.in new file mode 100644 index 000000000..d8a5157e2 --- /dev/null +++ b/linux/Config.in @@ -0,0 +1,133 @@ +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_2_6_34 + +config BR2_LINUX_KERNEL_2_6_34 + bool "2.6.34" + +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 + +endchoice + +config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE + string "Kernel version" + depends on BR2_LINUX_KERNEL_CUSTOM_VERSION + default "2.6.34" + +config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION + string "URL of custom kernel tarball" + depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL + +config BR2_LINUX_KERNEL_VERSION + string + default "2.6.34" if BR2_LINUX_KERNEL_2_6_34 + 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 + +# +# Patch selection +# + +config BR2_LINUX_KERNEL_PATCH + string "Custom kernel patch" + help + The location can be an URL, a file path, or a directory. In + the case of a directory, all files matching linux-*.patch + 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 defconfig file to use, without the leading + _defconfig + +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" + default BR2_LINUX_KERNEL_UIMAGE if !BR2_i386 && !BR2_x86_64 + default BR2_LINUX_KERNEL_BZIMAGE if BR2_i386 || BR2_x86_64 + +config BR2_LINUX_KERNEL_UIMAGE + bool "uImage" + +config BR2_LINUX_KERNEL_BZIMAGE + bool "bzImage" + +config BR2_LINUX_KERNEL_ZIMAGE + bool "zImage" + +config BR2_LINUX_KERNEL_VMLINUX + bool "vmlinux" + +endchoice + +endif # BR2_LINUX_KERNEL + +endmenu -- cgit v1.2.3-55-g7522