Config.in 8.7 KB

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