package/eudev: libgudev is no longer provided by eudev
[buildroot-gz.git] / linux / Config.in
blob310f18bbb9821815bdfe6a354aeb1e38d0913638
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
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
18 # Version selection. We provide the choice between:
20 #  1. A single fairly recent stable kernel version
21 #  2. In case an internal toolchain has been built, the same kernel
22 #     version as the kernel headers
23 #  3. A custom stable version
24 #  4. A custom tarball
26 choice
27         prompt "Kernel version"
29 config BR2_LINUX_KERNEL_LATEST_VERSION
30         bool "Latest version (4.6.4)"
32 config BR2_LINUX_KERNEL_CUSTOM_VERSION
33         bool "Custom version"
34         help
35           This option allows to use a specific official version from
36           kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
38           Note: you cannot use this option to select a _longterm_ 2.6
39           kernel, because these kernels are not located at the standard
40           URL at kernel.org. Instead, select "Custom tarball" and
41           specify the right URL directly.
43 config BR2_LINUX_KERNEL_CUSTOM_TARBALL
44         bool "Custom tarball"
45         help
46           This option allows to specify a URL pointing to a kernel source
47           tarball. This URL can use any protocol recognized by Buildroot,
48           like http://, ftp://, file:// or scp://.
50           When pointing to a local tarball using file://, you may want to
51           use a make variable like $(TOPDIR) to reference the root of the
52           Buildroot tree.
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_SVN
67         bool "Custom Subversion repository"
68         help
69           This option allows Buildroot to get the Linux kernel source
70           code from a Subversion repository.
72 config BR2_LINUX_KERNEL_CUSTOM_LOCAL
73         bool "Local directory"
74         help
75           This option allows Buildroot to get the Linux kernel source
76           code from a local directory.
78 endchoice
80 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
81         string "Kernel version"
82         depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
84 config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
85         string "URL of custom kernel tarball"
86         depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
88 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
90 config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
91         string "URL of custom repository"
92         default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
93                 if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != ""  # legacy
95 config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
96         string "Custom repository version"
97         default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
98                 if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != ""  # legacy
99         help
100           Revision to use in the typical format used by Git/Mercurial/Subversion
101           E.G. a sha id, a tag, branch, ..
103 endif
105 config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
106         string "Path to the local directory"
107         depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
108         help
109           Path to the local directory with the Linux kernel source code.
111 config BR2_LINUX_KERNEL_VERSION
112         string
113         default "4.6.4" if BR2_LINUX_KERNEL_LATEST_VERSION
114         default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
115                 if BR2_LINUX_KERNEL_CUSTOM_VERSION
116         default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
117         default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
118                 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
119         default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
122 # Patch selection
125 config BR2_LINUX_KERNEL_PATCH
126         string "Custom kernel patches"
127         depends on !BR2_LINUX_KERNEL_CUSTOM_LOCAL
128         help
129           A space-separated list of patches to apply to the
130           kernel. Each patch can be described as an URL, a local file
131           path, or a directory. In the case of a directory, all files
132           matching *.patch in the directory will be applied.
135 # Configuration selection
138 choice
139         prompt "Kernel configuration"
140         default BR2_LINUX_KERNEL_USE_DEFCONFIG
142 config BR2_LINUX_KERNEL_USE_DEFCONFIG
143         bool "Using an in-tree defconfig file"
145 config BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
146         bool "Use the architecture default configuration"
147         help
148           This option will use the default configuration for the
149           selected architecture. I.e, it is equivalent to running
150           "make ARCH=<foo> defconfig". This is useful on architectures
151           that have a single defconfig file, such as ARM64.
153 config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
154         bool "Using a custom (def)config file"
156 endchoice
158 config BR2_LINUX_KERNEL_DEFCONFIG
159         string "Defconfig name"
160         depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
161         help
162           Name of the kernel defconfig file to use, without the
163           trailing _defconfig.  The defconfig is located in
164           arch/<arch>/configs in the kernel tree.
166 config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
167         string "Configuration file path"
168         depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
169         help
170           Path to the kernel configuration file
172           Note: this can be a defconfig file or a complete .config file,
173           which can later be saved back with make linux-update-(def)config.
175 config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
176         string "Additional configuration fragment files"
177         help
178           A space-separated list of kernel configuration fragment files,
179           that will be merged to the main kernel configuration file.
182 # Binary format
185 config BR2_LINUX_KERNEL_UBOOT_IMAGE
186         bool
188 choice
189         prompt "Kernel binary format"
190         default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
192 config BR2_LINUX_KERNEL_UIMAGE
193         bool "uImage"
194         depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
195                    BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
196                    BR2_sh || BR2_sh64 || BR2_mips || BR2_mipsel || \
197                    BR2_mips64 || BR2_mips64el
198         select BR2_LINUX_KERNEL_UBOOT_IMAGE
200 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
201         bool "uImage with appended DT"
202         depends on BR2_arm || BR2_armeb
203         select BR2_LINUX_KERNEL_DTS_SUPPORT
204         select BR2_LINUX_KERNEL_APPENDED_DTB
205         select BR2_LINUX_KERNEL_UBOOT_IMAGE
207 config BR2_LINUX_KERNEL_BZIMAGE
208         bool "bzImage"
209         depends on BR2_i386 || BR2_x86_64
211 config BR2_LINUX_KERNEL_ZIMAGE
212         bool "zImage"
213         depends on BR2_arm || BR2_armeb || BR2_powerpc || \
214                    BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
215                    BR2_sh || BR2_sh64 || BR2_xtensa
217 config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
218         bool "zImage.epapr"
219         depends on BR2_powerpc64 || BR2_powerpc64le
221 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
222         bool "zImage with appended DT"
223         depends on BR2_arm || BR2_armeb
224         select BR2_LINUX_KERNEL_DTS_SUPPORT
225         select BR2_LINUX_KERNEL_APPENDED_DTB
227 config BR2_LINUX_KERNEL_CUIMAGE
228         bool "cuImage"
229         depends on BR2_powerpc
230         select BR2_LINUX_KERNEL_UBOOT_IMAGE
231         select BR2_LINUX_KERNEL_DTS_SUPPORT
232         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
234 config BR2_LINUX_KERNEL_SIMPLEIMAGE
235         bool "simpleImage"
236         depends on BR2_microblaze
237         select BR2_LINUX_KERNEL_UBOOT_IMAGE
238         select BR2_LINUX_KERNEL_DTS_SUPPORT
239         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
241 config BR2_LINUX_KERNEL_IMAGE
242         bool "Image"
243         depends on BR2_aarch64
245 config BR2_LINUX_KERNEL_LINUX_BIN
246         bool "linux.bin"
247         depends on BR2_microblaze
248         select BR2_LINUX_KERNEL_UBOOT_IMAGE
250 config BR2_LINUX_KERNEL_VMLINUX_BIN
251         bool "vmlinux.bin"
252         depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
254 config BR2_LINUX_KERNEL_VMLINUX
255         bool "vmlinux"
257 config BR2_LINUX_KERNEL_VMLINUZ
258         bool "vmlinuz"
259         depends on BR2_mips || BR2_mipsel
261 config BR2_LINUX_KERNEL_VMLINUZ_BIN
262         bool "vmlinuz.bin"
263         depends on BR2_mips || BR2_mipsel
265 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
266         bool "custom target"
267         help
268           For certain cases a board-specific target image must be
269           used.  For example, on powerPC where the OpenFirmware
270           description is attached in a board-specific kernel image
271           target like 'cuImage.mpc8379_rdb'.
273           Select this option and specify the make target in "Kernel
274           image target name".
276 endchoice
279 # Kernel compression format
282 choice
283         prompt "Kernel compression format"
284         help
285           This selection will just ensure that the correct host tools are build.
286           The actual compression for the kernel should be selected in the
287           kernel configuration menu.
289 config BR2_LINUX_KERNEL_GZIP
290         bool "gzip compression"
292 config BR2_LINUX_KERNEL_LZ4
293         bool "lz4 compression"
295 config BR2_LINUX_KERNEL_LZMA
296         bool "lzma compression"
298 config BR2_LINUX_KERNEL_LZO
299         bool "lzo compression"
301 config BR2_LINUX_KERNEL_XZ
302         bool "xz compression"
304 endchoice
306 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
307         string "Kernel image target name"
308         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
309         help
310           Specify the kernel make target to build the kernel that you
311           need.
313 config BR2_LINUX_KERNEL_IMAGE_NAME
314         string "Kernel image name"
315         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
316         help
317           The filename of the kernel image, if it is different from the
318           make target (above). Only Xtensa uses a filename different from
319           the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
321           If unsure, leave it empty.
323 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
324         string "load address (for 3.7+ multi-platform image)"
325         depends on BR2_arm || BR2_armeb
326         depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
327         help
328           If your ARM system's Linux kernel is configured with the new (3.7+)
329           multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
330           kernel config), then it is necessary to specify a kernel load address
331           when building the uImage. This should be a hexadecimal string
332           beginning with 0x, for example: 0x00008000.
334           If unsure, let this option empty.
336 config BR2_LINUX_KERNEL_DTS_SUPPORT
337         bool "Build a Device Tree Blob (DTB)"
338         help
339           Compile one or more device tree sources into device tree blobs.
340           Select the dts files to compile in the options below.
342 if BR2_LINUX_KERNEL_DTS_SUPPORT
344 # We have mainly three cases when it comes to device tree support:
345 #   1) We don't want any support at all. Then the ..DTS_SUPPORT
346 #      variable won't be set
347 #   2) We want device tree support, so we need the user to enter the
348 #      device tree name or the path to the custom device he uses, but
349 #      the kernel abstracts this from us and only build an image that
350 #      looks like a regular kernel image. In this case, we only need
351 #      to derive the kernel image name from the given device tree
352 #      name, and all the rest is as usual
353 #   3) We want device tree support, but the kernel requires us to
354 #      build the device tree blob separately. In this case, some
355 #      more logic will be needed.
356 # The variable below address the second case, were you only want
357 # limited actions from buildroot.
358 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
359         bool
361 config BR2_LINUX_KERNEL_APPENDED_DTB
362         bool
364 choice
365         prompt "Device tree source"
366         default BR2_LINUX_KERNEL_USE_INTREE_DTS
368 config BR2_LINUX_KERNEL_USE_INTREE_DTS
369         bool "Use a device tree present in the kernel."
370         help
371           Use a device tree source distributed with
372           the kernel sources. The dts files are located
373           in the arch/<arch>/boot/dts folder.
375 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
376         bool "Use a custom device tree file"
377         help
378           Use a custom device tree file, i.e, a device
379           tree file that does not belong to the kernel
380           source tree.
381 endchoice
383 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
384         string "Device Tree Source file names"
385         depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
386         help
387           Name of the device tree source file, without
388           the trailing .dts. You can provide a list of
389           dts files to build, separated by spaces.
391 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
392         string "Device Tree Source file paths"
393         depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
394         help
395           Path to the device tree source files. You can
396           provide a list of dts paths to copy and build,
397           separated by spaces.
399 endif
401 config BR2_LINUX_KERNEL_INSTALL_TARGET
402         bool "Install kernel image to /boot in target"
403         depends on !BR2_TARGET_ROOTFS_INITRAMFS
404         help
405           Select this option to have the kernel image installed to
406           /boot in the target root filesystem, as is typically done on
407           x86/x86_64 systems.
409           Note that this option also installs the Device Tree Blobs to
410           /boot if DTBs have been generated by the kernel build
411           process.
413 # Linux extensions
414 source "linux/Config.ext.in"
416 # Linux tools
417 source "linux/Config.tools.in"
419 endif # BR2_LINUX_KERNEL
421 endmenu