260 lines
8.0 KiB
Plaintext
260 lines
8.0 KiB
Plaintext
menu "Linux Kernel Tools"
|
|
|
|
# No prompt, this is sourced by linux/Config.in as this
|
|
# is no real package and really belongs to the kernel.
|
|
config BR2_PACKAGE_LINUX_TOOLS
|
|
bool
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER
|
|
bool "cpupower"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_PCIUTILS
|
|
help
|
|
cpupower is a collection of tools to examine and tune power
|
|
saving related features of your processor.
|
|
|
|
comment "cpupower needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_GPIO
|
|
bool "gpio"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
gpio is a collection of tools to get information about,
|
|
control and monitor gpios present on system.
|
|
|
|
These tools use new gpio ABI which will deprecate sysfs gpio
|
|
interface in the future.
|
|
|
|
These tools are available only from kernel version 4.8.
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_IIO
|
|
bool "iio"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
iio is a collection of tools to get information about,
|
|
control and monitor iio devices present on system.
|
|
|
|
These tools are available only from kernel version 4.7.
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_MM
|
|
bool "mm"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
mm is a toolset for testing/monitoring/tracing vm/pages/slabs
|
|
objects.
|
|
|
|
- page_owner_sort: userspace helper to sort the output of
|
|
/sys/kernel/debug/page_owner, which helps to know who
|
|
allocates the page from kernel context
|
|
|
|
- slabinfo: the tool which gets reports about slabs, for
|
|
example show empty slabs, modify of slab debug options at
|
|
runtime, display all information about a slabcache
|
|
|
|
- page-types: a handy tool for querying page flags
|
|
|
|
These tools are available only from kernel version 3.4.
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PCI
|
|
bool "pci"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
pcitest is a tool for testing capabilities related to a
|
|
PCI Endpoint (only works with specific Endpoints).
|
|
|
|
These tools are available only from kernel version 4.20.
|
|
|
|
comment "perf needs a toolchain w/ dynamic library, threads"
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PERF
|
|
bool "perf"
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
depends on !BR2_STATIC_LIBS # dlfcn.h
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
perf (sometimes "Perf Events" or perf tools, originally
|
|
"Performance Counters for Linux") - is a performance
|
|
analyzing tool in Linux, available from kernel version
|
|
2.6.31. User-space controlling utility, called 'perf' has
|
|
git-like interface with subcommands. It is capable of
|
|
statistical profiling of entire system (both kernel and user
|
|
code), single CPU or severals threads.
|
|
|
|
This will build and install the userspace 'perf'
|
|
command.
|
|
|
|
Your kernel must have CONFIG_PERF_EVENTS enabled to use perf
|
|
profiling. Buildroot automatically enables this in the kernel
|
|
configuration.
|
|
|
|
https://perf.wiki.kernel.org/
|
|
|
|
if BR2_PACKAGE_LINUX_TOOLS_PERF
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PERF_SCRIPTS
|
|
bool "enable installation of perf scripts"
|
|
help
|
|
Enable the installation of the perf scripts under
|
|
/usr/libexec/perf-core/ which is necessary for running "perf
|
|
tests"
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PERF_TUI
|
|
bool "enable perf TUI"
|
|
depends on BR2_USE_MMU # slang
|
|
select BR2_PACKAGE_SLANG
|
|
help
|
|
Enable the TUI interface for perf which requires a TTY and
|
|
enables zooming into DSOs and threads as well as other
|
|
features.
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
|
|
bool "perf need python3 to build"
|
|
select BR2_PACKAGE_HOST_PYTHON3
|
|
help
|
|
Starting with linux 6.0, parts of the perf source code
|
|
is generated by running a python3 script.
|
|
|
|
endif
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_RTLA
|
|
bool "rtla"
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # libtracefs
|
|
depends on !BR2_STATIC_LIBS # libtracefs
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_LIBTRACEFS
|
|
help
|
|
These tracers allow performing latency analysis, for which the
|
|
rtla tool provides wrapper commands to visualize and extract
|
|
latency traces and reports.
|
|
|
|
rtla includes three tracers, which have been introduced in
|
|
different kernel versions:
|
|
- Linux 5.19 introduced the osnoise and timerlat tracers,
|
|
- Linux 6.3 introduced the hwnoise tracer
|
|
|
|
osnoise and timerlat are always installed, while hwnoise is
|
|
installed if your kernel is recent enough.
|
|
|
|
Note: rtla in kernels before 5.19 had additional dependencies,
|
|
not available in Buildroot, so only rtla in kernels 5.19
|
|
onwards is actually supported in Buildroot.
|
|
|
|
comment "rtla needs a toolchain w/ threads, dynamic library"
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
|
|
bool"selftests"
|
|
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
|
|
depends on BR2_USE_MMU # bash
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # util-linux schedutils
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_BASH # runtime
|
|
select BR2_PACKAGE_NCURSES
|
|
select BR2_PACKAGE_NCURSES_TARGET_PROGS # runtime (tput)
|
|
select BR2_PACKAGE_KMOD
|
|
select BR2_PACKAGE_KMOD_TOOLS # runtime (modprobe -n)
|
|
select BR2_PACKAGE_POPT
|
|
select BR2_PACKAGE_LIBCAP_NG
|
|
select BR2_PACKAGE_UTIL_LINUX
|
|
select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS # runtime (taskset)
|
|
select BR2_PACKAGE_OPENSSL if BR2_x86_64
|
|
help
|
|
Build and install (to /usr/lib/kselftests) kernel selftests.
|
|
|
|
Use of this option implies you know the process of using and
|
|
compiling the kernel selftests. The Makefile to build and
|
|
install these is very noisy and may appear to cause your
|
|
build to fail for strange reasons.
|
|
|
|
This is very much a use at your risk option and may not work
|
|
for every setup or every architecture.
|
|
|
|
comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14"
|
|
depends on BR2_USE_MMU
|
|
depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS || \
|
|
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS
|
|
bool "USB test programs"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
Build and install the USB test tools.
|
|
|
|
These tools exist since Linux 2.6.35, but Buildroot can build
|
|
them only with kernel versions 5.9 and later.
|
|
|
|
if BR2_PACKAGE_LINUX_TOOLS_USBTOOLS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS_TESTUSB
|
|
bool "testusb"
|
|
help
|
|
testusb issues ioctls to perform the tests implemented by the
|
|
kernel driver. It can generate a variety of transfer
|
|
patterns.
|
|
|
|
See http://www.linux-usb.org/usbtest/
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS_FFSTEST
|
|
bool "ffs-test"
|
|
help
|
|
User mode filesystem api for usb composite function
|
|
endif
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_TMON
|
|
bool "tmon"
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_NCURSES
|
|
help
|
|
tmon is a terminal-based tool (using curses) that allows the
|
|
user to access thermal information about the system.
|
|
|
|
comment "tmon needs a toolchain w/ threads"
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV
|
|
bool "hv"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON if !BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
|
|
help
|
|
Microsoft HyperV integration services
|
|
|
|
Relevant kernel configuration options: CONFIG_HYPERV,
|
|
CONFIG_HYPERV_UTILS.
|
|
|
|
if BR2_PACKAGE_LINUX_TOOLS_HV
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
|
|
bool
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON
|
|
bool "hypervkvpd (hv_kvp_daemon)"
|
|
help
|
|
HyperV uses hypervkvpd (Key/Value Pair daemon) to retrieve
|
|
status information from your virtualized guest OS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV_FCOPY_DAEMON
|
|
bool "hypervfcopyd (hv_fcopy_daemon)"
|
|
select BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
|
|
help
|
|
HyperV uses hypervfcopyd (File Copy daemon) to easily transfer
|
|
files to and from your virtualized guest OS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV_VSS_DAEMON
|
|
bool "hypervvssd (hv_vss_daemon)"
|
|
select BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
|
|
help
|
|
HyperV uses hypervvssd (Volume Snapshot Service daemon) to
|
|
freeze your filesystems during snapshots and backups
|
|
|
|
endif # BR2_PACKAGE_LINUX_TOOLS_HV
|
|
|
|
endmenu
|