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 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
59 config BR2_LINUX_KERNEL_CUSTOM_GIT
60 bool "Custom Git repository"
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"
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"
74 This option allows Buildroot to get the Linux kernel source
75 code from a local directory.
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
99 Revision to use in the typical format used by Git/Mercurial
100 E.G. a sha id, a tag, branch, ..
104 config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
105 string "Path to the local directory"
106 depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
108 Path to the local directory with the Linux kernel source code.
110 config BR2_LINUX_KERNEL_VERSION
112 default "4.1" 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
125 config BR2_LINUX_KERNEL_PATCH
126 string "Custom kernel patches"
127 depends on !BR2_LINUX_KERNEL_CUSTOM_LOCAL
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
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"
150 config BR2_LINUX_KERNEL_DEFCONFIG
151 string "Defconfig name"
152 depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
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
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"
170 A space-separated list of kernel configuration fragment files,
171 that will be merged to the main kernel configuration file.
177 config BR2_LINUX_KERNEL_UBOOT_IMAGE
181 prompt "Kernel binary format"
183 config BR2_LINUX_KERNEL_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
200 depends on BR2_i386 || BR2_x86_64
202 config BR2_LINUX_KERNEL_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
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
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
230 depends on BR2_microblaze
231 select BR2_LINUX_KERNEL_UBOOT_IMAGE
233 config BR2_LINUX_KERNEL_VMLINUX_BIN
235 depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
237 config BR2_LINUX_KERNEL_VMLINUX
240 config BR2_LINUX_KERNEL_VMLINUZ
242 depends on BR2_mips || BR2_mipsel
244 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
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
257 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
258 string "Kernel image target name"
259 depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
261 Specify the kernel make target to build the kernel that you
264 config BR2_LINUX_KERNEL_IMAGE_NAME
265 string "Kernel image name"
266 depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
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
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)"
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
312 config BR2_LINUX_KERNEL_APPENDED_DTB
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."
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"
329 Use a custom device tree file, i.e, a device
330 tree file that does not belong to the kernel
334 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
335 string "Device Tree Source file names"
336 depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
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
346 Path to the device tree source files. You can
347 provide a list of dts paths to copy and build,
352 config BR2_LINUX_KERNEL_INSTALL_TARGET
353 bool "Install kernel image to /boot in target"
354 depends on !BR2_TARGET_ROOTFS_INITRAMFS
356 Select this option to have the kernel image installed to
357 /boot in the target root filesystem, as is typically done on
360 Note that this option also installs the Device Tree Blobs to
361 /boot if DTBs have been generated by the kernel build
365 source "linux/Config.ext.in"
367 endif # BR2_LINUX_KERNEL