Config.in 8.8 KB

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