package/x11r7/xapp_sessreg: fix musl build
[buildroot-gz.git] / linux / Config.in
blobe43b88d9f8d978524518c8daf77e0a6e248f7f55
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. A custom stable version
22 #  3. A custom tarball
23 #  4. A set of custom repository locations
25 choice
26         prompt "Kernel version"
28 config BR2_LINUX_KERNEL_LATEST_VERSION
29         bool "Latest version (4.9)"
31 config BR2_LINUX_KERNEL_CUSTOM_VERSION
32         bool "Custom version"
33         help
34           This option allows to use a specific official version from
35           kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
37           Note: you cannot use this option to select a _longterm_ 2.6
38           kernel, because these kernels are not located at the standard
39           URL at kernel.org. Instead, select "Custom tarball" and
40           specify the right URL directly.
42 config BR2_LINUX_KERNEL_CUSTOM_TARBALL
43         bool "Custom tarball"
44         help
45           This option allows to specify a URL pointing to a kernel source
46           tarball. This URL can use any protocol recognized by Buildroot,
47           like http://, ftp://, file:// or scp://.
49           When pointing to a local tarball using file://, you may want to
50           use a make variable like $(TOPDIR) to reference the root of the
51           Buildroot tree.
53 config BR2_LINUX_KERNEL_CUSTOM_GIT
54         bool "Custom Git repository"
55         help
56           This option allows Buildroot to get the Linux kernel source
57           code from a Git repository.
59 config BR2_LINUX_KERNEL_CUSTOM_HG
60         bool "Custom Mercurial repository"
61         help
62           This option allows Buildroot to get the Linux kernel source
63           code from a Mercurial repository.
65 config BR2_LINUX_KERNEL_CUSTOM_SVN
66         bool "Custom Subversion repository"
67         help
68           This option allows Buildroot to get the Linux kernel source
69           code from a Subversion repository.
71 endchoice
73 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
74         string "Kernel version"
75         depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
77 config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
78         string "URL of custom kernel tarball"
79         depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
81 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
83 config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
84         string "URL of custom repository"
85         default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
86                 if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != ""  # legacy
88 config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
89         string "Custom repository version"
90         default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
91                 if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != ""  # legacy
92         help
93           Revision to use in the typical format used by Git/Mercurial/Subversion
94           E.G. a sha id, a tag, branch, ..
96 endif
98 config BR2_LINUX_KERNEL_VERSION
99         string
100         default "4.9" if BR2_LINUX_KERNEL_LATEST_VERSION
101         default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
102                 if BR2_LINUX_KERNEL_CUSTOM_VERSION
103         default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
104         default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
105                 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
108 # Patch selection
111 config BR2_LINUX_KERNEL_PATCH
112         string "Custom kernel patches"
113         depends on !BR2_LINUX_KERNEL_CUSTOM_LOCAL
114         help
115           A space-separated list of patches to apply to the
116           kernel. Each patch can be described as an URL, a local file
117           path, or a directory. In the case of a directory, all files
118           matching *.patch in the directory will be applied.
121 # Configuration selection
124 choice
125         prompt "Kernel configuration"
126         default BR2_LINUX_KERNEL_USE_DEFCONFIG
128 config BR2_LINUX_KERNEL_USE_DEFCONFIG
129         bool "Using an in-tree defconfig file"
131 config BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
132         bool "Use the architecture default configuration"
133         help
134           This option will use the default configuration for the
135           selected architecture. I.e, it is equivalent to running
136           "make ARCH=<foo> defconfig". This is useful on architectures
137           that have a single defconfig file, such as ARM64.
139 config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
140         bool "Using a custom (def)config file"
142 endchoice
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.
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
158           Note: this can be a defconfig file or a complete .config file,
159           which can later be saved back with make linux-update-(def)config.
161 config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
162         string "Additional configuration fragment files"
163         help
164           A space-separated list of kernel configuration fragment files,
165           that will be merged to the main kernel configuration file.
168 # Binary format
171 config BR2_LINUX_KERNEL_UBOOT_IMAGE
172         bool
174 choice
175         prompt "Kernel binary format"
176         default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
178 config BR2_LINUX_KERNEL_UIMAGE
179         bool "uImage"
180         depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
181                    BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
182                    BR2_sh || BR2_mips || BR2_mipsel || \
183                    BR2_mips64 || BR2_mips64el
184         select BR2_LINUX_KERNEL_UBOOT_IMAGE
186 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
187         bool "uImage with appended DT"
188         depends on BR2_arm || BR2_armeb
189         select BR2_LINUX_KERNEL_DTS_SUPPORT
190         select BR2_LINUX_KERNEL_APPENDED_DTB
191         select BR2_LINUX_KERNEL_UBOOT_IMAGE
193 config BR2_LINUX_KERNEL_BZIMAGE
194         bool "bzImage"
195         depends on BR2_i386 || BR2_x86_64
197 config BR2_LINUX_KERNEL_ZIMAGE
198         bool "zImage"
199         depends on BR2_arm || BR2_armeb || BR2_powerpc || \
200                    BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
201                    BR2_sh || BR2_xtensa
203 config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
204         bool "zImage.epapr"
205         depends on BR2_powerpc64 || BR2_powerpc64le
207 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
208         bool "zImage with appended DT"
209         depends on BR2_arm || BR2_armeb
210         select BR2_LINUX_KERNEL_DTS_SUPPORT
211         select BR2_LINUX_KERNEL_APPENDED_DTB
213 config BR2_LINUX_KERNEL_CUIMAGE
214         bool "cuImage"
215         depends on BR2_powerpc
216         select BR2_LINUX_KERNEL_UBOOT_IMAGE
217         select BR2_LINUX_KERNEL_DTS_SUPPORT
218         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
220 config BR2_LINUX_KERNEL_SIMPLEIMAGE
221         bool "simpleImage"
222         depends on BR2_microblaze
223         select BR2_LINUX_KERNEL_UBOOT_IMAGE
224         select BR2_LINUX_KERNEL_DTS_SUPPORT
225         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
227 config BR2_LINUX_KERNEL_IMAGE
228         bool "Image"
229         depends on BR2_aarch64
231 config BR2_LINUX_KERNEL_LINUX_BIN
232         bool "linux.bin"
233         depends on BR2_microblaze
234         select BR2_LINUX_KERNEL_UBOOT_IMAGE
236 config BR2_LINUX_KERNEL_VMLINUX_BIN
237         bool "vmlinux.bin"
238         depends on BR2_mips || BR2_mipsel || BR2_sh
240 config BR2_LINUX_KERNEL_VMLINUX
241         bool "vmlinux"
243 config BR2_LINUX_KERNEL_VMLINUZ
244         bool "vmlinuz"
245         depends on BR2_mips || BR2_mipsel
247 config BR2_LINUX_KERNEL_VMLINUZ_BIN
248         bool "vmlinuz.bin"
249         depends on BR2_mips || BR2_mipsel
251 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
252         bool "custom target"
253         help
254           For certain cases a board-specific target image must be
255           used.  For example, on powerPC where the OpenFirmware
256           description is attached in a board-specific kernel image
257           target like 'cuImage.mpc8379_rdb'.
259           Select this option and specify the make target in "Kernel
260           image target name".
262 endchoice
265 # Kernel compression format
268 choice
269         prompt "Kernel compression format"
270         help
271           This selection will just ensure that the correct host tools are build.
272           The actual compression for the kernel should be selected in the
273           kernel configuration menu.
275 config BR2_LINUX_KERNEL_GZIP
276         bool "gzip compression"
278 config BR2_LINUX_KERNEL_LZ4
279         bool "lz4 compression"
281 config BR2_LINUX_KERNEL_LZMA
282         bool "lzma compression"
284 config BR2_LINUX_KERNEL_LZO
285         bool "lzo compression"
287 config BR2_LINUX_KERNEL_XZ
288         bool "xz compression"
290 endchoice
292 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
293         string "Kernel image target name"
294         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
295         help
296           Specify the kernel make target to build the kernel that you
297           need.
299 config BR2_LINUX_KERNEL_IMAGE_NAME
300         string "Kernel image name"
301         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
302         help
303           The filename of the kernel image, if it is different from the
304           make target (above). Only Xtensa uses a filename different from
305           the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
307           If unsure, leave it empty.
309 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
310         string "load address (for 3.7+ multi-platform image)"
311         depends on BR2_arm || BR2_armeb
312         depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
313         help
314           If your ARM system's Linux kernel is configured with the new (3.7+)
315           multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
316           kernel config), then it is necessary to specify a kernel load address
317           when building the uImage. This should be a hexadecimal string
318           beginning with 0x, for example: 0x00008000.
320           If unsure, let this option empty.
322 config BR2_LINUX_KERNEL_DTS_SUPPORT
323         bool "Build a Device Tree Blob (DTB)"
324         help
325           Compile one or more device tree sources into device tree blobs.
326           Select the dts files to compile in the options below.
328 if BR2_LINUX_KERNEL_DTS_SUPPORT
330 # We have mainly three cases when it comes to device tree support:
331 #   1) We don't want any support at all. Then the ..DTS_SUPPORT
332 #      variable won't be set
333 #   2) We want device tree support, so we need the user to enter the
334 #      device tree name or the path to the custom device he uses, but
335 #      the kernel abstracts this from us and only build an image that
336 #      looks like a regular kernel image. In this case, we only need
337 #      to derive the kernel image name from the given device tree
338 #      name, and all the rest is as usual
339 #   3) We want device tree support, but the kernel requires us to
340 #      build the device tree blob separately. In this case, some
341 #      more logic will be needed.
342 # The variable below address the second case, were you only want
343 # limited actions from buildroot.
344 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
345         bool
347 config BR2_LINUX_KERNEL_APPENDED_DTB
348         bool
350 choice
351         prompt "Device tree source"
352         default BR2_LINUX_KERNEL_USE_INTREE_DTS
354 config BR2_LINUX_KERNEL_USE_INTREE_DTS
355         bool "Use a device tree present in the kernel."
356         help
357           Use a device tree source distributed with
358           the kernel sources. The dts files are located
359           in the arch/<arch>/boot/dts folder.
361 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
362         bool "Use a custom device tree file"
363         help
364           Use a custom device tree file, i.e, a device
365           tree file that does not belong to the kernel
366           source tree.
367 endchoice
369 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
370         string "Device Tree Source file names"
371         depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
372         help
373           Name of the device tree source file, without
374           the trailing .dts. You can provide a list of
375           dts files to build, separated by spaces.
377 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
378         string "Device Tree Source file paths"
379         depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
380         help
381           Path to the device tree source files. You can
382           provide a list of dts paths to copy and build,
383           separated by spaces.
385 endif
387 config BR2_LINUX_KERNEL_INSTALL_TARGET
388         bool "Install kernel image to /boot in target"
389         depends on !BR2_TARGET_ROOTFS_INITRAMFS
390         help
391           Select this option to have the kernel image installed to
392           /boot in the target root filesystem, as is typically done on
393           x86/x86_64 systems.
395           Note that this option also installs the Device Tree Blobs to
396           /boot if DTBs have been generated by the kernel build
397           process.
399 # Linux extensions
400 source "linux/Config.ext.in"
402 # Linux tools
403 source "package/linux-tools/Config.in"
405 endif # BR2_LINUX_KERNEL
407 endmenu