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 config BR2_LINUX_KERNEL_CUSTOM_TARBALL
46 This option allows to specify the http or ftp location of a
47 specific kernel source tarball
49 config BR2_LINUX_KERNEL_CUSTOM_GIT
50 bool "Custom Git repository"
52 This option allows Buildroot to get the Linux kernel source
53 code from a Git repository.
55 config BR2_LINUX_KERNEL_CUSTOM_HG
56 bool "Custom Mercurial repository"
58 This option allows Buildroot to get the Linux kernel source
59 code from a Mercurial repository.
63 config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
64 string "Kernel version"
65 depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
67 config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
68 string "URL of custom kernel tarball"
69 depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
71 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
73 config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
74 string "URL of custom repository"
75 default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
76 if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != "" # legacy
78 config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
79 string "Custom repository version"
80 default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
81 if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy
83 Revision to use in the typical format used by Git/Mercurial
84 E.G. a sha id, a tag, branch, ..
88 config BR2_LINUX_KERNEL_VERSION
90 default "3.12.6" if BR2_LINUX_KERNEL_LATEST_VERSION
91 default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
92 default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
93 if BR2_LINUX_KERNEL_CUSTOM_VERSION
94 default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
95 default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
96 if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
102 config BR2_LINUX_KERNEL_PATCH
103 string "Custom kernel patches"
105 A space-separated list of patches to apply to the
106 kernel. Each patch can be described as an URL, a local file
107 path, or a directory. In the case of a directory, all files
108 matching linux-*.patch in the directory will be applied.
111 # Configuration selection
115 prompt "Kernel configuration"
116 default BR2_LINUX_KERNEL_USE_DEFCONFIG
118 config BR2_LINUX_KERNEL_USE_DEFCONFIG
119 bool "Using a defconfig"
121 config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
122 bool "Using a custom config file"
126 config BR2_LINUX_KERNEL_DEFCONFIG
127 string "Defconfig name"
128 depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
130 Name of the kernel defconfig file to use, without the
131 trailing _defconfig. The defconfig is located in
132 arch/<arch>/configs in the kernel tree.
134 config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
135 string "Configuration file path"
136 depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
138 Path to the kernel configuration file
144 config BR2_LINUX_KERNEL_UBOOT_IMAGE
148 prompt "Kernel binary format"
150 config BR2_LINUX_KERNEL_UIMAGE
152 depends on BR2_arm || BR2_armeb || BR2_bfin || BR2_powerpc || BR2_avr32 || BR2_sh || BR2_sh64
153 select BR2_LINUX_KERNEL_UBOOT_IMAGE
155 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
156 bool "uImage with appended DT"
157 depends on BR2_arm || BR2_armeb
158 select BR2_LINUX_KERNEL_DTS_SUPPORT
159 select BR2_LINUX_KERNEL_APPENDED_DTB
160 select BR2_LINUX_KERNEL_UBOOT_IMAGE
162 config BR2_LINUX_KERNEL_BZIMAGE
164 depends on BR2_i386 || BR2_x86_64
166 config BR2_LINUX_KERNEL_ZIMAGE
168 depends on BR2_arm || BR2_armeb || BR2_powerpc || BR2_sparc || \
169 BR2_sh || BR2_sh64 || BR2_xtensa
171 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
172 bool "zImage with appended DT"
173 depends on BR2_arm || BR2_armeb
174 select BR2_LINUX_KERNEL_DTS_SUPPORT
175 select BR2_LINUX_KERNEL_APPENDED_DTB
177 config BR2_LINUX_KERNEL_CUIMAGE
179 depends on BR2_powerpc
180 select BR2_LINUX_KERNEL_UBOOT_IMAGE
181 select BR2_LINUX_KERNEL_DTS_SUPPORT
182 select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
184 config BR2_LINUX_KERNEL_SIMPLEIMAGE
186 depends on BR2_microblaze
187 select BR2_LINUX_KERNEL_UBOOT_IMAGE
188 select BR2_LINUX_KERNEL_DTS_SUPPORT
189 select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
191 config BR2_LINUX_KERNEL_LINUX_BIN
193 depends on BR2_microblaze
194 select BR2_LINUX_KERNEL_UBOOT_IMAGE
195 select BR2_LINUX_KERNEL_DTS_SUPPORT
196 select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
198 config BR2_LINUX_KERNEL_VMLINUX_BIN
200 depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
202 config BR2_LINUX_KERNEL_VMLINUX
205 config BR2_LINUX_KERNEL_VMLINUZ
207 depends on BR2_mips || BR2_mipsel
209 config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
212 For certain cases a board-specific target image must be
213 used. For example, on powerPC where the OpenFirmware
214 description is attached in a board-specific kernel image
215 target like 'cuImage.mpc8379_rdb'.
217 Select this option and specify the make target in "Kernel
222 config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
223 string "Kernel image target name"
224 depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
226 Specify the kernel make target to build the kernel that you
229 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
230 string "load address (for 3.7+ multi-platform image)"
231 depends on BR2_arm || BR2_armeb
232 depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
234 If your ARM system's Linux kernel is configured with the new (3.7+)
235 multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
236 kernel config), then it is necessary to specify a kernel load address
237 when building the uImage. This should be a hexadecimal string
238 beginning with 0x, for example: 0x00008000.
240 If unsure, let this option empty.
242 config BR2_LINUX_KERNEL_DTS_SUPPORT
243 bool "Device tree support"
245 Compile a device tree source into a device tree blob.
246 Select the dts file to compile in the options below.
248 if BR2_LINUX_KERNEL_DTS_SUPPORT
250 # We have mainly three cases when it comes to device tree support:
251 # 1) We don't want any support at all. Then the ..DTS_SUPPORT
252 # variable won't be set
253 # 2) We want device tree support, so we need the user to enter
254 # the device tree name or the the path to the custom device
255 # he uses, but the kernel abstracts this from us and only
256 # build an image that looks like a regular kernel image. In
257 # this case, we only need to derive the kernel image name from
258 # the given device tree name, and all the rest is as usual
259 # 3) We want device tree support, but the kernel requires us to
260 # build the device tree blob separately. In this case, some
261 # more logic will be needed.
262 # The variable below address the second case, were you only want
263 # limited actions from buildroot.
264 config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
267 config BR2_LINUX_KERNEL_APPENDED_DTB
271 prompt "Device tree source"
272 default BR2_LINUX_KERNEL_USE_INTREE_DTS
274 config BR2_LINUX_KERNEL_USE_INTREE_DTS
275 bool "Use a device tree present in the kernel."
277 Use a device tree source distributed with
278 the kernel sources. The dts files are located
279 in the arch/<arch>/boot/dts folder.
281 config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
282 bool "Use a custom device tree file"
284 Use a custom device tree file, i.e, a device
285 tree file that does not belong to the kernel
289 config BR2_LINUX_KERNEL_INTREE_DTS_NAME
290 string "Device Tree Source file names"
291 depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
293 Name of the device tree source file, without
294 the trailing .dts. You can provide a list of
295 dts files to build, separated by spaces.
297 config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
298 string "Device Tree Source file path"
299 depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
301 Path to the device tree source file
305 config BR2_LINUX_KERNEL_INSTALL_TARGET
306 bool "Install kernel image to /boot in target"
307 depends on !BR2_TARGET_ROOTFS_INITRAMFS
309 Select this option to have the kernel image installed to
310 /boot in the target root filesystem, as is typically done on
313 Note that this option also installs the Device Tree Blobs to
314 /boot if DTBs have been generated by the kernel build
318 source "linux/Config.ext.in"
320 endif # BR2_LINUX_KERNEL