Config.in 12 KB

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