Config.in 12 KB

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