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_PCI 42 bool "pci" 43 select BR2_PACKAGE_LINUX_TOOLS 44 help 45 pcitest is a tool for testing capabilities related to a 46 PCI Endpoint (only works with specific Endpoints). 47 48 These tools are available only from kernel version 4.20. 49 50comment "perf needs a toolchain w/ dynamic library, threads" 51 depends on BR2_TOOLCHAIN_HAS_SYNC_4 52 depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS 53 54config BR2_PACKAGE_LINUX_TOOLS_PERF 55 bool "perf" 56 depends on BR2_TOOLCHAIN_HAS_SYNC_4 57 depends on !BR2_STATIC_LIBS # dlfcn.h 58 depends on BR2_TOOLCHAIN_HAS_THREADS 59 select BR2_PACKAGE_LINUX_TOOLS 60 help 61 perf (sometimes "Perf Events" or perf tools, originally 62 "Performance Counters for Linux") - is a performance 63 analyzing tool in Linux, available from kernel version 64 2.6.31. User-space controlling utility, called 'perf' has 65 git-like interface with subcommands. It is capable of 66 statistical profiling of entire system (both kernel and user 67 code), single CPU or severals threads. 68 69 This will build and install the userspace 'perf' 70 command. 71 72 Your kernel must have CONFIG_PERF_EVENTS enabled to use perf 73 profiling. Buildroot automatically enables this in the kernel 74 configuration. 75 76 https://perf.wiki.kernel.org/ 77 78if BR2_PACKAGE_LINUX_TOOLS_PERF 79 80config BR2_PACKAGE_LINUX_TOOLS_PERF_STATIC 81 bool "Enable static" 82 default y if BR2_STATIC_LIBS 83 depends on BR2_PACKAGE_BZIP2 84 depends on BR2_PACKAGE_ELFUTILS 85 depends on BR2_PACKAGE_LIBUNWIND_STATIC 86 depends on BR2_PACKAGE_XZ_STATIC 87 depends on BR2_PACKAGE_ZLIB 88 89config BR2_PACKAGE_LINUX_TOOLS_PERF_SCRIPTS 90 bool "enable installation of perf scripts" 91 help 92 Enable the installation of the perf scripts under 93 /usr/libexec/perf-core/ which is necessary for running "perf 94 tests" 95 96config BR2_PACKAGE_LINUX_TOOLS_PERF_TUI 97 bool "enable perf TUI" 98 depends on BR2_USE_MMU # slang 99 select BR2_PACKAGE_SLANG 100 help 101 Enable the TUI interface for perf which requires a TTY and 102 enables zooming into DSOs and threads as well as other 103 features. 104 105config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3 106 bool "perf need python3 to build" 107 select BR2_PACKAGE_HOST_PYTHON3 108 help 109 Starting with linux 6.0, parts of the perf source code 110 is generated by running a python3 script. 111 112endif 113 114config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS 115 bool"selftests" 116 depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash 117 depends on BR2_USE_MMU # bash 118 depends on !BR2_STATIC_LIBS 119 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # util-linux schedutils 120 select BR2_PACKAGE_LINUX_TOOLS 121 select BR2_PACKAGE_BASH # runtime 122 select BR2_PACKAGE_NCURSES 123 select BR2_PACKAGE_NCURSES_TARGET_PROGS # runtime (tput) 124 select BR2_PACKAGE_KMOD 125 select BR2_PACKAGE_KMOD_TOOLS # runtime (modprobe -n) 126 select BR2_PACKAGE_POPT 127 select BR2_PACKAGE_LIBCAP_NG 128 select BR2_PACKAGE_UTIL_LINUX 129 select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS # runtime (taskset) 130 select BR2_PACKAGE_OPENSSL if BR2_x86_64 131 help 132 Build and install (to /usr/lib/kselftests) kernel selftests. 133 134 Use of this option implies you know the process of using and 135 compiling the kernel selftests. The Makefile to build and 136 install these is very noisy and may appear to cause your 137 build to fail for strange reasons. 138 139 This is very much a use at your risk option and may not work 140 for every setup or every architecture. 141 142comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14" 143 depends on BR2_USE_MMU 144 depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS || \ 145 BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 146 147config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS 148 bool "USB test programs" 149 select BR2_PACKAGE_LINUX_TOOLS 150 help 151 Build and install the USB test tools. 152 153 These tools exist since Linux 2.6.35, but Buildroot can build 154 them only with kernel versions 5.9 and later. 155 156if BR2_PACKAGE_LINUX_TOOLS_USBTOOLS 157 158config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS_TESTUSB 159 bool "testusb" 160 help 161 testusb issues ioctls to perform the tests implemented by the 162 kernel driver. It can generate a variety of transfer 163 patterns. 164 165 See http://www.linux-usb.org/usbtest/ 166 167config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS_FFSTEST 168 bool "ffs-test" 169 help 170 User mode filesystem api for usb composite function 171endif 172 173config BR2_PACKAGE_LINUX_TOOLS_TMON 174 bool "tmon" 175 depends on BR2_TOOLCHAIN_HAS_THREADS 176 select BR2_PACKAGE_LINUX_TOOLS 177 select BR2_PACKAGE_NCURSES 178 help 179 tmon is a terminal-based tool (using curses) that allows the 180 user to access thermal information about the system. 181 182comment "tmon needs a toolchain w/ threads" 183 depends on !BR2_TOOLCHAIN_HAS_THREADS 184 185config BR2_PACKAGE_LINUX_TOOLS_HV 186 bool "hv" 187 depends on BR2_i386 || BR2_x86_64 188 select BR2_PACKAGE_LINUX_TOOLS 189 select BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON if !BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE 190 help 191 Microsoft HyperV integration services 192 193 Relevant kernel configuration options: CONFIG_HYPERV, 194 CONFIG_HYPERV_UTILS. 195 196if BR2_PACKAGE_LINUX_TOOLS_HV 197 198config BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE 199 bool 200 201config BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON 202 bool "hypervkvpd (hv_kvp_daemon)" 203 help 204 HyperV uses hypervkvpd (Key/Value Pair daemon) to retrieve 205 status information from your virtualized guest OS 206 207config BR2_PACKAGE_LINUX_TOOLS_HV_FCOPY_DAEMON 208 bool "hypervfcopyd (hv_fcopy_daemon)" 209 select BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE 210 help 211 HyperV uses hypervfcopyd (File Copy daemon) to easily transfer 212 files to and from your virtualized guest OS 213 214config BR2_PACKAGE_LINUX_TOOLS_HV_VSS_DAEMON 215 bool "hypervvssd (hv_vss_daemon)" 216 select BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE 217 help 218 HyperV uses hypervvssd (Volume Snapshot Service daemon) to 219 freeze your filesystems during snapshots and backups 220 221endif # BR2_PACKAGE_LINUX_TOOLS_HV 222 223endmenu 224