]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - linux/Config.in
linux: bump default to version 4.12.10
[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 # Packages that need to have a kernel with support for loadable modules,
12 # but do not use the kernel-modules infrastructure, should select that
13 # option.
14 config BR2_LINUX_NEEDS_MODULES
15         bool
16
17 #
18 # Version selection. We provide the choice between:
19 #
20 #  1. A single fairly recent stable kernel version
21 #  2. A custom stable version
22 #  3. A custom tarball
23 #  4. A set of custom repository locations
24 #
25 choice
26         prompt "Kernel version"
27
28 config BR2_LINUX_KERNEL_LATEST_VERSION
29         bool "Latest version (4.12.10)"
30
31 config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
32         bool "Latest CIP SLTS version (v4.4.75-cip6)"
33         help
34           CIP launched in the spring of 2016 to address the needs of
35           organizations in industries such as power generation and
36           distribution, water, oil and gas, transportation, building
37           automation and more for reliable and secure Linux-based
38           embedded systems that can be sustained over a period of
39           10 to as many as 60 years.
40           The project's goal is to provide an open source base layer
41           of industrial-grade software that permits the use and
42           implementation of software building blocks that meet
43           these requirements.
44
45           The CIP community plans to maintain 4.4 for security and
46           bug fixes for more than 10 years.
47
48           https://www.cip-project.org
49
50 config BR2_LINUX_KERNEL_CUSTOM_VERSION
51         bool "Custom version"
52         help
53           This option allows to use a specific official version from
54           kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
55
56           Note: you cannot use this option to select a _longterm_ 2.6
57           kernel, because these kernels are not located at the standard
58           URL at kernel.org. Instead, select "Custom tarball" and
59           specify the right URL directly.
60
61 config BR2_LINUX_KERNEL_CUSTOM_TARBALL
62         bool "Custom tarball"
63         help
64           This option allows to specify a URL pointing to a kernel source
65           tarball. This URL can use any protocol recognized by Buildroot,
66           like http://, ftp://, file:// or scp://.
67
68           When pointing to a local tarball using file://, you may want to
69           use a make variable like $(TOPDIR) to reference the root of the
70           Buildroot tree.
71
72 config BR2_LINUX_KERNEL_CUSTOM_GIT
73         bool "Custom Git repository"
74         help
75           This option allows Buildroot to get the Linux kernel source
76           code from a Git repository.
77
78 config BR2_LINUX_KERNEL_CUSTOM_HG
79         bool "Custom Mercurial repository"
80         help
81           This option allows Buildroot to get the Linux kernel source
82           code from a Mercurial repository.
83
84 config BR2_LINUX_KERNEL_CUSTOM_SVN
85         bool "Custom Subversion repository"
86         help
87           This option allows Buildroot to get the Linux kernel source
88           code from a Subversion repository.
89
90 endchoice
91
92 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
93         string "Kernel version"
94         depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
95
96 config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
97         string "URL of custom kernel tarball"
98         depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
99
100 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
101
102 config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
103         string "URL of custom repository"
104         default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
105                 if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != ""  # legacy
106
107 config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
108         string "Custom repository version"
109         default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
110                 if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != ""  # legacy
111         help
112           Revision to use in the typical format used by Git/Mercurial/Subversion
113           E.G. a sha id, a tag, branch, ..
114
115 endif
116
117 config BR2_LINUX_KERNEL_VERSION
118         string
119         default "4.12.10" if BR2_LINUX_KERNEL_LATEST_VERSION
120         default "v4.4.75-cip6" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
121         default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
122                 if BR2_LINUX_KERNEL_CUSTOM_VERSION
123         default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
124         default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
125                 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
126
127 #
128 # Patch selection
129 #
130
131 config BR2_LINUX_KERNEL_PATCH
132         string "Custom kernel patches"
133         help
134           A space-separated list of patches to apply to the
135           kernel. Each patch can be described as an URL, a local file
136           path, or a directory. In the case of a directory, all files
137           matching *.patch in the directory will be applied.
138
139 #
140 # Configuration selection
141 #
142
143 choice
144         prompt "Kernel configuration"
145         default BR2_LINUX_KERNEL_USE_DEFCONFIG
146
147 config BR2_LINUX_KERNEL_USE_DEFCONFIG
148         bool "Using an in-tree defconfig file"
149
150 config BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
151         bool "Use the architecture default configuration"
152         help
153           This option will use the default configuration for the
154           selected architecture. I.e, it is equivalent to running
155           "make ARCH=<foo> defconfig". This is useful on architectures
156           that have a single defconfig file, such as ARM64.
157
158 config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
159         bool "Using a custom (def)config file"
160
161 endchoice
162
163 config BR2_LINUX_KERNEL_DEFCONFIG
164         string "Defconfig name"
165         depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
166         help
167           Name of the kernel defconfig file to use, without the
168           trailing _defconfig.  The defconfig is located in
169           arch/<arch>/configs in the kernel tree.
170
171 config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
172         string "Configuration file path"
173         depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
174         help
175           Path to the kernel configuration file
176
177           Note: this can be a defconfig file or a complete .config file,
178           which can later be saved back with make linux-update-(def)config.
179
180 config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
181         string "Additional configuration fragment files"
182         help
183           A space-separated list of kernel configuration fragment files,
184           that will be merged to the main kernel configuration file.
185
186 #
187 # Binary format
188 #
189
190 choice
191         prompt "Kernel binary format"
192         default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
193
194 config BR2_LINUX_KERNEL_UIMAGE
195         bool "uImage"
196         depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
197                    BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
198                    BR2_sh || BR2_mips || BR2_mipsel || \
199                    BR2_mips64 || BR2_mips64el || BR2_xtensa
200         select BR2_PACKAGE_HOST_UBOOT_TOOLS
201
202 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
203         bool "uImage with appended DT"
204         depends on BR2_arm || BR2_armeb
205         select BR2_LINUX_KERNEL_DTS_SUPPORT
206         select BR2_LINUX_KERNEL_APPENDED_DTB
207         select BR2_PACKAGE_HOST_UBOOT_TOOLS
208
209 config BR2_LINUX_KERNEL_BZIMAGE
210         bool "bzImage"
211         depends on BR2_i386 || BR2_x86_64
212
213 config BR2_LINUX_KERNEL_ZIMAGE
214         bool "zImage"
215         depends on BR2_arm || BR2_armeb || BR2_powerpc || \
216                    BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
217                    BR2_sh || BR2_xtensa
218
219 config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
220         bool "zImage.epapr"
221         depends on BR2_powerpc64 || BR2_powerpc64le
222
223 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
224         bool "zImage with appended DT"
225         depends on BR2_arm || BR2_armeb
226         select BR2_LINUX_KERNEL_DTS_SUPPORT
227         select BR2_LINUX_KERNEL_APPENDED_DTB
228
229 config BR2_LINUX_KERNEL_CUIMAGE
230         bool "cuImage"
231         depends on BR2_powerpc
232         select BR2_PACKAGE_HOST_UBOOT_TOOLS
233         select BR2_LINUX_KERNEL_DTS_SUPPORT
234         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
235
236 config BR2_LINUX_KERNEL_SIMPLEIMAGE
237         bool "simpleImage"
238         depends on BR2_microblaze
239         select BR2_PACKAGE_HOST_UBOOT_TOOLS
240         select BR2_LINUX_KERNEL_DTS_SUPPORT
241         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
242
243 config BR2_LINUX_KERNEL_IMAGE
244         bool "Image"
245         depends on BR2_aarch64
246
247 config BR2_LINUX_KERNEL_LINUX_BIN
248         bool "linux.bin"
249         depends on BR2_microblaze
250         select BR2_PACKAGE_HOST_UBOOT_TOOLS
251
252 config BR2_LINUX_KERNEL_VMLINUX_BIN
253         bool "vmlinux.bin"
254         depends on BR2_mips || BR2_mipsel || BR2_sh
255
256 config BR2_LINUX_KERNEL_VMLINUX
257         bool "vmlinux"
258
259 config BR2_LINUX_KERNEL_VMLINUZ
260         bool "vmlinuz"
261         depends on BR2_mips || BR2_mipsel
262
263 config BR2_LINUX_KERNEL_VMLINUZ_BIN
264         bool "vmlinuz.bin"
265         depends on BR2_mips || BR2_mipsel
266
267 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
268         bool "custom target"
269         help
270           For certain cases a board-specific target image must be
271           used.  For example, on powerPC where the OpenFirmware
272           description is attached in a board-specific kernel image
273           target like 'cuImage.mpc8379_rdb'.
274
275           Select this option and specify the make target in "Kernel
276           image target name".
277
278 endchoice
279
280 #
281 # Kernel compression format
282 #
283
284 choice
285         prompt "Kernel compression format"
286         help
287           This selection will just ensure that the correct host tools are build.
288           The actual compression for the kernel should be selected in the
289           kernel configuration menu.
290
291 config BR2_LINUX_KERNEL_GZIP
292         bool "gzip compression"
293
294 config BR2_LINUX_KERNEL_LZ4
295         bool "lz4 compression"
296
297 config BR2_LINUX_KERNEL_LZMA
298         bool "lzma compression"
299
300 config BR2_LINUX_KERNEL_LZO
301         bool "lzo compression"
302
303 config BR2_LINUX_KERNEL_XZ
304         bool "xz compression"
305
306 endchoice
307
308 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
309         string "Kernel image target name"
310         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
311         help
312           Specify the kernel make target to build the kernel that you
313           need.
314
315 config BR2_LINUX_KERNEL_IMAGE_NAME
316         string "Kernel image name"
317         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
318         help
319           The filename of the kernel image, if it is different from the
320           make target (above). Only Xtensa uses a filename different from
321           the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
322
323           If unsure, leave it empty.
324
325 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
326         string "load address (for 3.7+ multi-platform image)"
327         depends on BR2_arm || BR2_armeb
328         depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
329         help
330           If your ARM system's Linux kernel is configured with the new (3.7+)
331           multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
332           kernel config), then it is necessary to specify a kernel load address
333           when building the uImage. This should be a hexadecimal string
334           beginning with 0x, for example: 0x00008000.
335
336           If unsure, let this option empty.
337
338 config BR2_LINUX_KERNEL_DTS_SUPPORT
339         bool "Build a Device Tree Blob (DTB)"
340         help
341           Compile one or more device tree sources into device tree blobs.
342           Select the dts files to compile in the options below.
343
344 if BR2_LINUX_KERNEL_DTS_SUPPORT
345
346 # We have mainly three cases when it comes to device tree support:
347 #   1) We don't want any support at all. Then the ..DTS_SUPPORT
348 #      variable won't be set
349 #   2) We want device tree support, so we need the user to enter the
350 #      device tree name or the path to the custom device he uses, but
351 #      the kernel abstracts this from us and only build an image that
352 #      looks like a regular kernel image. In this case, we only need
353 #      to derive the kernel image name from the given device tree
354 #      name, and all the rest is as usual
355 #   3) We want device tree support, but the kernel requires us to
356 #      build the device tree blob separately. In this case, some
357 #      more logic will be needed.
358 # The variable below address the second case, were you only want
359 # limited actions from buildroot.
360 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
361         bool
362
363 config BR2_LINUX_KERNEL_APPENDED_DTB
364         bool
365
366 choice
367         prompt "Device tree source"
368         default BR2_LINUX_KERNEL_USE_INTREE_DTS
369
370 config BR2_LINUX_KERNEL_USE_INTREE_DTS
371         bool "Use a device tree present in the kernel"
372         help
373           Use a device tree source distributed with
374           the kernel sources. The dts files are located
375           in the arch/<arch>/boot/dts folder.
376
377 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
378         bool "Use a custom device tree file"
379         help
380           Use a custom device tree file, i.e, a device
381           tree file that does not belong to the kernel
382           source tree.
383 endchoice
384
385 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
386         string "Device Tree Source file names"
387         depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
388         help
389           Name of the device tree source file, without
390           the trailing .dts. You can provide a list of
391           dts files to build, separated by spaces.
392
393 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
394         string "Device Tree Source file paths"
395         depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
396         help
397           Path to the device tree source files. You can
398           provide a list of dts paths to copy and build,
399           separated by spaces.
400
401 endif
402
403 config BR2_LINUX_KERNEL_INSTALL_TARGET
404         bool "Install kernel image to /boot in target"
405         depends on !BR2_TARGET_ROOTFS_INITRAMFS
406         help
407           Select this option to have the kernel image installed to
408           /boot in the target root filesystem, as is typically done on
409           x86/x86_64 systems.
410
411           Note that this option also installs the Device Tree Blobs to
412           /boot if DTBs have been generated by the kernel build
413           process.
414
415 # Linux extensions
416 source "linux/Config.ext.in"
417
418 # Linux tools
419 source "package/linux-tools/Config.in"
420
421 endif # BR2_LINUX_KERNEL
422
423 endmenu