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