Config.in 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. menu "Linux Kernel Tools"
  2. # No prompt, this is sourced by linux/Config.in as this
  3. # is no real package and really belongs to the kernel.
  4. config BR2_PACKAGE_LINUX_TOOLS
  5. bool
  6. config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER
  7. bool "cpupower"
  8. depends on !BR2_STATIC_LIBS
  9. select BR2_PACKAGE_LINUX_TOOLS
  10. select BR2_PACKAGE_PCIUTILS
  11. help
  12. cpupower is a collection of tools to examine and tune power
  13. saving related features of your processor.
  14. comment "cpupower needs a toolchain w/ dynamic library"
  15. depends on BR2_STATIC_LIBS
  16. config BR2_PACKAGE_LINUX_TOOLS_GPIO
  17. bool "gpio"
  18. select BR2_PACKAGE_LINUX_TOOLS
  19. help
  20. gpio is a collection of tools to get information about,
  21. control and monitor gpios present on system.
  22. These tools use new gpio ABI which will deprecate sysfs gpio
  23. interface in the future.
  24. These tools are available only from kernel version 4.8.
  25. config BR2_PACKAGE_LINUX_TOOLS_IIO
  26. bool "iio"
  27. select BR2_PACKAGE_LINUX_TOOLS
  28. help
  29. iio is a collection of tools to get information about,
  30. control and monitor iio devices present on system.
  31. These tools are available only from kernel version 4.7.
  32. config BR2_PACKAGE_LINUX_TOOLS_MM
  33. bool "mm"
  34. select BR2_PACKAGE_LINUX_TOOLS
  35. help
  36. mm is a toolset for testing/monitoring/tracing vm/pages/slabs
  37. objects.
  38. - page_owner_sort: userspace helper to sort the output of
  39. /sys/kernel/debug/page_owner, which helps to know who
  40. allocates the page from kernel context
  41. - slabinfo: the tool which gets reports about slabs, for
  42. example show empty slabs, modify of slab debug options at
  43. runtime, display all information about a slabcache
  44. - page-types: a handy tool for querying page flags
  45. These tools are available only from kernel version 3.4.
  46. config BR2_PACKAGE_LINUX_TOOLS_PCI
  47. bool "pci"
  48. select BR2_PACKAGE_LINUX_TOOLS
  49. help
  50. pcitest is a tool for testing capabilities related to a
  51. PCI Endpoint (only works with specific Endpoints).
  52. These tools are available only from kernel version 4.20.
  53. comment "perf needs a toolchain w/ dynamic library, threads"
  54. depends on BR2_TOOLCHAIN_HAS_SYNC_4
  55. depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
  56. config BR2_PACKAGE_LINUX_TOOLS_PERF
  57. bool "perf"
  58. depends on BR2_TOOLCHAIN_HAS_SYNC_4
  59. depends on !BR2_STATIC_LIBS # dlfcn.h
  60. depends on BR2_TOOLCHAIN_HAS_THREADS
  61. select BR2_PACKAGE_LINUX_TOOLS
  62. help
  63. perf (sometimes "Perf Events" or perf tools, originally
  64. "Performance Counters for Linux") - is a performance
  65. analyzing tool in Linux, available from kernel version
  66. 2.6.31. User-space controlling utility, called 'perf' has
  67. git-like interface with subcommands. It is capable of
  68. statistical profiling of entire system (both kernel and user
  69. code), single CPU or severals threads.
  70. This will build and install the userspace 'perf'
  71. command.
  72. Your kernel must have CONFIG_PERF_EVENTS enabled to use perf
  73. profiling. Buildroot automatically enables this in the kernel
  74. configuration.
  75. https://perf.wiki.kernel.org/
  76. if BR2_PACKAGE_LINUX_TOOLS_PERF
  77. config BR2_PACKAGE_LINUX_TOOLS_PERF_SCRIPTS
  78. bool "enable installation of perf scripts"
  79. help
  80. Enable the installation of the perf scripts under
  81. /usr/libexec/perf-core/ which is necessary for running "perf
  82. tests"
  83. config BR2_PACKAGE_LINUX_TOOLS_PERF_TUI
  84. bool "enable perf TUI"
  85. depends on BR2_USE_MMU # slang
  86. select BR2_PACKAGE_SLANG
  87. help
  88. Enable the TUI interface for perf which requires a TTY and
  89. enables zooming into DSOs and threads as well as other
  90. features.
  91. config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
  92. bool "perf need python3 to build"
  93. select BR2_PACKAGE_HOST_PYTHON3
  94. help
  95. Starting with linux 6.0, parts of the perf source code
  96. is generated by running a python3 script.
  97. endif
  98. config BR2_PACKAGE_LINUX_TOOLS_RTLA
  99. bool "rtla"
  100. depends on BR2_TOOLCHAIN_HAS_THREADS # libtracefs
  101. depends on !BR2_STATIC_LIBS # libtracefs
  102. select BR2_PACKAGE_LINUX_TOOLS
  103. select BR2_PACKAGE_LIBTRACEFS
  104. help
  105. These tracers allow performing latency analysis, for which the
  106. rtla tool provides wrapper commands to visualize and extract
  107. latency traces and reports.
  108. rtla includes three tracers, which have been introduced in
  109. different kernel versions:
  110. - Linux 5.19 introduced the osnoise and timerlat tracers,
  111. - Linux 6.3 introduced the hwnoise tracer
  112. osnoise and timerlat are always installed, while hwnoise is
  113. installed if your kernel is recent enough.
  114. Note: rtla in kernels before 5.19 had additional dependencies,
  115. not available in Buildroot, so only rtla in kernels 5.19
  116. onwards is actually supported in Buildroot.
  117. comment "rtla needs a toolchain w/ threads, dynamic library"
  118. depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
  119. config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
  120. bool"selftests"
  121. depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
  122. depends on BR2_USE_MMU # bash
  123. depends on !BR2_STATIC_LIBS
  124. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # util-linux schedutils
  125. select BR2_PACKAGE_LINUX_TOOLS
  126. select BR2_PACKAGE_BASH # runtime
  127. select BR2_PACKAGE_NCURSES
  128. select BR2_PACKAGE_NCURSES_TARGET_PROGS # runtime (tput)
  129. select BR2_PACKAGE_KMOD
  130. select BR2_PACKAGE_KMOD_TOOLS # runtime (modprobe -n)
  131. select BR2_PACKAGE_POPT
  132. select BR2_PACKAGE_LIBCAP_NG
  133. select BR2_PACKAGE_UTIL_LINUX
  134. select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS # runtime (taskset)
  135. select BR2_PACKAGE_OPENSSL if BR2_x86_64
  136. help
  137. Build and install (to /usr/lib/kselftests) kernel selftests.
  138. Use of this option implies you know the process of using and
  139. compiling the kernel selftests. The Makefile to build and
  140. install these is very noisy and may appear to cause your
  141. build to fail for strange reasons.
  142. This is very much a use at your risk option and may not work
  143. for every setup or every architecture.
  144. comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14"
  145. depends on BR2_USE_MMU
  146. depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS || \
  147. BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
  148. config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS
  149. bool "USB test programs"
  150. select BR2_PACKAGE_LINUX_TOOLS
  151. help
  152. Build and install the USB test tools.
  153. These tools exist since Linux 2.6.35, but Buildroot can build
  154. them only with kernel versions 5.9 and later.
  155. if BR2_PACKAGE_LINUX_TOOLS_USBTOOLS
  156. config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS_TESTUSB
  157. bool "testusb"
  158. help
  159. testusb issues ioctls to perform the tests implemented by the
  160. kernel driver. It can generate a variety of transfer
  161. patterns.
  162. See http://www.linux-usb.org/usbtest/
  163. config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS_FFSTEST
  164. bool "ffs-test"
  165. help
  166. User mode filesystem api for usb composite function
  167. endif
  168. config BR2_PACKAGE_LINUX_TOOLS_TMON
  169. bool "tmon"
  170. depends on BR2_TOOLCHAIN_HAS_THREADS
  171. select BR2_PACKAGE_LINUX_TOOLS
  172. select BR2_PACKAGE_NCURSES
  173. help
  174. tmon is a terminal-based tool (using curses) that allows the
  175. user to access thermal information about the system.
  176. comment "tmon needs a toolchain w/ threads"
  177. depends on !BR2_TOOLCHAIN_HAS_THREADS
  178. config BR2_PACKAGE_LINUX_TOOLS_HV
  179. bool "hv"
  180. depends on BR2_i386 || BR2_x86_64
  181. select BR2_PACKAGE_LINUX_TOOLS
  182. select BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON if !BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
  183. help
  184. Microsoft HyperV integration services
  185. Relevant kernel configuration options: CONFIG_HYPERV,
  186. CONFIG_HYPERV_UTILS.
  187. if BR2_PACKAGE_LINUX_TOOLS_HV
  188. config BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
  189. bool
  190. config BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON
  191. bool "hypervkvpd (hv_kvp_daemon)"
  192. help
  193. HyperV uses hypervkvpd (Key/Value Pair daemon) to retrieve
  194. status information from your virtualized guest OS
  195. config BR2_PACKAGE_LINUX_TOOLS_HV_FCOPY_DAEMON
  196. bool "hypervfcopyd (hv_fcopy_daemon)"
  197. select BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
  198. help
  199. HyperV uses hypervfcopyd (File Copy daemon) to easily transfer
  200. files to and from your virtualized guest OS
  201. config BR2_PACKAGE_LINUX_TOOLS_HV_VSS_DAEMON
  202. bool "hypervvssd (hv_vss_daemon)"
  203. select BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
  204. help
  205. HyperV uses hypervvssd (Volume Snapshot Service daemon) to
  206. freeze your filesystems during snapshots and backups
  207. endif # BR2_PACKAGE_LINUX_TOOLS_HV
  208. endmenu