]> Git Repo - buildroot-mgba.git/blame - linux/Config.in
package/kernel-module-imx-gpu-viv: bear the kernel options munging
[buildroot-mgba.git] / linux / Config.in
CommitLineData
487e21cf
TP
1menu "Kernel"
2
3config BR2_LINUX_KERNEL
4 bool "Linux Kernel"
39719172 5 select BR2_PACKAGE_HOST_IMAGEMAGICK if BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH != ""
487e21cf
TP
6 help
7 Enable this option if you want to build a Linux kernel for
8 your embedded device
9
10if BR2_LINUX_KERNEL
11
5471bac7
YM
12# Packages that need to have a kernel with support for loadable modules,
13# but do not use the kernel-modules infrastructure, should select that
14# option.
15config BR2_LINUX_NEEDS_MODULES
16 bool
17
487e21cf
TP
18#
19# Version selection. We provide the choice between:
20#
21# 1. A single fairly recent stable kernel version
cc3f8bc1
YM
22# 2. A custom stable version
23# 3. A custom tarball
24# 4. A set of custom repository locations
487e21cf
TP
25#
26choice
27 prompt "Kernel version"
487e21cf 28
c719ded2 29config BR2_LINUX_KERNEL_LATEST_VERSION
d1f002c4 30 bool "Latest version (5.6)"
487e21cf 31
31d4fa76 32config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
14bc8519 33 bool "Latest CIP SLTS version (4.19.98-cip19)"
31d4fa76
AC
34 help
35 CIP launched in the spring of 2016 to address the needs of
36 organizations in industries such as power generation and
37 distribution, water, oil and gas, transportation, building
38 automation and more for reliable and secure Linux-based
39 embedded systems that can be sustained over a period of
40 10 to as many as 60 years.
41 The project's goal is to provide an open source base layer
42 of industrial-grade software that permits the use and
43 implementation of software building blocks that meet
44 these requirements.
45
46 The CIP community plans to maintain 4.4 for security and
47 bug fixes for more than 10 years.
48
49 https://www.cip-project.org
50
e9daff62 51config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
cba1aa49 52 bool "Latest CIP RT SLTS version (4.19.98-cip19-rt7)"
e9daff62
AC
53 help
54 Same as the CIP version, but this is the PREEMPT_RT realtime
55 variant.
56
57 The CIP community plans to maintain 4.19 for security and
58 bug fixes for more than 10 years.
59
60 https://www.cip-project.org
61
487e21cf
TP
62config BR2_LINUX_KERNEL_CUSTOM_VERSION
63 bool "Custom version"
64 help
d6bb2b50
TDS
65 This option allows to use a specific official version from
66 kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
487e21cf 67
a1ede0a5
TDS
68 Note: you cannot use this option to select a _longterm_ 2.6
69 kernel, because these kernels are not located at the standard
70 URL at kernel.org. Instead, select "Custom tarball" and
71 specify the right URL directly.
72
487e21cf
TP
73config BR2_LINUX_KERNEL_CUSTOM_TARBALL
74 bool "Custom tarball"
75 help
4b95cf8d
RM
76 This option allows to specify a URL pointing to a kernel
77 source tarball. This URL can use any protocol recognized by
78 Buildroot, like http://, ftp://, file:// or scp://.
74243211 79
4b95cf8d
RM
80 When pointing to a local tarball using file://, you may want
81 to use a make variable like $(TOPDIR) to reference the root of
82 the Buildroot tree.
487e21cf 83
205fb19c 84config BR2_LINUX_KERNEL_CUSTOM_GIT
4bff6145 85 bool "Custom Git repository"
205fb19c
TP
86 help
87 This option allows Buildroot to get the Linux kernel source
88 code from a Git repository.
89
63ecded2
TDS
90config BR2_LINUX_KERNEL_CUSTOM_HG
91 bool "Custom Mercurial repository"
92 help
93 This option allows Buildroot to get the Linux kernel source
94 code from a Mercurial repository.
95
986fa441
PS
96config BR2_LINUX_KERNEL_CUSTOM_SVN
97 bool "Custom Subversion repository"
98 help
99 This option allows Buildroot to get the Linux kernel source
100 code from a Subversion repository.
101
487e21cf
TP
102endchoice
103
104config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
105 string "Kernel version"
106 depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
487e21cf
TP
107
108config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
109 string "URL of custom kernel tarball"
110 depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
111
986fa441 112if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
205fb19c 113
63ecded2
TDS
114config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
115 string "URL of custom repository"
116 default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
117 if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != "" # legacy
118
119config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
120 string "Custom repository version"
121 default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
122 if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy
babd953f 123 help
4b95cf8d
RM
124 Revision to use in the typical format used by
125 Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
205fb19c 126
63ecded2
TDS
127endif
128
487e21cf
TP
129config BR2_LINUX_KERNEL_VERSION
130 string
72a6e50d 131 default "5.6.7" if BR2_LINUX_KERNEL_LATEST_VERSION
14bc8519 132 default "4.19.98-cip19" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
cba1aa49 133 default "4.19.98-cip19-rt7" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
63ecded2
TDS
134 default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
135 if BR2_LINUX_KERNEL_CUSTOM_VERSION
487e21cf 136 default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
63ecded2 137 default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
986fa441 138 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
487e21cf
TP
139
140#
141# Patch selection
142#
143
144config BR2_LINUX_KERNEL_PATCH
55b0a375 145 string "Custom kernel patches"
487e21cf 146 help
55b0a375
TP
147 A space-separated list of patches to apply to the
148 kernel. Each patch can be described as an URL, a local file
149 path, or a directory. In the case of a directory, all files
0eba4759 150 matching *.patch in the directory will be applied.
487e21cf
TP
151
152#
153# Configuration selection
154#
155
156choice
157 prompt "Kernel configuration"
158 default BR2_LINUX_KERNEL_USE_DEFCONFIG
159
160config BR2_LINUX_KERNEL_USE_DEFCONFIG
18215323 161 bool "Using an in-tree defconfig file"
487e21cf 162
53ced1f6
TP
163config BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
164 bool "Use the architecture default configuration"
165 help
166 This option will use the default configuration for the
167 selected architecture. I.e, it is equivalent to running
168 "make ARCH=<foo> defconfig". This is useful on architectures
169 that have a single defconfig file, such as ARM64.
170
487e21cf 171config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
18215323 172 bool "Using a custom (def)config file"
487e21cf
TP
173
174endchoice
175
176config BR2_LINUX_KERNEL_DEFCONFIG
177 string "Defconfig name"
178 depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
179 help
bed4e278
TDS
180 Name of the kernel defconfig file to use, without the
181 trailing _defconfig. The defconfig is located in
182 arch/<arch>/configs in the kernel tree.
487e21cf
TP
183
184config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
185 string "Configuration file path"
186 depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
187 help
188 Path to the kernel configuration file
189
18215323 190 Note: this can be a defconfig file or a complete .config file,
4b95cf8d
RM
191 which can later be saved back with make
192 linux-update-(def)config.
18215323 193
87bd1e37
FB
194config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
195 string "Additional configuration fragment files"
196 help
197 A space-separated list of kernel configuration fragment files,
198 that will be merged to the main kernel configuration file.
199
551e48a8
AC
200config BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH
201 string "Custom boot logo file path"
202 help
203 Use a custom Linux framebuffer boot logo.
204 Custom logo should be in PNG or JPEG format, it will be
205 converted to the linux kernel format (224 colors only)
206 and copied over the original logo file.
207
487e21cf
TP
208#
209# Binary format
210#
211
212choice
213 prompt "Kernel binary format"
5c67cb1d 214 default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
487e21cf
TP
215
216config BR2_LINUX_KERNEL_UIMAGE
217 bool "uImage"
e55f21a9 218 depends on BR2_arc || BR2_arm || BR2_armeb || \
1afd174f 219 BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
4338a319 220 BR2_sh || BR2_mips || BR2_mipsel || \
fd5b71af 221 BR2_mips64 || BR2_mips64el || BR2_xtensa
ee995b18 222 select BR2_PACKAGE_HOST_UBOOT_TOOLS
487e21cf 223
978928e4
MR
224config BR2_LINUX_KERNEL_APPENDED_UIMAGE
225 bool "uImage with appended DT"
226 depends on BR2_arm || BR2_armeb
227 select BR2_LINUX_KERNEL_DTS_SUPPORT
228 select BR2_LINUX_KERNEL_APPENDED_DTB
ee995b18 229 select BR2_PACKAGE_HOST_UBOOT_TOOLS
978928e4 230
487e21cf
TP
231config BR2_LINUX_KERNEL_BZIMAGE
232 bool "bzImage"
b626dc07 233 depends on BR2_i386 || BR2_x86_64
487e21cf
TP
234
235config BR2_LINUX_KERNEL_ZIMAGE
236 bool "zImage"
7e674dfa
CS
237 depends on BR2_arm || BR2_armeb || BR2_powerpc || \
238 BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
4338a319 239 BR2_sh || BR2_xtensa
487e21cf 240
dc3935ea
JK
241config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
242 bool "zImage.epapr"
243 depends on BR2_powerpc64 || BR2_powerpc64le
244
978928e4
MR
245config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
246 bool "zImage with appended DT"
247 depends on BR2_arm || BR2_armeb
248 select BR2_LINUX_KERNEL_DTS_SUPPORT
249 select BR2_LINUX_KERNEL_APPENDED_DTB
250
18e752de
MR
251config BR2_LINUX_KERNEL_CUIMAGE
252 bool "cuImage"
253 depends on BR2_powerpc
ee995b18 254 select BR2_PACKAGE_HOST_UBOOT_TOOLS
18e752de
MR
255 select BR2_LINUX_KERNEL_DTS_SUPPORT
256 select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
257
258config BR2_LINUX_KERNEL_SIMPLEIMAGE
259 bool "simpleImage"
260 depends on BR2_microblaze
ee995b18 261 select BR2_PACKAGE_HOST_UBOOT_TOOLS
18e752de
MR
262 select BR2_LINUX_KERNEL_DTS_SUPPORT
263 select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
264
55a6b6d0
AV
265config BR2_LINUX_KERNEL_IMAGE
266 bool "Image"
a3a4d4d4 267 depends on BR2_aarch64 || BR2_riscv
55a6b6d0 268
18e752de
MR
269config BR2_LINUX_KERNEL_LINUX_BIN
270 bool "linux.bin"
271 depends on BR2_microblaze
ee995b18 272 select BR2_PACKAGE_HOST_UBOOT_TOOLS
18e752de 273
b626dc07
TP
274config BR2_LINUX_KERNEL_VMLINUX_BIN
275 bool "vmlinux.bin"
4338a319 276 depends on BR2_mips || BR2_mipsel || BR2_sh
487e21cf 277
71c05023
TP
278config BR2_LINUX_KERNEL_VMLINUX
279 bool "vmlinux"
71c05023 280
c1485d51
KC
281config BR2_LINUX_KERNEL_VMLINUZ
282 bool "vmlinuz"
283 depends on BR2_mips || BR2_mipsel
284
e9d2d024
YY
285config BR2_LINUX_KERNEL_VMLINUZ_BIN
286 bool "vmlinuz.bin"
287 depends on BR2_mips || BR2_mipsel
288
e2ed6c8e
MH
289config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
290 bool "custom target"
291 help
292 For certain cases a board-specific target image must be
293 used. For example, on powerPC where the OpenFirmware
294 description is attached in a board-specific kernel image
295 target like 'cuImage.mpc8379_rdb'.
296
297 Select this option and specify the make target in "Kernel
298 image target name".
299
487e21cf
TP
300endchoice
301
3ea133c9
JS
302#
303# Kernel compression format
304#
305
306choice
307 prompt "Kernel compression format"
308 help
4b95cf8d
RM
309 This selection will just ensure that the correct host tools
310 are built. The actual compression for the kernel should be
311 selected in the kernel configuration menu.
3ea133c9
JS
312
313config BR2_LINUX_KERNEL_GZIP
314 bool "gzip compression"
315
316config BR2_LINUX_KERNEL_LZ4
317 bool "lz4 compression"
318
319config BR2_LINUX_KERNEL_LZMA
320 bool "lzma compression"
321
322config BR2_LINUX_KERNEL_LZO
323 bool "lzo compression"
324
325config BR2_LINUX_KERNEL_XZ
326 bool "xz compression"
327
328endchoice
329
e2ed6c8e
MH
330config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
331 string "Kernel image target name"
332 depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
333 help
334 Specify the kernel make target to build the kernel that you
335 need.
336
c78d5763
WB
337config BR2_LINUX_KERNEL_IMAGE_NAME
338 string "Kernel image name"
339 depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
340 help
ea044ee2
TP
341 The filename of the kernel image, if it is different from
342 the make target (above). Defaults to
343 BR2_LINUX_KERNEL_IMAGE_TARGET_NAME. If specified, the
344 filename is relative to arch/ARCH/boot/.
c78d5763
WB
345
346 If unsure, leave it empty.
347
8215e19b
JB
348config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
349 string "load address (for 3.7+ multi-platform image)"
350 depends on BR2_arm || BR2_armeb
351 depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
352 help
4b95cf8d
RM
353 If your ARM system's Linux kernel is configured with the new
354 (3.7+) multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y
355 in your kernel config), then it is necessary to specify a
356 kernel load address when building the uImage. This should be a
357 hexadecimal string beginning with 0x, for example: 0x00008000.
8215e19b
JB
358
359 If unsure, let this option empty.
360
69fc497d 361config BR2_LINUX_KERNEL_DTS_SUPPORT
be529e22 362 bool "Build a Device Tree Blob (DTB)"
69fc497d 363 help
4b95cf8d
RM
364 Compile one or more device tree sources into device tree
365 blobs.
be529e22 366 Select the dts files to compile in the options below.
69fc497d
MR
367
368if BR2_LINUX_KERNEL_DTS_SUPPORT
369
978928e4
MR
370# We have mainly three cases when it comes to device tree support:
371# 1) We don't want any support at all. Then the ..DTS_SUPPORT
372# variable won't be set
5b686a06
MY
373# 2) We want device tree support, so we need the user to enter the
374# device tree name or the path to the custom device he uses, but
375# the kernel abstracts this from us and only build an image that
376# looks like a regular kernel image. In this case, we only need
377# to derive the kernel image name from the given device tree
378# name, and all the rest is as usual
978928e4
MR
379# 3) We want device tree support, but the kernel requires us to
380# build the device tree blob separately. In this case, some
381# more logic will be needed.
382# The variable below address the second case, were you only want
383# limited actions from buildroot.
384config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
869773d6
PW
385 bool "DTB is built by kernel itself"
386 help
387 Normally, the device tree(s) to be built have to be passed
388 explicitly to the kernel build system. For some binary
389 formats, however, the kernel build system links in the
390 device tree directly in the kernel binary. Select this option
391 if you have such a kernel binary format.
978928e4
MR
392
393config BR2_LINUX_KERNEL_APPENDED_DTB
394 bool
395
69fc497d 396config BR2_LINUX_KERNEL_INTREE_DTS_NAME
f142f23e 397 string "In-tree Device Tree Source file names"
69fc497d 398 help
f142f23e 399 Name of in-tree device tree source file, without
bed4e278
TDS
400 the trailing .dts. You can provide a list of
401 dts files to build, separated by spaces.
69fc497d
MR
402
403config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
f142f23e 404 string "Out-of-tree Device Tree Source file paths"
69fc497d 405 help
f142f23e
YM
406 Path to to out-of-tree device tree source files.
407 You can provide a list of dts paths to copy and
408 build, separated by spaces.
69fc497d 409
eb37deb6
TC
410config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT
411 bool "Build Device Tree with overlay support"
412 help
413 If enabled, pass the "-@" option to dtc, such that
414 symbols are generated in the compiled Device Tree.
415 Choose this option to support Device Tree overlays
416 on the target system.
417
69fc497d
MR
418endif
419
eff25f4c
TP
420config BR2_LINUX_KERNEL_INSTALL_TARGET
421 bool "Install kernel image to /boot in target"
422 depends on !BR2_TARGET_ROOTFS_INITRAMFS
423 help
424 Select this option to have the kernel image installed to
425 /boot in the target root filesystem, as is typically done on
426 x86/x86_64 systems.
427
e2a52885
TP
428 Note that this option also installs the Device Tree Blobs to
429 /boot if DTBs have been generated by the kernel build
430 process.
3011d235 431
93a7edf4
TP
432config BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL
433 bool "Needs host OpenSSL"
434 help
435 Some Linux kernel configuration options (such as
436 CONFIG_SYSTEM_TRUSTED_KEYRING) require building a host
437 program called extract-cert, which itself needs
438 OpenSSL. Enabling this option will ensure host-openssl gets
439 built before the Linux kernel.
440
441 Enable this option if you get a Linux kernel build failure
442 such as "scripts/extract-cert.c:21:25: fatal error:
443 openssl/bio.h: No such file or directory".
444
f7cd72b3
TP
445config BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF
446 bool "Needs host libelf"
447 help
448 Some Linux kernel configuration options (such as
449 CONFIG_UNWINDER_ORC) require building a host program that
450 needs libelf. Enabling this option will ensure host-elfutils
451 (which provides libelf) gets built before the Linux kernel.
452
453 Enable this option if you get a Linux kernel build failure
454 such as "Cannot generate ORC metadata for
455 CONFIG_UNWINDER_ORC=y, please install libelf-dev,
456 libelf-devel or elfutils-libelf-devel".
457
3011d235
TDS
458# Linux extensions
459source "linux/Config.ext.in"
460
f1863ede 461# Linux tools
20b14466 462source "package/linux-tools/Config.in"
f1863ede 463
487e21cf
TP
464endif # BR2_LINUX_KERNEL
465
466endmenu
This page took 1.039057 seconds and 4 git commands to generate.