]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - linux/Config.in
linux: bump default version to 4.10.9
[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.10.9)"
30
31 config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
32         bool "Latest CIP SLTS version (v4.4.55-cip3)"
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.10.9" if BR2_LINUX_KERNEL_LATEST_VERSION
120         default "v4.4.55-cip3" 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 config BR2_LINUX_KERNEL_UBOOT_IMAGE
191         bool
192
193 choice
194         prompt "Kernel binary format"
195         default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
196
197 config BR2_LINUX_KERNEL_UIMAGE
198         bool "uImage"
199         depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
200                    BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
201                    BR2_sh || BR2_mips || BR2_mipsel || \
202                    BR2_mips64 || BR2_mips64el || BR2_xtensa
203         select BR2_LINUX_KERNEL_UBOOT_IMAGE
204
205 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
206         bool "uImage with appended DT"
207         depends on BR2_arm || BR2_armeb
208         select BR2_LINUX_KERNEL_DTS_SUPPORT
209         select BR2_LINUX_KERNEL_APPENDED_DTB
210         select BR2_LINUX_KERNEL_UBOOT_IMAGE
211
212 config BR2_LINUX_KERNEL_BZIMAGE
213         bool "bzImage"
214         depends on BR2_i386 || BR2_x86_64
215
216 config BR2_LINUX_KERNEL_ZIMAGE
217         bool "zImage"
218         depends on BR2_arm || BR2_armeb || BR2_powerpc || \
219                    BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
220                    BR2_sh || BR2_xtensa
221
222 config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
223         bool "zImage.epapr"
224         depends on BR2_powerpc64 || BR2_powerpc64le
225
226 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
227         bool "zImage with appended DT"
228         depends on BR2_arm || BR2_armeb
229         select BR2_LINUX_KERNEL_DTS_SUPPORT
230         select BR2_LINUX_KERNEL_APPENDED_DTB
231
232 config BR2_LINUX_KERNEL_CUIMAGE
233         bool "cuImage"
234         depends on BR2_powerpc
235         select BR2_LINUX_KERNEL_UBOOT_IMAGE
236         select BR2_LINUX_KERNEL_DTS_SUPPORT
237         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
238
239 config BR2_LINUX_KERNEL_SIMPLEIMAGE
240         bool "simpleImage"
241         depends on BR2_microblaze
242         select BR2_LINUX_KERNEL_UBOOT_IMAGE
243         select BR2_LINUX_KERNEL_DTS_SUPPORT
244         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
245
246 config BR2_LINUX_KERNEL_IMAGE
247         bool "Image"
248         depends on BR2_aarch64
249
250 config BR2_LINUX_KERNEL_LINUX_BIN
251         bool "linux.bin"
252         depends on BR2_microblaze
253         select BR2_LINUX_KERNEL_UBOOT_IMAGE
254
255 config BR2_LINUX_KERNEL_VMLINUX_BIN
256         bool "vmlinux.bin"
257         depends on BR2_mips || BR2_mipsel || BR2_sh
258
259 config BR2_LINUX_KERNEL_VMLINUX
260         bool "vmlinux"
261
262 config BR2_LINUX_KERNEL_VMLINUZ
263         bool "vmlinuz"
264         depends on BR2_mips || BR2_mipsel
265
266 config BR2_LINUX_KERNEL_VMLINUZ_BIN
267         bool "vmlinuz.bin"
268         depends on BR2_mips || BR2_mipsel
269
270 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
271         bool "custom target"
272         help
273           For certain cases a board-specific target image must be
274           used.  For example, on powerPC where the OpenFirmware
275           description is attached in a board-specific kernel image
276           target like 'cuImage.mpc8379_rdb'.
277
278           Select this option and specify the make target in "Kernel
279           image target name".
280
281 endchoice
282
283 #
284 # Kernel compression format
285 #
286
287 choice
288         prompt "Kernel compression format"
289         help
290           This selection will just ensure that the correct host tools are build.
291           The actual compression for the kernel should be selected in the
292           kernel configuration menu.
293
294 config BR2_LINUX_KERNEL_GZIP
295         bool "gzip compression"
296
297 config BR2_LINUX_KERNEL_LZ4
298         bool "lz4 compression"
299
300 config BR2_LINUX_KERNEL_LZMA
301         bool "lzma compression"
302
303 config BR2_LINUX_KERNEL_LZO
304         bool "lzo compression"
305
306 config BR2_LINUX_KERNEL_XZ
307         bool "xz compression"
308
309 endchoice
310
311 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
312         string "Kernel image target name"
313         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
314         help
315           Specify the kernel make target to build the kernel that you
316           need.
317
318 config BR2_LINUX_KERNEL_IMAGE_NAME
319         string "Kernel image name"
320         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
321         help
322           The filename of the kernel image, if it is different from the
323           make target (above). Only Xtensa uses a filename different from
324           the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
325
326           If unsure, leave it empty.
327
328 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
329         string "load address (for 3.7+ multi-platform image)"
330         depends on BR2_arm || BR2_armeb
331         depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
332         help
333           If your ARM system's Linux kernel is configured with the new (3.7+)
334           multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
335           kernel config), then it is necessary to specify a kernel load address
336           when building the uImage. This should be a hexadecimal string
337           beginning with 0x, for example: 0x00008000.
338
339           If unsure, let this option empty.
340
341 config BR2_LINUX_KERNEL_DTS_SUPPORT
342         bool "Build a Device Tree Blob (DTB)"
343         help
344           Compile one or more device tree sources into device tree blobs.
345           Select the dts files to compile in the options below.
346
347 if BR2_LINUX_KERNEL_DTS_SUPPORT
348
349 # We have mainly three cases when it comes to device tree support:
350 #   1) We don't want any support at all. Then the ..DTS_SUPPORT
351 #      variable won't be set
352 #   2) We want device tree support, so we need the user to enter the
353 #      device tree name or the path to the custom device he uses, but
354 #      the kernel abstracts this from us and only build an image that
355 #      looks like a regular kernel image. In this case, we only need
356 #      to derive the kernel image name from the given device tree
357 #      name, and all the rest is as usual
358 #   3) We want device tree support, but the kernel requires us to
359 #      build the device tree blob separately. In this case, some
360 #      more logic will be needed.
361 # The variable below address the second case, were you only want
362 # limited actions from buildroot.
363 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
364         bool
365
366 config BR2_LINUX_KERNEL_APPENDED_DTB
367         bool
368
369 choice
370         prompt "Device tree source"
371         default BR2_LINUX_KERNEL_USE_INTREE_DTS
372
373 config BR2_LINUX_KERNEL_USE_INTREE_DTS
374         bool "Use a device tree present in the kernel."
375         help
376           Use a device tree source distributed with
377           the kernel sources. The dts files are located
378           in the arch/<arch>/boot/dts folder.
379
380 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
381         bool "Use a custom device tree file"
382         help
383           Use a custom device tree file, i.e, a device
384           tree file that does not belong to the kernel
385           source tree.
386 endchoice
387
388 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
389         string "Device Tree Source file names"
390         depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
391         help
392           Name of the device tree source file, without
393           the trailing .dts. You can provide a list of
394           dts files to build, separated by spaces.
395
396 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
397         string "Device Tree Source file paths"
398         depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
399         help
400           Path to the device tree source files. You can
401           provide a list of dts paths to copy and build,
402           separated by spaces.
403
404 endif
405
406 config BR2_LINUX_KERNEL_INSTALL_TARGET
407         bool "Install kernel image to /boot in target"
408         depends on !BR2_TARGET_ROOTFS_INITRAMFS
409         help
410           Select this option to have the kernel image installed to
411           /boot in the target root filesystem, as is typically done on
412           x86/x86_64 systems.
413
414           Note that this option also installs the Device Tree Blobs to
415           /boot if DTBs have been generated by the kernel build
416           process.
417
418 # Linux extensions
419 source "linux/Config.ext.in"
420
421 # Linux tools
422 source "package/linux-tools/Config.in"
423
424 endif # BR2_LINUX_KERNEL
425
426 endmenu