]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - linux/Config.in
Merge branch 'next'
[coffee/buildroot.git] / linux / Config.in
1 menu "Kernel"
2
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
8
9 if BR2_LINUX_KERNEL
10
11 #
12 # Version selection. We provide the choice between:
13 #
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
19 #
20 choice
21         prompt "Kernel version"
22
23 config BR2_LINUX_KERNEL_LATEST_VERSION
24         bool "3.14.4"
25
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.
36
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, ...
42
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.
47
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
53
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.
59
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.
65
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.
71
72 endchoice
73
74 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
75         string "Kernel version"
76         depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
77
78 config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
79         string "URL of custom kernel tarball"
80         depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
81
82 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
83
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
88
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, ..
96
97 endif
98
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.
104
105 config BR2_LINUX_KERNEL_VERSION
106         string
107         default "3.14.4" 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
115
116 #
117 # Patch selection
118 #
119
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.
127
128 #
129 # Configuration selection
130 #
131
132 choice
133         prompt "Kernel configuration"
134         default BR2_LINUX_KERNEL_USE_DEFCONFIG
135
136 config BR2_LINUX_KERNEL_USE_DEFCONFIG
137         bool "Using a defconfig"
138
139 config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
140         bool "Using a custom config file"
141
142 endchoice
143
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.
151
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
157
158 #
159 # Binary format
160 #
161
162 config BR2_LINUX_KERNEL_UBOOT_IMAGE
163         bool
164
165 choice
166         prompt "Kernel binary format"
167
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
173
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
180
181 config BR2_LINUX_KERNEL_BZIMAGE
182         bool "bzImage"
183         depends on BR2_i386 || BR2_x86_64
184
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
190
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
196
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
203
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
210
211 config BR2_LINUX_KERNEL_LINUX_BIN
212         bool "linux.bin"
213         depends on BR2_microblaze
214         select BR2_LINUX_KERNEL_UBOOT_IMAGE
215
216 config BR2_LINUX_KERNEL_VMLINUX_BIN
217         bool "vmlinux.bin"
218         depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
219
220 config BR2_LINUX_KERNEL_VMLINUX
221         bool "vmlinux"
222
223 config BR2_LINUX_KERNEL_VMLINUZ
224         bool "vmlinuz"
225         depends on BR2_mips || BR2_mipsel
226
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'.
234
235           Select this option and specify the make target in "Kernel
236           image target name".
237
238 endchoice
239
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.
246
247 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
248         string "load address (for 3.7+ multi-platform image)"
249         depends on BR2_arm || BR2_armeb
250         depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
251         help
252           If your ARM system's Linux kernel is configured with the new (3.7+)
253           multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
254           kernel config), then it is necessary to specify a kernel load address
255           when building the uImage. This should be a hexadecimal string
256           beginning with 0x, for example: 0x00008000.
257
258           If unsure, let this option empty.
259
260 config BR2_LINUX_KERNEL_DTS_SUPPORT
261         bool "Device tree support"
262         help
263           Compile a device tree source into a device tree blob.
264           Select the dts file to compile in the options below.
265
266 if BR2_LINUX_KERNEL_DTS_SUPPORT
267
268 # We have mainly three cases when it comes to device tree support:
269 #   1) We don't want any support at all. Then the ..DTS_SUPPORT
270 #      variable won't be set
271 #   2) We want device tree support, so we need the user to enter
272 #      the device tree name or the the path to the custom device
273 #      he uses, but the kernel abstracts this from us and only
274 #      build an image that looks like a regular kernel image. In
275 #      this case, we only need to derive the kernel image name from
276 #      the given device tree name, and all the rest is as usual
277 #   3) We want device tree support, but the kernel requires us to
278 #      build the device tree blob separately. In this case, some
279 #      more logic will be needed.
280 # The variable below address the second case, were you only want
281 # limited actions from buildroot.
282 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
283         bool
284
285 config BR2_LINUX_KERNEL_APPENDED_DTB
286         bool
287
288 choice
289         prompt "Device tree source"
290         default BR2_LINUX_KERNEL_USE_INTREE_DTS
291
292 config BR2_LINUX_KERNEL_USE_INTREE_DTS
293         bool "Use a device tree present in the kernel."
294         help
295           Use a device tree source distributed with
296           the kernel sources. The dts files are located
297           in the arch/<arch>/boot/dts folder.
298
299 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
300         bool "Use a custom device tree file"
301         help
302           Use a custom device tree file, i.e, a device
303           tree file that does not belong to the kernel
304           source tree.
305 endchoice
306
307 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
308         string "Device Tree Source file names"
309         depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
310         help
311           Name of the device tree source file, without
312           the trailing .dts. You can provide a list of
313           dts files to build, separated by spaces.
314
315 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
316         string "Device Tree Source file path"
317         depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
318         help
319           Path to the device tree source file
320
321 endif
322
323 config BR2_LINUX_KERNEL_INSTALL_TARGET
324         bool "Install kernel image to /boot in target"
325         depends on !BR2_TARGET_ROOTFS_INITRAMFS
326         help
327           Select this option to have the kernel image installed to
328           /boot in the target root filesystem, as is typically done on
329           x86/x86_64 systems.
330
331           Note that this option also installs the Device Tree Blobs to
332           /boot if DTBs have been generated by the kernel build
333           process.
334
335 # Linux extensions
336 source "linux/Config.ext.in"
337
338 endif # BR2_LINUX_KERNEL
339
340 endmenu