3 config BR2_LINUX_KERNEL
6 Enable this option if you want to build a Linux kernel for
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
21 prompt "Kernel version"
23 config BR2_LINUX_KERNEL_LATEST_VERSION
26 config BR2_LINUX_KERNEL_SAME_AS_HEADERS
27 bool "Same as toolchain kernel headers"
28 depends on BR2_TOOLCHAIN_BUILDROOT
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
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
51 This option allows to specify the http or ftp location of a
52 specific kernel source tarball
54 config BR2_LINUX_KERNEL_CUSTOM_GIT
55 bool "Custom Git repository"
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"
63 This option allows Buildroot to get the Linux kernel source
64 code from a Mercurial repository.
66 config BR2_LINUX_KERNEL_CUSTOM_LOCAL
67 bool "Local directory"
69 This option allows Buildroot to get the Linux kernel source
70 code from a local directory.
74 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
75 string "Kernel version"
76 depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
78 config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
79 string "URL of custom kernel tarball"
80 depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
82 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
84 config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
85 string "URL of custom repository"
86 default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
87 if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != "" # legacy
89 config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
90 string "Custom repository version"
91 default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
92 if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy
94 Revision to use in the typical format used by Git/Mercurial
95 E.G. a sha id, a tag, branch, ..
99 config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
100 string "Path to the local directory"
101 depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
103 Path to the local directory with the Linux kernel source code.
105 config BR2_LINUX_KERNEL_VERSION
107 default "3.16" if BR2_LINUX_KERNEL_LATEST_VERSION
108 default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
109 default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
110 if BR2_LINUX_KERNEL_CUSTOM_VERSION
111 default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
112 default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
113 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
114 default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
120 config BR2_LINUX_KERNEL_PATCH
121 string "Custom kernel patches"
123 A space-separated list of patches to apply to the
124 kernel. Each patch can be described as an URL, a local file
125 path, or a directory. In the case of a directory, all files
126 matching linux-*.patch in the directory will be applied.
129 # Configuration selection
133 prompt "Kernel configuration"
134 default BR2_LINUX_KERNEL_USE_DEFCONFIG
136 config BR2_LINUX_KERNEL_USE_DEFCONFIG
137 bool "Using a defconfig"
139 config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
140 bool "Using a custom config file"
144 config BR2_LINUX_KERNEL_DEFCONFIG
145 string "Defconfig name"
146 depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
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
156 Path to the kernel configuration file
162 config BR2_LINUX_KERNEL_UBOOT_IMAGE
166 prompt "Kernel binary format"
168 config BR2_LINUX_KERNEL_UIMAGE
170 depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
171 BR2_powerpc || BR2_avr32 || BR2_sh || BR2_sh64
172 select BR2_LINUX_KERNEL_UBOOT_IMAGE
174 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
175 bool "uImage with appended DT"
176 depends on BR2_arm || BR2_armeb
177 select BR2_LINUX_KERNEL_DTS_SUPPORT
178 select BR2_LINUX_KERNEL_APPENDED_DTB
179 select BR2_LINUX_KERNEL_UBOOT_IMAGE
181 config BR2_LINUX_KERNEL_BZIMAGE
183 depends on BR2_i386 || BR2_x86_64
185 config BR2_LINUX_KERNEL_ZIMAGE
187 depends on BR2_arm || BR2_armeb || BR2_powerpc || \
188 BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
189 BR2_sh || BR2_sh64 || BR2_xtensa
191 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
192 bool "zImage with appended DT"
193 depends on BR2_arm || BR2_armeb
194 select BR2_LINUX_KERNEL_DTS_SUPPORT
195 select BR2_LINUX_KERNEL_APPENDED_DTB
197 config BR2_LINUX_KERNEL_CUIMAGE
199 depends on BR2_powerpc
200 select BR2_LINUX_KERNEL_UBOOT_IMAGE
201 select BR2_LINUX_KERNEL_DTS_SUPPORT
202 select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
204 config BR2_LINUX_KERNEL_SIMPLEIMAGE
206 depends on BR2_microblaze
207 select BR2_LINUX_KERNEL_UBOOT_IMAGE
208 select BR2_LINUX_KERNEL_DTS_SUPPORT
209 select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
211 config BR2_LINUX_KERNEL_LINUX_BIN
213 depends on BR2_microblaze
214 select BR2_LINUX_KERNEL_UBOOT_IMAGE
216 config BR2_LINUX_KERNEL_VMLINUX_BIN
218 depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
220 config BR2_LINUX_KERNEL_VMLINUX
223 config BR2_LINUX_KERNEL_VMLINUZ
225 depends on BR2_mips || BR2_mipsel
227 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
230 For certain cases a board-specific target image must be
231 used. For example, on powerPC where the OpenFirmware
232 description is attached in a board-specific kernel image
233 target like 'cuImage.mpc8379_rdb'.
235 Select this option and specify the make target in "Kernel
240 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
241 string "Kernel image target name"
242 depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
244 Specify the kernel make target to build the kernel that you
247 config BR2_LINUX_KERNEL_IMAGE_NAME
248 string "Kernel image name"
249 depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
251 The filename of the kernel image, if it is different from the
252 make target (above). Only Xtensa uses a filename different from
253 the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
255 If unsure, leave it empty.
257 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
258 string "load address (for 3.7+ multi-platform image)"
259 depends on BR2_arm || BR2_armeb
260 depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
262 If your ARM system's Linux kernel is configured with the new (3.7+)
263 multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
264 kernel config), then it is necessary to specify a kernel load address
265 when building the uImage. This should be a hexadecimal string
266 beginning with 0x, for example: 0x00008000.
268 If unsure, let this option empty.
270 config BR2_LINUX_KERNEL_DTS_SUPPORT
271 bool "Device tree support"
273 Compile a device tree source into a device tree blob.
274 Select the dts file to compile in the options below.
276 if BR2_LINUX_KERNEL_DTS_SUPPORT
278 # We have mainly three cases when it comes to device tree support:
279 # 1) We don't want any support at all. Then the ..DTS_SUPPORT
280 # variable won't be set
281 # 2) We want device tree support, so we need the user to enter
282 # the device tree name or the the path to the custom device
283 # he uses, but the kernel abstracts this from us and only
284 # build an image that looks like a regular kernel image. In
285 # this case, we only need to derive the kernel image name from
286 # the given device tree name, and all the rest is as usual
287 # 3) We want device tree support, but the kernel requires us to
288 # build the device tree blob separately. In this case, some
289 # more logic will be needed.
290 # The variable below address the second case, were you only want
291 # limited actions from buildroot.
292 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
295 config BR2_LINUX_KERNEL_APPENDED_DTB
299 prompt "Device tree source"
300 default BR2_LINUX_KERNEL_USE_INTREE_DTS
302 config BR2_LINUX_KERNEL_USE_INTREE_DTS
303 bool "Use a device tree present in the kernel."
305 Use a device tree source distributed with
306 the kernel sources. The dts files are located
307 in the arch/<arch>/boot/dts folder.
309 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
310 bool "Use a custom device tree file"
312 Use a custom device tree file, i.e, a device
313 tree file that does not belong to the kernel
317 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
318 string "Device Tree Source file names"
319 depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
321 Name of the device tree source file, without
322 the trailing .dts. You can provide a list of
323 dts files to build, separated by spaces.
325 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
326 string "Device Tree Source file paths"
327 depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
329 Path to the device tree source files. You can
330 provide a list of dts paths to copy and build,
335 config BR2_LINUX_KERNEL_INSTALL_TARGET
336 bool "Install kernel image to /boot in target"
337 depends on !BR2_TARGET_ROOTFS_INITRAMFS
339 Select this option to have the kernel image installed to
340 /boot in the target root filesystem, as is typically done on
343 Note that this option also installs the Device Tree Blobs to
344 /boot if DTBs have been generated by the kernel build
348 source "linux/Config.ext.in"
350 endif # BR2_LINUX_KERNEL