barebox: bump to version 2014.08.0
[buildroot-gz.git] / linux / Config.in
blob101c90ba2e5fa5337ef295ae5d583f3b7c1b9c0b
1 menu "Kernel"
3 config BR2_LINUX_KERNEL
4         bool "Linux Kernel"
5         help
6           Enable this option if you want to build a Linux kernel for
7           your embedded device
9 if BR2_LINUX_KERNEL
12 # Version selection. We provide the choice between:
14 #  1. A single fairly recent stable kernel version
15 #  2. In case an internal toolchain has been built, the same kernel
16 #     version as the kernel headers
17 #  3. A custom stable version
18 #  4. A custom tarball
20 choice
21         prompt "Kernel version"
23 config BR2_LINUX_KERNEL_LATEST_VERSION
24         bool "3.16"
26 config BR2_LINUX_KERNEL_SAME_AS_HEADERS
27         bool "Same as toolchain kernel headers"
28         depends on BR2_TOOLCHAIN_BUILDROOT
29         help
30           This option will re-use the same kernel sources as the one
31           that have been used for the kernel headers of the
32           cross-compiling toolchain. Having the same version for the
33           kernel running on the system and for the kernel headers is
34           not a requirement, but using the same version allows to
35           download only one tarball of the kernel sources.
37 config BR2_LINUX_KERNEL_CUSTOM_VERSION
38         bool "Custom version"
39         help
40           This option allows to use a specific official version from
41           kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
43           Note: you cannot use this option to select a _longterm_ 2.6
44           kernel, because these kernels are not located at the standard
45           URL at kernel.org. Instead, select "Custom tarball" and
46           specify the right URL directly.
48 config BR2_LINUX_KERNEL_CUSTOM_TARBALL
49         bool "Custom tarball"
50         help
51           This option allows to specify the http or ftp location of a
52           specific kernel source tarball
54 config BR2_LINUX_KERNEL_CUSTOM_GIT
55         bool "Custom Git repository"
56         help
57           This option allows Buildroot to get the Linux kernel source
58           code from a Git repository.
60 config BR2_LINUX_KERNEL_CUSTOM_HG
61         bool "Custom Mercurial repository"
62         help
63           This option allows Buildroot to get the Linux kernel source
64           code from a Mercurial repository.
66 config BR2_LINUX_KERNEL_CUSTOM_LOCAL
67         bool "Local directory"
68         help
69           This option allows Buildroot to get the Linux kernel source
70           code from a local directory.
72 endchoice
74 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
75         string "Kernel version"
76         depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
78 config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
79         string "URL of custom kernel tarball"
80         depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
82 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
84 config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
85         string "URL of custom repository"
86         default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
87                 if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != ""  # legacy
89 config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
90         string "Custom repository version"
91         default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
92                 if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != ""  # legacy
93         help
94           Revision to use in the typical format used by Git/Mercurial
95           E.G. a sha id, a tag, branch, ..
97 endif
99 config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
100         string "Path to the local directory"
101         depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
102         help
103           Path to the local directory with the Linux kernel source code.
105 config BR2_LINUX_KERNEL_VERSION
106         string
107         default "3.16" if BR2_LINUX_KERNEL_LATEST_VERSION
108         default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
109         default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
110                 if BR2_LINUX_KERNEL_CUSTOM_VERSION
111         default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
112         default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
113                 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
114         default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
117 # Patch selection
120 config BR2_LINUX_KERNEL_PATCH
121         string "Custom kernel patches"
122         help
123           A space-separated list of patches to apply to the
124           kernel. Each patch can be described as an URL, a local file
125           path, or a directory. In the case of a directory, all files
126           matching linux-*.patch in the directory will be applied.
129 # Configuration selection
132 choice
133         prompt "Kernel configuration"
134         default BR2_LINUX_KERNEL_USE_DEFCONFIG
136 config BR2_LINUX_KERNEL_USE_DEFCONFIG
137         bool "Using a defconfig"
139 config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
140         bool "Using a custom config file"
142 endchoice
144 config BR2_LINUX_KERNEL_DEFCONFIG
145         string "Defconfig name"
146         depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
147         help
148           Name of the kernel defconfig file to use, without the
149           trailing _defconfig.  The defconfig is located in
150           arch/<arch>/configs in the kernel tree.
152 config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
153         string "Configuration file path"
154         depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
155         help
156           Path to the kernel configuration file
159 # Binary format
162 config BR2_LINUX_KERNEL_UBOOT_IMAGE
163         bool
165 choice
166         prompt "Kernel binary format"
168 config BR2_LINUX_KERNEL_UIMAGE
169         bool "uImage"
170         depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
171                    BR2_powerpc || BR2_avr32 || BR2_sh || BR2_sh64
172         select BR2_LINUX_KERNEL_UBOOT_IMAGE
174 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
175         bool "uImage with appended DT"
176         depends on BR2_arm || BR2_armeb
177         select BR2_LINUX_KERNEL_DTS_SUPPORT
178         select BR2_LINUX_KERNEL_APPENDED_DTB
179         select BR2_LINUX_KERNEL_UBOOT_IMAGE
181 config BR2_LINUX_KERNEL_BZIMAGE
182         bool "bzImage"
183         depends on BR2_i386 || BR2_x86_64
185 config BR2_LINUX_KERNEL_ZIMAGE
186         bool "zImage"
187         depends on BR2_arm || BR2_armeb || BR2_powerpc || \
188                    BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
189                    BR2_sh || BR2_sh64 || BR2_xtensa
191 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
192         bool "zImage with appended DT"
193         depends on BR2_arm || BR2_armeb
194         select BR2_LINUX_KERNEL_DTS_SUPPORT
195         select BR2_LINUX_KERNEL_APPENDED_DTB
197 config BR2_LINUX_KERNEL_CUIMAGE
198         bool "cuImage"
199         depends on BR2_powerpc
200         select BR2_LINUX_KERNEL_UBOOT_IMAGE
201         select BR2_LINUX_KERNEL_DTS_SUPPORT
202         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
204 config BR2_LINUX_KERNEL_SIMPLEIMAGE
205         bool "simpleImage"
206         depends on BR2_microblaze
207         select BR2_LINUX_KERNEL_UBOOT_IMAGE
208         select BR2_LINUX_KERNEL_DTS_SUPPORT
209         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
211 config BR2_LINUX_KERNEL_LINUX_BIN
212         bool "linux.bin"
213         depends on BR2_microblaze
214         select BR2_LINUX_KERNEL_UBOOT_IMAGE
216 config BR2_LINUX_KERNEL_VMLINUX_BIN
217         bool "vmlinux.bin"
218         depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
220 config BR2_LINUX_KERNEL_VMLINUX
221         bool "vmlinux"
223 config BR2_LINUX_KERNEL_VMLINUZ
224         bool "vmlinuz"
225         depends on BR2_mips || BR2_mipsel
227 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
228         bool "custom target"
229         help
230           For certain cases a board-specific target image must be
231           used.  For example, on powerPC where the OpenFirmware
232           description is attached in a board-specific kernel image
233           target like 'cuImage.mpc8379_rdb'.
235           Select this option and specify the make target in "Kernel
236           image target name".
238 endchoice
240 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
241         string "Kernel image target name"
242         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
243         help
244           Specify the kernel make target to build the kernel that you
245           need.
247 config BR2_LINUX_KERNEL_IMAGE_NAME
248         string "Kernel image name"
249         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
250         help
251           The filename of the kernel image, if it is different from the
252           make target (above). Only Xtensa uses a filename different from
253           the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
255           If unsure, leave it empty.
257 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
258         string "load address (for 3.7+ multi-platform image)"
259         depends on BR2_arm || BR2_armeb
260         depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
261         help
262           If your ARM system's Linux kernel is configured with the new (3.7+)
263           multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
264           kernel config), then it is necessary to specify a kernel load address
265           when building the uImage. This should be a hexadecimal string
266           beginning with 0x, for example: 0x00008000.
268           If unsure, let this option empty.
270 config BR2_LINUX_KERNEL_DTS_SUPPORT
271         bool "Device tree support"
272         help
273           Compile a device tree source into a device tree blob.
274           Select the dts file to compile in the options below.
276 if BR2_LINUX_KERNEL_DTS_SUPPORT
278 # We have mainly three cases when it comes to device tree support:
279 #   1) We don't want any support at all. Then the ..DTS_SUPPORT
280 #      variable won't be set
281 #   2) We want device tree support, so we need the user to enter
282 #      the device tree name or the the path to the custom device
283 #      he uses, but the kernel abstracts this from us and only
284 #      build an image that looks like a regular kernel image. In
285 #      this case, we only need to derive the kernel image name from
286 #      the given device tree name, and all the rest is as usual
287 #   3) We want device tree support, but the kernel requires us to
288 #      build the device tree blob separately. In this case, some
289 #      more logic will be needed.
290 # The variable below address the second case, were you only want
291 # limited actions from buildroot.
292 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
293         bool
295 config BR2_LINUX_KERNEL_APPENDED_DTB
296         bool
298 choice
299         prompt "Device tree source"
300         default BR2_LINUX_KERNEL_USE_INTREE_DTS
302 config BR2_LINUX_KERNEL_USE_INTREE_DTS
303         bool "Use a device tree present in the kernel."
304         help
305           Use a device tree source distributed with
306           the kernel sources. The dts files are located
307           in the arch/<arch>/boot/dts folder.
309 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
310         bool "Use a custom device tree file"
311         help
312           Use a custom device tree file, i.e, a device
313           tree file that does not belong to the kernel
314           source tree.
315 endchoice
317 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
318         string "Device Tree Source file names"
319         depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
320         help
321           Name of the device tree source file, without
322           the trailing .dts. You can provide a list of
323           dts files to build, separated by spaces.
325 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
326         string "Device Tree Source file paths"
327         depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
328         help
329           Path to the device tree source files. You can
330           provide a list of dts paths to copy and build,
331           separated by spaces.
333 endif
335 config BR2_LINUX_KERNEL_INSTALL_TARGET
336         bool "Install kernel image to /boot in target"
337         depends on !BR2_TARGET_ROOTFS_INITRAMFS
338         help
339           Select this option to have the kernel image installed to
340           /boot in the target root filesystem, as is typically done on
341           x86/x86_64 systems.
343           Note that this option also installs the Device Tree Blobs to
344           /boot if DTBs have been generated by the kernel build
345           process.
347 # Linux extensions
348 source "linux/Config.ext.in"
350 endif # BR2_LINUX_KERNEL
352 endmenu