package/redis: Add redis system user
[buildroot-gz.git] / linux / Config.in
blob74af51d44c9b674e2599df7064e4d4ca5f893574
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
12 # Version selection. We provide the choice between:
14 #  1. A single fairly recent stable kernel version
15 #  2. In case an internal toolchain has been built, the same kernel
16 #     version as the kernel headers
17 #  3. A custom stable version
18 #  4. A custom tarball
20 choice
21         prompt "Kernel version"
23 config BR2_LINUX_KERNEL_LATEST_VERSION
24         bool "4.1.3"
26 config BR2_LINUX_KERNEL_SAME_AS_HEADERS
27         bool "Same as toolchain kernel headers"
28         depends on BR2_TOOLCHAIN_BUILDROOT
29         help
30           This option will re-use the same kernel sources as the one
31           that have been used for the kernel headers of the
32           cross-compiling toolchain. Having the same version for the
33           kernel running on the system and for the kernel headers is
34           not a requirement, but using the same version allows to
35           download only one tarball of the kernel sources.
37 config BR2_LINUX_KERNEL_CUSTOM_VERSION
38         bool "Custom version"
39         help
40           This option allows to use a specific official version from
41           kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
43           Note: you cannot use this option to select a _longterm_ 2.6
44           kernel, because these kernels are not located at the standard
45           URL at kernel.org. Instead, select "Custom tarball" and
46           specify the right URL directly.
48 config BR2_LINUX_KERNEL_CUSTOM_TARBALL
49         bool "Custom tarball"
50         help
51           This option allows to specify a URL pointing to a kernel source
52           tarball. This URL can use any protocol recognized by Buildroot,
53           like http://, ftp://, file:// or scp://.
55           When pointing to a local tarball using file://, you may want to
56           use a make variable like $(TOPDIR) to reference the root of the
57           Buildroot tree.
59 config BR2_LINUX_KERNEL_CUSTOM_GIT
60         bool "Custom Git repository"
61         help
62           This option allows Buildroot to get the Linux kernel source
63           code from a Git repository.
65 config BR2_LINUX_KERNEL_CUSTOM_HG
66         bool "Custom Mercurial repository"
67         help
68           This option allows Buildroot to get the Linux kernel source
69           code from a Mercurial repository.
71 config BR2_LINUX_KERNEL_CUSTOM_LOCAL
72         bool "Local directory"
73         help
74           This option allows Buildroot to get the Linux kernel source
75           code from a local directory.
77 endchoice
79 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
80         string "Kernel version"
81         depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
83 config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
84         string "URL of custom kernel tarball"
85         depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
87 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
89 config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
90         string "URL of custom repository"
91         default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
92                 if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != ""  # legacy
94 config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
95         string "Custom repository version"
96         default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
97                 if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != ""  # legacy
98         help
99           Revision to use in the typical format used by Git/Mercurial
100           E.G. a sha id, a tag, branch, ..
102 endif
104 config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
105         string "Path to the local directory"
106         depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
107         help
108           Path to the local directory with the Linux kernel source code.
110 config BR2_LINUX_KERNEL_VERSION
111         string
112         default "4.1.3" if BR2_LINUX_KERNEL_LATEST_VERSION
113         default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
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
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_CUSTOM_CONFIG
146         bool "Using a custom (def)config file"
148 endchoice
150 config BR2_LINUX_KERNEL_DEFCONFIG
151         string "Defconfig name"
152         depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
153         help
154           Name of the kernel defconfig file to use, without the
155           trailing _defconfig.  The defconfig is located in
156           arch/<arch>/configs in the kernel tree.
158 config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
159         string "Configuration file path"
160         depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
161         help
162           Path to the kernel configuration file
164           Note: this can be a defconfig file or a complete .config file,
165           which can later be saved back with make linux-update-(def)config.
167 config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
168         string "Additional configuration fragment files"
169         help
170           A space-separated list of kernel configuration fragment files,
171           that will be merged to the main kernel configuration file.
174 # Binary format
177 config BR2_LINUX_KERNEL_UBOOT_IMAGE
178         bool
180 choice
181         prompt "Kernel binary format"
183 config BR2_LINUX_KERNEL_UIMAGE
184         bool "uImage"
185         depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
186                    BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
187                    BR2_sh || BR2_sh64 || BR2_mips || BR2_mipsel || \
188                    BR2_mips64 || BR2_mips64el
189         select BR2_LINUX_KERNEL_UBOOT_IMAGE
191 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
192         bool "uImage with appended DT"
193         depends on BR2_arm || BR2_armeb
194         select BR2_LINUX_KERNEL_DTS_SUPPORT
195         select BR2_LINUX_KERNEL_APPENDED_DTB
196         select BR2_LINUX_KERNEL_UBOOT_IMAGE
198 config BR2_LINUX_KERNEL_BZIMAGE
199         bool "bzImage"
200         depends on BR2_i386 || BR2_x86_64
202 config BR2_LINUX_KERNEL_ZIMAGE
203         bool "zImage"
204         depends on BR2_arm || BR2_armeb || BR2_powerpc || \
205                    BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
206                    BR2_sh || BR2_sh64 || BR2_xtensa
208 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
209         bool "zImage with appended DT"
210         depends on BR2_arm || BR2_armeb
211         select BR2_LINUX_KERNEL_DTS_SUPPORT
212         select BR2_LINUX_KERNEL_APPENDED_DTB
214 config BR2_LINUX_KERNEL_CUIMAGE
215         bool "cuImage"
216         depends on BR2_powerpc
217         select BR2_LINUX_KERNEL_UBOOT_IMAGE
218         select BR2_LINUX_KERNEL_DTS_SUPPORT
219         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
221 config BR2_LINUX_KERNEL_SIMPLEIMAGE
222         bool "simpleImage"
223         depends on BR2_microblaze
224         select BR2_LINUX_KERNEL_UBOOT_IMAGE
225         select BR2_LINUX_KERNEL_DTS_SUPPORT
226         select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
228 config BR2_LINUX_KERNEL_LINUX_BIN
229         bool "linux.bin"
230         depends on BR2_microblaze
231         select BR2_LINUX_KERNEL_UBOOT_IMAGE
233 config BR2_LINUX_KERNEL_VMLINUX_BIN
234         bool "vmlinux.bin"
235         depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
237 config BR2_LINUX_KERNEL_VMLINUX
238         bool "vmlinux"
240 config BR2_LINUX_KERNEL_VMLINUZ
241         bool "vmlinuz"
242         depends on BR2_mips || BR2_mipsel
244 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
245         bool "custom target"
246         help
247           For certain cases a board-specific target image must be
248           used.  For example, on powerPC where the OpenFirmware
249           description is attached in a board-specific kernel image
250           target like 'cuImage.mpc8379_rdb'.
252           Select this option and specify the make target in "Kernel
253           image target name".
255 endchoice
257 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
258         string "Kernel image target name"
259         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
260         help
261           Specify the kernel make target to build the kernel that you
262           need.
264 config BR2_LINUX_KERNEL_IMAGE_NAME
265         string "Kernel image name"
266         depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
267         help
268           The filename of the kernel image, if it is different from the
269           make target (above). Only Xtensa uses a filename different from
270           the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
272           If unsure, leave it empty.
274 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
275         string "load address (for 3.7+ multi-platform image)"
276         depends on BR2_arm || BR2_armeb
277         depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
278         help
279           If your ARM system's Linux kernel is configured with the new (3.7+)
280           multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
281           kernel config), then it is necessary to specify a kernel load address
282           when building the uImage. This should be a hexadecimal string
283           beginning with 0x, for example: 0x00008000.
285           If unsure, let this option empty.
287 config BR2_LINUX_KERNEL_DTS_SUPPORT
288         bool "Build a Device Tree Blob (DTB)"
289         help
290           Compile one or more device tree sources into device tree blobs.
291           Select the dts files to compile in the options below.
293 if BR2_LINUX_KERNEL_DTS_SUPPORT
295 # We have mainly three cases when it comes to device tree support:
296 #   1) We don't want any support at all. Then the ..DTS_SUPPORT
297 #      variable won't be set
298 #   2) We want device tree support, so we need the user to enter the
299 #      device tree name or the path to the custom device he uses, but
300 #      the kernel abstracts this from us and only build an image that
301 #      looks like a regular kernel image. In this case, we only need
302 #      to derive the kernel image name from the given device tree
303 #      name, and all the rest is as usual
304 #   3) We want device tree support, but the kernel requires us to
305 #      build the device tree blob separately. In this case, some
306 #      more logic will be needed.
307 # The variable below address the second case, were you only want
308 # limited actions from buildroot.
309 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
310         bool
312 config BR2_LINUX_KERNEL_APPENDED_DTB
313         bool
315 choice
316         prompt "Device tree source"
317         default BR2_LINUX_KERNEL_USE_INTREE_DTS
319 config BR2_LINUX_KERNEL_USE_INTREE_DTS
320         bool "Use a device tree present in the kernel."
321         help
322           Use a device tree source distributed with
323           the kernel sources. The dts files are located
324           in the arch/<arch>/boot/dts folder.
326 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
327         bool "Use a custom device tree file"
328         help
329           Use a custom device tree file, i.e, a device
330           tree file that does not belong to the kernel
331           source tree.
332 endchoice
334 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
335         string "Device Tree Source file names"
336         depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
337         help
338           Name of the device tree source file, without
339           the trailing .dts. You can provide a list of
340           dts files to build, separated by spaces.
342 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
343         string "Device Tree Source file paths"
344         depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
345         help
346           Path to the device tree source files. You can
347           provide a list of dts paths to copy and build,
348           separated by spaces.
350 endif
352 config BR2_LINUX_KERNEL_INSTALL_TARGET
353         bool "Install kernel image to /boot in target"
354         depends on !BR2_TARGET_ROOTFS_INITRAMFS
355         help
356           Select this option to have the kernel image installed to
357           /boot in the target root filesystem, as is typically done on
358           x86/x86_64 systems.
360           Note that this option also installs the Device Tree Blobs to
361           /boot if DTBs have been generated by the kernel build
362           process.
364 # Linux extensions
365 source "linux/Config.ext.in"
367 # Linux tools
368 source "linux/Config.tools.in"
370 endif # BR2_LINUX_KERNEL
372 endmenu