Config.in 9.2 KB

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