Config.in 11 KB

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