Config.in 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  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. #
  9. # Version selection. We provide the choice between:
  10. #
  11. # 1. A single fairly recent stable kernel version
  12. # 2. In case an internal toolchain has been built, the same kernel
  13. # version as the kernel headers
  14. # 3. A custom stable version
  15. # 4. A custom tarball
  16. #
  17. choice
  18. prompt "Kernel version"
  19. config BR2_LINUX_KERNEL_LATEST_VERSION
  20. bool "3.13.2"
  21. config BR2_LINUX_KERNEL_SAME_AS_HEADERS
  22. bool "Same as toolchain kernel headers"
  23. depends on BR2_TOOLCHAIN_BUILDROOT
  24. help
  25. This option will re-use the same kernel sources as the one
  26. that have been used for the kernel headers of the
  27. cross-compiling toolchain. Having the same version for the
  28. kernel running on the system and for the kernel headers is
  29. not a requirement, but using the same version allows to
  30. download only one tarball of the kernel sources.
  31. config BR2_LINUX_KERNEL_CUSTOM_VERSION
  32. bool "Custom version"
  33. help
  34. This option allows to use a specific official version from
  35. kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
  36. Note: you cannot use this option to select a _longterm_ 2.6
  37. kernel, because these kernels are not located at the standard
  38. URL at kernel.org. Instead, select "Custom tarball" and
  39. specify the right URL directly.
  40. config BR2_LINUX_KERNEL_CUSTOM_TARBALL
  41. bool "Custom tarball"
  42. help
  43. This option allows to specify the http or ftp location of a
  44. specific kernel source tarball
  45. config BR2_LINUX_KERNEL_CUSTOM_GIT
  46. bool "Custom Git repository"
  47. help
  48. This option allows Buildroot to get the Linux kernel source
  49. code from a Git repository.
  50. config BR2_LINUX_KERNEL_CUSTOM_HG
  51. bool "Custom Mercurial repository"
  52. help
  53. This option allows Buildroot to get the Linux kernel source
  54. code from a Mercurial repository.
  55. config BR2_LINUX_KERNEL_CUSTOM_LOCAL
  56. bool "Local directory"
  57. help
  58. This option allows Buildroot to get the Linux kernel source
  59. code from a local directory.
  60. endchoice
  61. config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
  62. string "Kernel version"
  63. depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
  64. config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
  65. string "URL of custom kernel tarball"
  66. depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
  67. if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
  68. config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
  69. string "URL of custom repository"
  70. default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
  71. if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != "" # legacy
  72. config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
  73. string "Custom repository version"
  74. default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
  75. if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy
  76. help
  77. Revision to use in the typical format used by Git/Mercurial
  78. E.G. a sha id, a tag, branch, ..
  79. endif
  80. config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
  81. string "Path to the local directory"
  82. depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
  83. help
  84. Path to the local directory with the Linux kernel source code.
  85. config BR2_LINUX_KERNEL_VERSION
  86. string
  87. default "3.13.2" if BR2_LINUX_KERNEL_LATEST_VERSION
  88. default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
  89. default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
  90. if BR2_LINUX_KERNEL_CUSTOM_VERSION
  91. default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
  92. default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
  93. if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
  94. default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
  95. #
  96. # Patch selection
  97. #
  98. config BR2_LINUX_KERNEL_PATCH
  99. string "Custom kernel patches"
  100. help
  101. A space-separated list of patches to apply to the
  102. kernel. Each patch can be described as an URL, a local file
  103. path, or a directory. In the case of a directory, all files
  104. matching linux-*.patch in the directory will be applied.
  105. #
  106. # Configuration selection
  107. #
  108. choice
  109. prompt "Kernel configuration"
  110. default BR2_LINUX_KERNEL_USE_DEFCONFIG
  111. config BR2_LINUX_KERNEL_USE_DEFCONFIG
  112. bool "Using a defconfig"
  113. config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
  114. bool "Using a custom config file"
  115. endchoice
  116. config BR2_LINUX_KERNEL_DEFCONFIG
  117. string "Defconfig name"
  118. depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
  119. help
  120. Name of the kernel defconfig file to use, without the
  121. trailing _defconfig. The defconfig is located in
  122. arch/<arch>/configs in the kernel tree.
  123. config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
  124. string "Configuration file path"
  125. depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
  126. help
  127. Path to the kernel configuration file
  128. #
  129. # Binary format
  130. #
  131. config BR2_LINUX_KERNEL_UBOOT_IMAGE
  132. bool
  133. choice
  134. prompt "Kernel binary format"
  135. config BR2_LINUX_KERNEL_UIMAGE
  136. bool "uImage"
  137. depends on BR2_arm || BR2_armeb || BR2_bfin || BR2_powerpc || BR2_avr32 || BR2_sh || BR2_sh64
  138. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  139. config BR2_LINUX_KERNEL_APPENDED_UIMAGE
  140. bool "uImage with appended DT"
  141. depends on BR2_arm || BR2_armeb
  142. select BR2_LINUX_KERNEL_DTS_SUPPORT
  143. select BR2_LINUX_KERNEL_APPENDED_DTB
  144. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  145. config BR2_LINUX_KERNEL_BZIMAGE
  146. bool "bzImage"
  147. depends on BR2_i386 || BR2_x86_64
  148. config BR2_LINUX_KERNEL_ZIMAGE
  149. bool "zImage"
  150. depends on BR2_arm || BR2_armeb || BR2_powerpc || BR2_sparc || \
  151. BR2_sh || BR2_sh64 || BR2_xtensa
  152. config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
  153. bool "zImage with appended DT"
  154. depends on BR2_arm || BR2_armeb
  155. select BR2_LINUX_KERNEL_DTS_SUPPORT
  156. select BR2_LINUX_KERNEL_APPENDED_DTB
  157. config BR2_LINUX_KERNEL_CUIMAGE
  158. bool "cuImage"
  159. depends on BR2_powerpc
  160. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  161. select BR2_LINUX_KERNEL_DTS_SUPPORT
  162. select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  163. config BR2_LINUX_KERNEL_SIMPLEIMAGE
  164. bool "simpleImage"
  165. depends on BR2_microblaze
  166. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  167. select BR2_LINUX_KERNEL_DTS_SUPPORT
  168. select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  169. config BR2_LINUX_KERNEL_LINUX_BIN
  170. bool "linux.bin"
  171. depends on BR2_microblaze
  172. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  173. select BR2_LINUX_KERNEL_DTS_SUPPORT
  174. select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  175. config BR2_LINUX_KERNEL_VMLINUX_BIN
  176. bool "vmlinux.bin"
  177. depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
  178. config BR2_LINUX_KERNEL_VMLINUX
  179. bool "vmlinux"
  180. config BR2_LINUX_KERNEL_VMLINUZ
  181. bool "vmlinuz"
  182. depends on BR2_mips || BR2_mipsel
  183. config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
  184. bool "custom target"
  185. help
  186. For certain cases a board-specific target image must be
  187. used. For example, on powerPC where the OpenFirmware
  188. description is attached in a board-specific kernel image
  189. target like 'cuImage.mpc8379_rdb'.
  190. Select this option and specify the make target in "Kernel
  191. image target name".
  192. endchoice
  193. config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
  194. string "Kernel image target name"
  195. depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
  196. help
  197. Specify the kernel make target to build the kernel that you
  198. need.
  199. config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
  200. string "load address (for 3.7+ multi-platform image)"
  201. depends on BR2_arm || BR2_armeb
  202. depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
  203. help
  204. If your ARM system's Linux kernel is configured with the new (3.7+)
  205. multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
  206. kernel config), then it is necessary to specify a kernel load address
  207. when building the uImage. This should be a hexadecimal string
  208. beginning with 0x, for example: 0x00008000.
  209. If unsure, let this option empty.
  210. config BR2_LINUX_KERNEL_DTS_SUPPORT
  211. bool "Device tree support"
  212. help
  213. Compile a device tree source into a device tree blob.
  214. Select the dts file to compile in the options below.
  215. if BR2_LINUX_KERNEL_DTS_SUPPORT
  216. # We have mainly three cases when it comes to device tree support:
  217. # 1) We don't want any support at all. Then the ..DTS_SUPPORT
  218. # variable won't be set
  219. # 2) We want device tree support, so we need the user to enter
  220. # the device tree name or the the path to the custom device
  221. # he uses, but the kernel abstracts this from us and only
  222. # build an image that looks like a regular kernel image. In
  223. # this case, we only need to derive the kernel image name from
  224. # the given device tree name, and all the rest is as usual
  225. # 3) We want device tree support, but the kernel requires us to
  226. # build the device tree blob separately. In this case, some
  227. # more logic will be needed.
  228. # The variable below address the second case, were you only want
  229. # limited actions from buildroot.
  230. config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  231. bool
  232. config BR2_LINUX_KERNEL_APPENDED_DTB
  233. bool
  234. choice
  235. prompt "Device tree source"
  236. default BR2_LINUX_KERNEL_USE_INTREE_DTS
  237. config BR2_LINUX_KERNEL_USE_INTREE_DTS
  238. bool "Use a device tree present in the kernel."
  239. help
  240. Use a device tree source distributed with
  241. the kernel sources. The dts files are located
  242. in the arch/<arch>/boot/dts folder.
  243. config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
  244. bool "Use a custom device tree file"
  245. help
  246. Use a custom device tree file, i.e, a device
  247. tree file that does not belong to the kernel
  248. source tree.
  249. endchoice
  250. config BR2_LINUX_KERNEL_INTREE_DTS_NAME
  251. string "Device Tree Source file names"
  252. depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
  253. help
  254. Name of the device tree source file, without
  255. the trailing .dts. You can provide a list of
  256. dts files to build, separated by spaces.
  257. config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
  258. string "Device Tree Source file path"
  259. depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
  260. help
  261. Path to the device tree source file
  262. endif
  263. config BR2_LINUX_KERNEL_INSTALL_TARGET
  264. bool "Install kernel image to /boot in target"
  265. depends on !BR2_TARGET_ROOTFS_INITRAMFS
  266. help
  267. Select this option to have the kernel image installed to
  268. /boot in the target root filesystem, as is typically done on
  269. x86/x86_64 systems.
  270. Note that this option also installs the Device Tree Blobs to
  271. /boot if DTBs have been generated by the kernel build
  272. process.
  273. # Linux extensions
  274. source "linux/Config.ext.in"
  275. endif # BR2_LINUX_KERNEL
  276. endmenu