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