Skip to main content

Crate ostool

Crate ostool 

Source
Expand description

§ostool

A comprehensive toolkit for operating system development.

ostool provides utilities for building, running, and debugging operating systems, with special support for embedded systems and bootloader interaction.

§Features

  • Build System: Cargo-based build configuration with customizable options
  • QEMU Integration: Easy QEMU launching with various architectures support
  • U-Boot Support: Serial communication and file transfer via YMODEM
  • TFTP Server: Built-in TFTP server for network booting
  • Menu Configuration: TUI-based configuration editor (like Linux kernel’s menuconfig)
  • Serial Terminal: Interactive serial terminal for device communication

§Modules

  • build - Build system configuration and Cargo integration
  • invocation - Invocation inputs and resolved project layout
  • menuconfig - TUI-based menu configuration
  • ovmf - Verified prebuilt OVMF firmware cache
  • run - QEMU, TFTP, and U-Boot runners
  • sterm - Serial terminal implementation
  • utils - Common utilities and helper functions
  • variables - Workspace, package, temporary, and environment variable expansion

§Example

// ostool is primarily used as a CLI tool
// See the binary targets for usage examples

Modules§

auth
Authentication gateway client, secure credential storage, and token lifecycle management. Authentication, credential storage, and token lifecycle management.
board
ostool-server board client and remote terminal integration.
build
Build system configuration and Cargo integration.
invocation
Invocation inputs and resolved project layout. Invocation options, project layout, and runtime state shared by entrypoints.
logger
Custom file logger for ostool.
menuconfig
TUI-based menu configuration system.
ovmf
Verified prebuilt OVMF firmware cache. Verified prebuilt OVMF firmware cache.
run
Runtime execution modules for QEMU, TFTP, and U-Boot.
sterm
Serial terminal implementation.
utils
Common utilities and helper functions. Common utilities and helper functions.
variables
Workspace, package, temporary, and environment variable expansion. Workspace, package, temporary, and environment variable expansion.

Structs§

BootPayloadConfig
Optional host initramfs and kernel command line.