Built-In Test (BIT) SDK

Overview

The Built-In Test (BIT) SDK is a comprehensive testing solution for Linux embedded systems. It provides three types of automated tests:

  • PBIT (Power-On Built-In Test): Hardware validation tests run once at system startup
  • CBIT (Continuous Built-In Test): Ongoing system health monitoring at configurable intervals
  • FBIT (Factory Built-In Test): Manufacturing and production validation tests

Key Features

  • Dynamic Plugin Architecture: Tests are loaded as shared libraries (.so files)
  • Configuration Generation: bit-learn tool automatically detects hardware and generates configs
  • Hardware Discovery: Auto-detects CPUs, disks, network interfaces, USB/PCI devices, sensors
  • Test Inspection: bit-inspect tool provides detailed test information
  • Systemd Integration: Run as a system service with bit_manager
  • Extensible: Create custom tests using the test_template as a starting point

Quick Start

# Build the project
cargo build --release

# Generate configuration files for your system
BIT_CONFIG_PATH=/etc/bit ./target/release/bit-learn

# Run all tests once
BIT_CONFIG_PATH=/etc/bit BIT_TEST_PATH=./target/release ./target/release/bit-manager -o

# Install system-wide
cargo deb -p bit_manager
sudo dpkg -i target/debian/*.deb

# Enable as systemd service
sudo systemctl enable bit_manager
sudo systemctl start bit_manager

Components

bit-manager

The main test orchestrator that:

  • Loads test plugins dynamically
  • Schedules PBIT and CBIT tests
  • Manages test execution and logging
  • Provides systemd service integration

bit-learn

Interactive configuration generator that:

  • Detects system hardware (CPUs, disks, NICs, USB/PCI devices, sensors)
  • Prompts for test thresholds with sensible defaults
  • Auto-generates TOML configuration files
  • Discovers available interfaces (CAN, GPIO, serial ports)

bit-inspect

Test information tool that:

  • Lists all available tests
  • Shows detailed test metadata
  • Displays configuration values
  • Helps validate test setup

Test Types

Power-On Tests (PBIT)

Run once at system startup to verify hardware:

  • CPU core count validation
  • Disk health (SMART data)
  • Memory integrity
  • Peripheral detection (USB, PCI devices)
  • Network interface availability
  • Temperature sensors
  • Security configuration (SELinux/AppArmor, SSH, firewall)

Continuous Tests (CBIT)

Monitor system health at regular intervals:

  • CPU and memory utilization
  • Disk usage monitoring
  • Temperature monitoring
  • Network interface status
  • Process and service monitoring
  • Security policy enforcement
  • Log file analysis

Factory Tests (FBIT)

Manufacturing and production validation:

  • CAN bus loopback
  • Serial port loopback
  • GPIO loopback
  • USB device testing
  • SSD performance
  • Video device capabilities
  • Network throughput (TCP/iPerf)

Documentation Structure

System Requirements

  • Linux kernel 4.4 or later
  • Rust 1.70+ (for building from source)
  • systemd (optional, for service integration)
  • Hardware permissions for certain tests (CAN, GPIO, serial ports)

License

Copyright © 2025 Astute Systems PTY LTD. See LICENSE file for details.