xref: /OK3568_Linux_fs/buildroot/package/linux-tools/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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