Config.in 12 KB

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