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.14.4" 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_UIMAGE_LOADADDR
248 string "load address (for 3.7+ multi-platform image)"
249 depends on BR2_arm || BR2_armeb
250 depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
252 If your ARM system's Linux kernel is configured with the new (3.7+)
253 multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
254 kernel config), then it is necessary to specify a kernel load address
255 when building the uImage. This should be a hexadecimal string
256 beginning with 0x, for example: 0x00008000.
258 If unsure, let this option empty.
260 config BR2_LINUX_KERNEL_DTS_SUPPORT
261 bool "Device tree support"
263 Compile a device tree source into a device tree blob.
264 Select the dts file to compile in the options below.
266 if BR2_LINUX_KERNEL_DTS_SUPPORT
268 # We have mainly three cases when it comes to device tree support:
269 # 1) We don't want any support at all. Then the ..DTS_SUPPORT
270 # variable won't be set
271 # 2) We want device tree support, so we need the user to enter
272 # the device tree name or the the path to the custom device
273 # he uses, but the kernel abstracts this from us and only
274 # build an image that looks like a regular kernel image. In
275 # this case, we only need to derive the kernel image name from
276 # the given device tree name, and all the rest is as usual
277 # 3) We want device tree support, but the kernel requires us to
278 # build the device tree blob separately. In this case, some
279 # more logic will be needed.
280 # The variable below address the second case, were you only want
281 # limited actions from buildroot.
282 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
285 config BR2_LINUX_KERNEL_APPENDED_DTB
289 prompt "Device tree source"
290 default BR2_LINUX_KERNEL_USE_INTREE_DTS
292 config BR2_LINUX_KERNEL_USE_INTREE_DTS
293 bool "Use a device tree present in the kernel."
295 Use a device tree source distributed with
296 the kernel sources. The dts files are located
297 in the arch/<arch>/boot/dts folder.
299 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
300 bool "Use a custom device tree file"
302 Use a custom device tree file, i.e, a device
303 tree file that does not belong to the kernel
307 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
308 string "Device Tree Source file names"
309 depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
311 Name of the device tree source file, without
312 the trailing .dts. You can provide a list of
313 dts files to build, separated by spaces.
315 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
316 string "Device Tree Source file path"
317 depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
319 Path to the device tree source file
323 config BR2_LINUX_KERNEL_INSTALL_TARGET
324 bool "Install kernel image to /boot in target"
325 depends on !BR2_TARGET_ROOTFS_INITRAMFS
327 Select this option to have the kernel image installed to
328 /boot in the target root filesystem, as is typically done on
331 Note that this option also installs the Device Tree Blobs to
332 /boot if DTBs have been generated by the kernel build
336 source "linux/Config.ext.in"
338 endif # BR2_LINUX_KERNEL