在内核源码树/tools中,有很多子模块。该文件夹中有哪些可用的工具?我知道性能工具。他们还有什么?如何构建它们?默认情况下,它们是否集成到内核中?它们有什么用?
答案1
make help
在该目录中给出了一个简短的摘要:
Possible targets:
acpi - ACPI tools
cgroup - cgroup tools
cpupower - a tool for all things x86 CPU power
firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer
freefall - laptop accelerometer program for disk protection
gpio - GPIO tools
hv - tools used when in Hyper-V clients
iio - IIO tools
kvm_stat - top-like utility for displaying kvm statistics
leds - LEDs tools
lguest - a minimal 32-bit x86 hypervisor
net - misc networking tools
perf - Linux performance measurement and analysis tool
selftests - various kernel selftests
spi - spi tools
objtool - an ELF object analysis tool
tmon - thermal monitoring and tuning tool
turbostat - Intel CPU idle stats and freq reporting tool
usb - USB testing tools
virtio - vhost test module
vm - misc vm tools
x86_energy_perf_policy - Intel energy policy tool
但这并没有涵盖所有可用的内容。更详细一点:
accounting/getdelays
显示与任务和进程调度相关的各种信息,包括上下文切换(自愿和非自愿)、I/O 核算和延迟核算;cgroup/cgroup_event_listener
是一个简单的cgroup事件监听器;firewire/nosy-dump
与 TI PCILynx 1394 (Firewire) 控制器的探听模式驱动程序交互;gpio
包含一些与 GPIO(通用 I/O 引脚,通常在单板计算机上,例如 Raspberry Pi)相关的一些工具,其中lsgpio
列出了可用的 GPIO 芯片和线路;hv
包含许多在 Hyper-V 来宾中有用的工具;iio
包含工业输入/输出-相关工具;kvm/kvm_stat/kvm_stat
打印 KVM 内核模块跟踪事件的计数,IE从主机端查看 KVM 来宾活动;laptop/dslm/dslm
是一个简单的磁盘睡眠监视器;laptop/freefall/freefall
似乎在惠普和戴尔笔记本电脑上实现了磁盘保护(检测笔记本电脑何时掉落,停放磁头,并在警报停止时将其取出);leds/uledmon
主要是一个用户空间LED演示程序;lguest
包含最小的 32 位 x86 管理程序;net
包含一些 BPF 调试工具(您需要libbfd
构建bpf_jit_disasm
);nfsd
包含一个注入 NFS 守护进程故障的脚本;objtool
包含一个ELF对象分析工具;pcmcia/crc32hash
是内核 CRC32 算法的用户空间实现;perf
包含perf
您已经知道的工具;power/acpi
包含许多ACPI相关工具;power/cpupower
包含cpupower
用于监视和控制CPU电源管理的工具、库等;power/x86/turbostat/turbostat
报告 x86 CPU 上的处理器拓扑、频率、空闲功率统计数据、温度和功率;power/x86/x86_energy_perf_policy/x86_energy_perf_policy
显示和设置x86能源绩效策略;spi/spidev_test
是一个SPI测试工具;testing
包含多个内核测试工具;thermal/tmon
包含一个全面的热监控工具(特别适用于确定冷却设备和热行为之间的关系);time/udelay_test.sh
是一个udelay()
测试脚本;usb
包含许多 USB 测试工具,以及usb/usbip
,这是一个很好的客户端/服务器工具,允许将 USB 设备从一台主机导出到另一台主机;virtio
包含一个虚拟主机测试模块;vm/page-types
显示来自虚拟内存子系统的详细页面信息。
默认情况下,这些工具不是内核构建的一部分,需要使用适当的目标或目录显式构建,如 所示make help
。其中许多都有详细的文档,您可以阅读以了解更多信息。
答案2
我可以回答 FreeBSD,以及一个非常重要的问题。您将在其中/usr/src/tools/tools/nanobsd
找到 NanoBSD 的脚本和文件。
这并不是一个不同的系统;而是一个系统。这是一种构建从只读系统和一个或多个内存磁盘运行的精简完整系统的方法。有很多东西可以帮助配置,使用主机系统的不同配置。
我在只读 CF 卡和只读 USB 记忆棒上构建了 FreeBSD 系统。我已经使用它们来运行基于ipfw
.
如果这对您有用,值得一看。看:
https://www.freebsd.org/doc/en_US.ISO8859-1/articles/nanobsd/index.html
更多细节。