Config.in 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  1. menu "Kernel"
  2. config BR2_LINUX_KERNEL
  3. bool "Linux Kernel"
  4. help
  5. Enable this option if you want to build a Linux kernel for
  6. your embedded device
  7. if BR2_LINUX_KERNEL
  8. # Packages that need to have a kernel with support for loadable modules,
  9. # but do not use the kernel-modules infrastructure, should select that
  10. # option.
  11. config BR2_LINUX_NEEDS_MODULES
  12. bool
  13. #
  14. # Version selection. We provide the choice between:
  15. #
  16. # 1. A single fairly recent stable kernel version
  17. # 2. In case an internal toolchain has been built, the same kernel
  18. # version as the kernel headers
  19. # 3. A custom stable version
  20. # 4. A custom tarball
  21. #
  22. choice
  23. prompt "Kernel version"
  24. config BR2_LINUX_KERNEL_LATEST_VERSION
  25. bool "4.4"
  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.
  36. config BR2_LINUX_KERNEL_CUSTOM_VERSION
  37. bool "Custom version"
  38. help
  39. This option allows to use a specific official version from
  40. kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
  41. Note: you cannot use this option to select a _longterm_ 2.6
  42. kernel, because these kernels are not located at the standard
  43. URL at kernel.org. Instead, select "Custom tarball" and
  44. specify the right URL directly.
  45. config BR2_LINUX_KERNEL_CUSTOM_TARBALL
  46. bool "Custom tarball"
  47. help
  48. This option allows to specify a URL pointing to a kernel source
  49. tarball. This URL can use any protocol recognized by Buildroot,
  50. like http://, ftp://, file:// or scp://.
  51. When pointing to a local tarball using file://, you may want to
  52. use a make variable like $(TOPDIR) to reference the root of the
  53. Buildroot tree.
  54. config BR2_LINUX_KERNEL_CUSTOM_GIT
  55. bool "Custom Git repository"
  56. help
  57. This option allows Buildroot to get the Linux kernel source
  58. code from a Git repository.
  59. config BR2_LINUX_KERNEL_CUSTOM_HG
  60. bool "Custom Mercurial repository"
  61. help
  62. This option allows Buildroot to get the Linux kernel source
  63. code from a Mercurial repository.
  64. config BR2_LINUX_KERNEL_CUSTOM_LOCAL
  65. bool "Local directory"
  66. help
  67. This option allows Buildroot to get the Linux kernel source
  68. code from a local directory.
  69. endchoice
  70. config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
  71. string "Kernel version"
  72. depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
  73. config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
  74. string "URL of custom kernel tarball"
  75. depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
  76. if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
  77. config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
  78. string "URL of custom repository"
  79. default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
  80. if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != "" # legacy
  81. config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
  82. string "Custom repository version"
  83. default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
  84. if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy
  85. help
  86. Revision to use in the typical format used by Git/Mercurial
  87. E.G. a sha id, a tag, branch, ..
  88. endif
  89. config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
  90. string "Path to the local directory"
  91. depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
  92. help
  93. Path to the local directory with the Linux kernel source code.
  94. config BR2_LINUX_KERNEL_VERSION
  95. string
  96. default "4.4" if BR2_LINUX_KERNEL_LATEST_VERSION
  97. default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
  98. default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
  99. if BR2_LINUX_KERNEL_CUSTOM_VERSION
  100. default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
  101. default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
  102. if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
  103. default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
  104. #
  105. # Patch selection
  106. #
  107. config BR2_LINUX_KERNEL_PATCH
  108. string "Custom kernel patches"
  109. depends on !BR2_LINUX_KERNEL_CUSTOM_LOCAL
  110. help
  111. A space-separated list of patches to apply to the
  112. kernel. Each patch can be described as an URL, a local file
  113. path, or a directory. In the case of a directory, all files
  114. matching *.patch in the directory will be applied.
  115. #
  116. # Configuration selection
  117. #
  118. choice
  119. prompt "Kernel configuration"
  120. default BR2_LINUX_KERNEL_USE_DEFCONFIG
  121. config BR2_LINUX_KERNEL_USE_DEFCONFIG
  122. bool "Using an in-tree defconfig file"
  123. config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
  124. bool "Using a custom (def)config file"
  125. endchoice
  126. config BR2_LINUX_KERNEL_DEFCONFIG
  127. string "Defconfig name"
  128. depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
  129. help
  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.
  133. config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
  134. string "Configuration file path"
  135. depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
  136. help
  137. Path to the kernel configuration file
  138. Note: this can be a defconfig file or a complete .config file,
  139. which can later be saved back with make linux-update-(def)config.
  140. config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
  141. string "Additional configuration fragment files"
  142. help
  143. A space-separated list of kernel configuration fragment files,
  144. that will be merged to the main kernel configuration file.
  145. #
  146. # Binary format
  147. #
  148. config BR2_LINUX_KERNEL_UBOOT_IMAGE
  149. bool
  150. choice
  151. prompt "Kernel binary format"
  152. config BR2_LINUX_KERNEL_UIMAGE
  153. bool "uImage"
  154. depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
  155. BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
  156. BR2_sh || BR2_sh64 || BR2_mips || BR2_mipsel || \
  157. BR2_mips64 || BR2_mips64el
  158. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  159. config BR2_LINUX_KERNEL_APPENDED_UIMAGE
  160. bool "uImage with appended DT"
  161. depends on BR2_arm || BR2_armeb
  162. select BR2_LINUX_KERNEL_DTS_SUPPORT
  163. select BR2_LINUX_KERNEL_APPENDED_DTB
  164. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  165. config BR2_LINUX_KERNEL_BZIMAGE
  166. bool "bzImage"
  167. depends on BR2_i386 || BR2_x86_64
  168. config BR2_LINUX_KERNEL_ZIMAGE
  169. bool "zImage"
  170. depends on BR2_arm || BR2_armeb || BR2_powerpc || \
  171. BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
  172. BR2_sh || BR2_sh64 || BR2_xtensa
  173. config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
  174. bool "zImage.epapr"
  175. depends on BR2_powerpc64 || BR2_powerpc64le
  176. config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
  177. bool "zImage with appended DT"
  178. depends on BR2_arm || BR2_armeb
  179. select BR2_LINUX_KERNEL_DTS_SUPPORT
  180. select BR2_LINUX_KERNEL_APPENDED_DTB
  181. config BR2_LINUX_KERNEL_CUIMAGE
  182. bool "cuImage"
  183. depends on BR2_powerpc
  184. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  185. select BR2_LINUX_KERNEL_DTS_SUPPORT
  186. select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  187. config BR2_LINUX_KERNEL_SIMPLEIMAGE
  188. bool "simpleImage"
  189. depends on BR2_microblaze
  190. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  191. select BR2_LINUX_KERNEL_DTS_SUPPORT
  192. select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  193. config BR2_LINUX_KERNEL_IMAGE
  194. bool "Image"
  195. depends on BR2_aarch64
  196. config BR2_LINUX_KERNEL_LINUX_BIN
  197. bool "linux.bin"
  198. depends on BR2_microblaze
  199. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  200. config BR2_LINUX_KERNEL_VMLINUX_BIN
  201. bool "vmlinux.bin"
  202. depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
  203. config BR2_LINUX_KERNEL_VMLINUX
  204. bool "vmlinux"
  205. config BR2_LINUX_KERNEL_VMLINUZ
  206. bool "vmlinuz"
  207. depends on BR2_mips || BR2_mipsel
  208. config BR2_LINUX_KERNEL_VMLINUZ_BIN
  209. bool "vmlinuz.bin"
  210. depends on BR2_mips || BR2_mipsel
  211. config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
  212. bool "custom target"
  213. help
  214. For certain cases a board-specific target image must be
  215. used. For example, on powerPC where the OpenFirmware
  216. description is attached in a board-specific kernel image
  217. target like 'cuImage.mpc8379_rdb'.
  218. Select this option and specify the make target in "Kernel
  219. image target name".
  220. endchoice
  221. #
  222. # Kernel compression format
  223. #
  224. choice
  225. prompt "Kernel compression format"
  226. help
  227. This selection will just ensure that the correct host tools are build.
  228. The actual compression for the kernel should be selected in the
  229. kernel configuration menu.
  230. config BR2_LINUX_KERNEL_GZIP
  231. bool "gzip compression"
  232. config BR2_LINUX_KERNEL_LZ4
  233. bool "lz4 compression"
  234. config BR2_LINUX_KERNEL_LZMA
  235. bool "lzma compression"
  236. config BR2_LINUX_KERNEL_LZO
  237. bool "lzo compression"
  238. config BR2_LINUX_KERNEL_XZ
  239. bool "xz compression"
  240. endchoice
  241. config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
  242. string "Kernel image target name"
  243. depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
  244. help
  245. Specify the kernel make target to build the kernel that you
  246. need.
  247. config BR2_LINUX_KERNEL_IMAGE_NAME
  248. string "Kernel image name"
  249. depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
  250. help
  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.
  254. If unsure, leave it empty.
  255. config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
  256. string "load address (for 3.7+ multi-platform image)"
  257. depends on BR2_arm || BR2_armeb
  258. depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
  259. help
  260. If your ARM system's Linux kernel is configured with the new (3.7+)
  261. multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
  262. kernel config), then it is necessary to specify a kernel load address
  263. when building the uImage. This should be a hexadecimal string
  264. beginning with 0x, for example: 0x00008000.
  265. If unsure, let this option empty.
  266. config BR2_LINUX_KERNEL_DTS_SUPPORT
  267. bool "Build a Device Tree Blob (DTB)"
  268. help
  269. Compile one or more device tree sources into device tree blobs.
  270. Select the dts files to compile in the options below.
  271. if BR2_LINUX_KERNEL_DTS_SUPPORT
  272. # We have mainly three cases when it comes to device tree support:
  273. # 1) We don't want any support at all. Then the ..DTS_SUPPORT
  274. # variable won't be set
  275. # 2) We want device tree support, so we need the user to enter the
  276. # device tree name or the path to the custom device he uses, but
  277. # the kernel abstracts this from us and only build an image that
  278. # looks like a regular kernel image. In this case, we only need
  279. # to derive the kernel image name from the given device tree
  280. # name, and all the rest is as usual
  281. # 3) We want device tree support, but the kernel requires us to
  282. # build the device tree blob separately. In this case, some
  283. # more logic will be needed.
  284. # The variable below address the second case, were you only want
  285. # limited actions from buildroot.
  286. config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  287. bool
  288. config BR2_LINUX_KERNEL_APPENDED_DTB
  289. bool
  290. choice
  291. prompt "Device tree source"
  292. default BR2_LINUX_KERNEL_USE_INTREE_DTS
  293. config BR2_LINUX_KERNEL_USE_INTREE_DTS
  294. bool "Use a device tree present in the kernel."
  295. help
  296. Use a device tree source distributed with
  297. the kernel sources. The dts files are located
  298. in the arch/<arch>/boot/dts folder.
  299. config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
  300. bool "Use a custom device tree file"
  301. help
  302. Use a custom device tree file, i.e, a device
  303. tree file that does not belong to the kernel
  304. source tree.
  305. endchoice
  306. config BR2_LINUX_KERNEL_INTREE_DTS_NAME
  307. string "Device Tree Source file names"
  308. depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
  309. help
  310. Name of the device tree source file, without
  311. the trailing .dts. You can provide a list of
  312. dts files to build, separated by spaces.
  313. config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
  314. string "Device Tree Source file paths"
  315. depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
  316. help
  317. Path to the device tree source files. You can
  318. provide a list of dts paths to copy and build,
  319. separated by spaces.
  320. endif
  321. config BR2_LINUX_KERNEL_INSTALL_TARGET
  322. bool "Install kernel image to /boot in target"
  323. depends on !BR2_TARGET_ROOTFS_INITRAMFS
  324. help
  325. Select this option to have the kernel image installed to
  326. /boot in the target root filesystem, as is typically done on
  327. x86/x86_64 systems.
  328. Note that this option also installs the Device Tree Blobs to
  329. /boot if DTBs have been generated by the kernel build
  330. process.
  331. # Linux extensions
  332. source "linux/Config.ext.in"
  333. # Linux tools
  334. source "linux/Config.tools.in"
  335. endif # BR2_LINUX_KERNEL
  336. endmenu