board/csky: fixup gdb instructions in readme.txt
[buildroot-gz.git] / linux / Config.in
blob5e395a47958f27cd044fb5540339ea334fef2202
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.10.5)"
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.10.5" 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         help
114           A space-separated list of patches to apply to the
115           kernel. Each patch can be described as an URL, a local file
116           path, or a directory. In the case of a directory, all files
117           matching *.patch in the directory will be applied.
120 # Configuration selection
123 choice
124         prompt "Kernel configuration"
125         default BR2_LINUX_KERNEL_USE_DEFCONFIG
127 config BR2_LINUX_KERNEL_USE_DEFCONFIG
128         bool "Using an in-tree defconfig file"
130 config BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
131         bool "Use the architecture default configuration"
132         help
133           This option will use the default configuration for the
134           selected architecture. I.e, it is equivalent to running
135           "make ARCH=<foo> defconfig". This is useful on architectures
136           that have a single defconfig file, such as ARM64.
138 config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
139         bool "Using a custom (def)config file"
141 endchoice
143 config BR2_LINUX_KERNEL_DEFCONFIG
144         string "Defconfig name"
145         depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
146         help
147           Name of the kernel defconfig file to use, without the
148           trailing _defconfig.  The defconfig is located in
149           arch/<arch>/configs in the kernel tree.
151 config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
152         string "Configuration file path"
153         depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
154         help
155           Path to the kernel configuration file
157           Note: this can be a defconfig file or a complete .config file,
158           which can later be saved back with make linux-update-(def)config.
160 config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
161         string "Additional configuration fragment files"
162         help
163           A space-separated list of kernel configuration fragment files,
164           that will be merged to the main kernel configuration file.
167 # Binary format
170 config BR2_LINUX_KERNEL_UBOOT_IMAGE
171         bool
173 choice
174         prompt "Kernel binary format"
175         default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
177 config BR2_LINUX_KERNEL_UIMAGE
178         bool "uImage"
179         depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
180                    BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
181                    BR2_sh || BR2_mips || BR2_mipsel || \
182                    BR2_mips64 || BR2_mips64el || BR2_xtensa
183         select BR2_LINUX_KERNEL_UBOOT_IMAGE
185 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
186         bool "uImage with appended DT"
187         depends on BR2_arm || BR2_armeb
188         select BR2_LINUX_KERNEL_DTS_SUPPORT
189         select BR2_LINUX_KERNEL_APPENDED_DTB
190         select BR2_LINUX_KERNEL_UBOOT_IMAGE
192 config BR2_LINUX_KERNEL_BZIMAGE
193         bool "bzImage"
194         depends on BR2_i386 || BR2_x86_64
196 config BR2_LINUX_KERNEL_ZIMAGE
197         bool "zImage"
198         depends on BR2_arm || BR2_armeb || BR2_powerpc || \
199                    BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
200                    BR2_sh || BR2_xtensa
202 config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
203         bool "zImage.epapr"
204         depends on BR2_powerpc64 || BR2_powerpc64le
206 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
207         bool "zImage with appended DT"
208         depends on BR2_arm || BR2_armeb
209         select BR2_LINUX_KERNEL_DTS_SUPPORT
210         select BR2_LINUX_KERNEL_APPENDED_DTB
212 config BR2_LINUX_KERNEL_CUIMAGE
213         bool "cuImage"
214         depends on BR2_powerpc
215         select BR2_LINUX_KERNEL_UBOOT_IMAGE
216         select BR2_LINUX_KERNEL_DTS_SUPPORT
217         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
219 config BR2_LINUX_KERNEL_SIMPLEIMAGE
220         bool "simpleImage"
221         depends on BR2_microblaze
222         select BR2_LINUX_KERNEL_UBOOT_IMAGE
223         select BR2_LINUX_KERNEL_DTS_SUPPORT
224         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
226 config BR2_LINUX_KERNEL_IMAGE
227         bool "Image"
228         depends on BR2_aarch64
230 config BR2_LINUX_KERNEL_LINUX_BIN
231         bool "linux.bin"
232         depends on BR2_microblaze
233         select BR2_LINUX_KERNEL_UBOOT_IMAGE
235 config BR2_LINUX_KERNEL_VMLINUX_BIN
236         bool "vmlinux.bin"
237         depends on BR2_mips || BR2_mipsel || BR2_sh
239 config BR2_LINUX_KERNEL_VMLINUX
240         bool "vmlinux"
242 config BR2_LINUX_KERNEL_VMLINUZ
243         bool "vmlinuz"
244         depends on BR2_mips || BR2_mipsel
246 config BR2_LINUX_KERNEL_VMLINUZ_BIN
247         bool "vmlinuz.bin"
248         depends on BR2_mips || BR2_mipsel
250 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
251         bool "custom target"
252         help
253           For certain cases a board-specific target image must be
254           used.  For example, on powerPC where the OpenFirmware
255           description is attached in a board-specific kernel image
256           target like 'cuImage.mpc8379_rdb'.
258           Select this option and specify the make target in "Kernel
259           image target name".
261 endchoice
264 # Kernel compression format
267 choice
268         prompt "Kernel compression format"
269         help
270           This selection will just ensure that the correct host tools are build.
271           The actual compression for the kernel should be selected in the
272           kernel configuration menu.
274 config BR2_LINUX_KERNEL_GZIP
275         bool "gzip compression"
277 config BR2_LINUX_KERNEL_LZ4
278         bool "lz4 compression"
280 config BR2_LINUX_KERNEL_LZMA
281         bool "lzma compression"
283 config BR2_LINUX_KERNEL_LZO
284         bool "lzo compression"
286 config BR2_LINUX_KERNEL_XZ
287         bool "xz compression"
289 endchoice
291 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
292         string "Kernel image target name"
293         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
294         help
295           Specify the kernel make target to build the kernel that you
296           need.
298 config BR2_LINUX_KERNEL_IMAGE_NAME
299         string "Kernel image name"
300         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
301         help
302           The filename of the kernel image, if it is different from the
303           make target (above). Only Xtensa uses a filename different from
304           the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
306           If unsure, leave it empty.
308 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
309         string "load address (for 3.7+ multi-platform image)"
310         depends on BR2_arm || BR2_armeb
311         depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
312         help
313           If your ARM system's Linux kernel is configured with the new (3.7+)
314           multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
315           kernel config), then it is necessary to specify a kernel load address
316           when building the uImage. This should be a hexadecimal string
317           beginning with 0x, for example: 0x00008000.
319           If unsure, let this option empty.
321 config BR2_LINUX_KERNEL_DTS_SUPPORT
322         bool "Build a Device Tree Blob (DTB)"
323         help
324           Compile one or more device tree sources into device tree blobs.
325           Select the dts files to compile in the options below.
327 if BR2_LINUX_KERNEL_DTS_SUPPORT
329 # We have mainly three cases when it comes to device tree support:
330 #   1) We don't want any support at all. Then the ..DTS_SUPPORT
331 #      variable won't be set
332 #   2) We want device tree support, so we need the user to enter the
333 #      device tree name or the path to the custom device he uses, but
334 #      the kernel abstracts this from us and only build an image that
335 #      looks like a regular kernel image. In this case, we only need
336 #      to derive the kernel image name from the given device tree
337 #      name, and all the rest is as usual
338 #   3) We want device tree support, but the kernel requires us to
339 #      build the device tree blob separately. In this case, some
340 #      more logic will be needed.
341 # The variable below address the second case, were you only want
342 # limited actions from buildroot.
343 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
344         bool
346 config BR2_LINUX_KERNEL_APPENDED_DTB
347         bool
349 choice
350         prompt "Device tree source"
351         default BR2_LINUX_KERNEL_USE_INTREE_DTS
353 config BR2_LINUX_KERNEL_USE_INTREE_DTS
354         bool "Use a device tree present in the kernel."
355         help
356           Use a device tree source distributed with
357           the kernel sources. The dts files are located
358           in the arch/<arch>/boot/dts folder.
360 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
361         bool "Use a custom device tree file"
362         help
363           Use a custom device tree file, i.e, a device
364           tree file that does not belong to the kernel
365           source tree.
366 endchoice
368 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
369         string "Device Tree Source file names"
370         depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
371         help
372           Name of the device tree source file, without
373           the trailing .dts. You can provide a list of
374           dts files to build, separated by spaces.
376 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
377         string "Device Tree Source file paths"
378         depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
379         help
380           Path to the device tree source files. You can
381           provide a list of dts paths to copy and build,
382           separated by spaces.
384 endif
386 config BR2_LINUX_KERNEL_INSTALL_TARGET
387         bool "Install kernel image to /boot in target"
388         depends on !BR2_TARGET_ROOTFS_INITRAMFS
389         help
390           Select this option to have the kernel image installed to
391           /boot in the target root filesystem, as is typically done on
392           x86/x86_64 systems.
394           Note that this option also installs the Device Tree Blobs to
395           /boot if DTBs have been generated by the kernel build
396           process.
398 # Linux extensions
399 source "linux/Config.ext.in"
401 # Linux tools
402 source "package/linux-tools/Config.in"
404 endif # BR2_LINUX_KERNEL
406 endmenu