2
1

Config.in 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  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 "Latest version (4.6.4)"
  26. config BR2_LINUX_KERNEL_CUSTOM_VERSION
  27. bool "Custom version"
  28. help
  29. This option allows to use a specific official version from
  30. kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
  31. Note: you cannot use this option to select a _longterm_ 2.6
  32. kernel, because these kernels are not located at the standard
  33. URL at kernel.org. Instead, select "Custom tarball" and
  34. specify the right URL directly.
  35. config BR2_LINUX_KERNEL_CUSTOM_TARBALL
  36. bool "Custom tarball"
  37. help
  38. This option allows to specify a URL pointing to a kernel source
  39. tarball. This URL can use any protocol recognized by Buildroot,
  40. like http://, ftp://, file:// or scp://.
  41. When pointing to a local tarball using file://, you may want to
  42. use a make variable like $(TOPDIR) to reference the root of the
  43. Buildroot tree.
  44. config BR2_LINUX_KERNEL_CUSTOM_GIT
  45. bool "Custom Git repository"
  46. help
  47. This option allows Buildroot to get the Linux kernel source
  48. code from a Git repository.
  49. config BR2_LINUX_KERNEL_CUSTOM_HG
  50. bool "Custom Mercurial repository"
  51. help
  52. This option allows Buildroot to get the Linux kernel source
  53. code from a Mercurial repository.
  54. config BR2_LINUX_KERNEL_CUSTOM_SVN
  55. bool "Custom Subversion repository"
  56. help
  57. This option allows Buildroot to get the Linux kernel source
  58. code from a Subversion 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 || BR2_LINUX_KERNEL_CUSTOM_SVN
  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/Subversion
  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.6.4" if BR2_LINUX_KERNEL_LATEST_VERSION
  92. default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
  93. if BR2_LINUX_KERNEL_CUSTOM_VERSION
  94. default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
  95. default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
  96. if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN
  97. default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
  98. #
  99. # Patch selection
  100. #
  101. config BR2_LINUX_KERNEL_PATCH
  102. string "Custom kernel patches"
  103. depends on !BR2_LINUX_KERNEL_CUSTOM_LOCAL
  104. help
  105. A space-separated list of patches to apply to the
  106. kernel. Each patch can be described as an URL, a local file
  107. path, or a directory. In the case of a directory, all files
  108. matching *.patch in the directory will be applied.
  109. #
  110. # Configuration selection
  111. #
  112. choice
  113. prompt "Kernel configuration"
  114. default BR2_LINUX_KERNEL_USE_DEFCONFIG
  115. config BR2_LINUX_KERNEL_USE_DEFCONFIG
  116. bool "Using an in-tree defconfig file"
  117. config BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
  118. bool "Use the architecture default configuration"
  119. help
  120. This option will use the default configuration for the
  121. selected architecture. I.e, it is equivalent to running
  122. "make ARCH=<foo> defconfig". This is useful on architectures
  123. that have a single defconfig file, such as ARM64.
  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. default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
  154. config BR2_LINUX_KERNEL_UIMAGE
  155. bool "uImage"
  156. depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
  157. BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
  158. BR2_sh || BR2_sh64 || BR2_mips || BR2_mipsel || \
  159. BR2_mips64 || BR2_mips64el
  160. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  161. config BR2_LINUX_KERNEL_APPENDED_UIMAGE
  162. bool "uImage with appended DT"
  163. depends on BR2_arm || BR2_armeb
  164. select BR2_LINUX_KERNEL_DTS_SUPPORT
  165. select BR2_LINUX_KERNEL_APPENDED_DTB
  166. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  167. config BR2_LINUX_KERNEL_BZIMAGE
  168. bool "bzImage"
  169. depends on BR2_i386 || BR2_x86_64
  170. config BR2_LINUX_KERNEL_ZIMAGE
  171. bool "zImage"
  172. depends on BR2_arm || BR2_armeb || BR2_powerpc || \
  173. BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
  174. BR2_sh || BR2_sh64 || BR2_xtensa
  175. config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
  176. bool "zImage.epapr"
  177. depends on BR2_powerpc64 || BR2_powerpc64le
  178. config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
  179. bool "zImage with appended DT"
  180. depends on BR2_arm || BR2_armeb
  181. select BR2_LINUX_KERNEL_DTS_SUPPORT
  182. select BR2_LINUX_KERNEL_APPENDED_DTB
  183. config BR2_LINUX_KERNEL_CUIMAGE
  184. bool "cuImage"
  185. depends on BR2_powerpc
  186. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  187. select BR2_LINUX_KERNEL_DTS_SUPPORT
  188. select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  189. config BR2_LINUX_KERNEL_SIMPLEIMAGE
  190. bool "simpleImage"
  191. depends on BR2_microblaze
  192. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  193. select BR2_LINUX_KERNEL_DTS_SUPPORT
  194. select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  195. config BR2_LINUX_KERNEL_IMAGE
  196. bool "Image"
  197. depends on BR2_aarch64
  198. config BR2_LINUX_KERNEL_LINUX_BIN
  199. bool "linux.bin"
  200. depends on BR2_microblaze
  201. select BR2_LINUX_KERNEL_UBOOT_IMAGE
  202. config BR2_LINUX_KERNEL_VMLINUX_BIN
  203. bool "vmlinux.bin"
  204. depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
  205. config BR2_LINUX_KERNEL_VMLINUX
  206. bool "vmlinux"
  207. config BR2_LINUX_KERNEL_VMLINUZ
  208. bool "vmlinuz"
  209. depends on BR2_mips || BR2_mipsel
  210. config BR2_LINUX_KERNEL_VMLINUZ_BIN
  211. bool "vmlinuz.bin"
  212. depends on BR2_mips || BR2_mipsel
  213. config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
  214. bool "custom target"
  215. help
  216. For certain cases a board-specific target image must be
  217. used. For example, on powerPC where the OpenFirmware
  218. description is attached in a board-specific kernel image
  219. target like 'cuImage.mpc8379_rdb'.
  220. Select this option and specify the make target in "Kernel
  221. image target name".
  222. endchoice
  223. #
  224. # Kernel compression format
  225. #
  226. choice
  227. prompt "Kernel compression format"
  228. help
  229. This selection will just ensure that the correct host tools are build.
  230. The actual compression for the kernel should be selected in the
  231. kernel configuration menu.
  232. config BR2_LINUX_KERNEL_GZIP
  233. bool "gzip compression"
  234. config BR2_LINUX_KERNEL_LZ4
  235. bool "lz4 compression"
  236. config BR2_LINUX_KERNEL_LZMA
  237. bool "lzma compression"
  238. config BR2_LINUX_KERNEL_LZO
  239. bool "lzo compression"
  240. config BR2_LINUX_KERNEL_XZ
  241. bool "xz compression"
  242. endchoice
  243. config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
  244. string "Kernel image target name"
  245. depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
  246. help
  247. Specify the kernel make target to build the kernel that you
  248. need.
  249. config BR2_LINUX_KERNEL_IMAGE_NAME
  250. string "Kernel image name"
  251. depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
  252. help
  253. The filename of the kernel image, if it is different from the
  254. make target (above). Only Xtensa uses a filename different from
  255. the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
  256. If unsure, leave it empty.
  257. config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
  258. string "load address (for 3.7+ multi-platform image)"
  259. depends on BR2_arm || BR2_armeb
  260. depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
  261. help
  262. If your ARM system's Linux kernel is configured with the new (3.7+)
  263. multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
  264. kernel config), then it is necessary to specify a kernel load address
  265. when building the uImage. This should be a hexadecimal string
  266. beginning with 0x, for example: 0x00008000.
  267. If unsure, let this option empty.
  268. config BR2_LINUX_KERNEL_DTS_SUPPORT
  269. bool "Build a Device Tree Blob (DTB)"
  270. help
  271. Compile one or more device tree sources into device tree blobs.
  272. Select the dts files to compile in the options below.
  273. if BR2_LINUX_KERNEL_DTS_SUPPORT
  274. # We have mainly three cases when it comes to device tree support:
  275. # 1) We don't want any support at all. Then the ..DTS_SUPPORT
  276. # variable won't be set
  277. # 2) We want device tree support, so we need the user to enter the
  278. # device tree name or the path to the custom device he uses, but
  279. # the kernel abstracts this from us and only build an image that
  280. # looks like a regular kernel image. In this case, we only need
  281. # to derive the kernel image name from the given device tree
  282. # name, and all the rest is as usual
  283. # 3) We want device tree support, but the kernel requires us to
  284. # build the device tree blob separately. In this case, some
  285. # more logic will be needed.
  286. # The variable below address the second case, were you only want
  287. # limited actions from buildroot.
  288. config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
  289. bool
  290. config BR2_LINUX_KERNEL_APPENDED_DTB
  291. bool
  292. choice
  293. prompt "Device tree source"
  294. default BR2_LINUX_KERNEL_USE_INTREE_DTS
  295. config BR2_LINUX_KERNEL_USE_INTREE_DTS
  296. bool "Use a device tree present in the kernel."
  297. help
  298. Use a device tree source distributed with
  299. the kernel sources. The dts files are located
  300. in the arch/<arch>/boot/dts folder.
  301. config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
  302. bool "Use a custom device tree file"
  303. help
  304. Use a custom device tree file, i.e, a device
  305. tree file that does not belong to the kernel
  306. source tree.
  307. endchoice
  308. config BR2_LINUX_KERNEL_INTREE_DTS_NAME
  309. string "Device Tree Source file names"
  310. depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
  311. help
  312. Name of the device tree source file, without
  313. the trailing .dts. You can provide a list of
  314. dts files to build, separated by spaces.
  315. config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
  316. string "Device Tree Source file paths"
  317. depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
  318. help
  319. Path to the device tree source files. You can
  320. provide a list of dts paths to copy and build,
  321. separated by spaces.
  322. endif
  323. config BR2_LINUX_KERNEL_INSTALL_TARGET
  324. bool "Install kernel image to /boot in target"
  325. depends on !BR2_TARGET_ROOTFS_INITRAMFS
  326. help
  327. Select this option to have the kernel image installed to
  328. /boot in the target root filesystem, as is typically done on
  329. x86/x86_64 systems.
  330. Note that this option also installs the Device Tree Blobs to
  331. /boot if DTBs have been generated by the kernel build
  332. process.
  333. # Linux extensions
  334. source "linux/Config.ext.in"
  335. # Linux tools
  336. source "linux/Config.tools.in"
  337. endif # BR2_LINUX_KERNEL
  338. endmenu