/tools 文件夹中有哪些工具?

/tools 文件夹中有哪些工具?

在内核源码树/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

更多细节。

相关内容