Test Images

FirmwareCI provides ready-to-use NixOS-based images designed to boot your hardware into a test environment. These images are the recommended way to prepare devices for automated FirmwareCI testing, ensuring all required capabilities for our test steps are available on the device.

You can either use these pre-provided images directly, or use them as a base configuration to customize for your specific needs.
Simply flash or boot one of these images on your target hardware to boot up your machine with all the necessary tooling.

For the chipsec test step, use the dedicated chipsec image provided by FirmwareCI. This image includes all necessary dependencies and tooling required to run chipsec tests reliably on your hardware.

View on GitHub

Note: The default FirmwareCI images are configured to allow SSH access to the root user:

    users.users.root.openssh.authorizedKeys.keys = [
        "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKcSD9iHnCrJXkSt7aGSnfL0tVHUm+x6/EDr/FchmBfu"
    ];

Caution: Do not enable this configuration on devices connected to publicly accessible networks, as it may expose your system to unauthorized access.

A better choice would be to add your organization’s SSH keys to FirmwareCI, which will be automatically available during test execution. You can then add the public-key part to your image for access.

Example SSH transport configuration for FirmwareCI to connect to the machine:

transport: &transport
  proto: ssh
  options:
    host: "my.network"
    user: root
    identity_file: "[[ssh-keys.my_device_key]]" # Reference organization SSH key

Or use auto-discovery to automatically try all organization SSH keys:

transport: &transport
  proto: ssh
  options:
    host: "my.network"
    user: root
    # No identity_file - uses auto-discovery

See SSH Key Management for details on managing SSH keys.