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