agentOS

agentOS is Blue Clover’s Linux distribution for the Blue Clover Test Agent PER-101 that acts alongside a PLT during production testing. agentOS exposes a USB-CDC console and USB Mass Storage RAMDISK that the PLT drives with the agentCfg - Configure Agent and agentExec - Execute command on Agent commands.

Capabilities

An agentOS image presents itself to the PLT as a composite USB gadget:

  • USB-CDC console (/dev/ttyGS0 on the SBC) — 1,000,000 baud 8N1, with autologin as the pltagent user. Any shell command issued with agentExec - Execute command on Agent runs on the Test Agent.

  • USB Mass Storage RAMDISK — files sent from the PLT with agentCfg’s with: list appear on the SBC at /run/pltagent/mnt, so a test plan can hand firmware images, archives, or scripts to Test Agent for execution.

Built-in tooling often referenced includes:

  • flashr-flash — flash .hex, .elf, or .bin images to a target through an attached flashr device.

  • pltagent-msc-present / pltagent-msc-mount — helper shell commands to detect and mount USB Mass Storage devices exposed by a DUT. See NXP i.MX RT685 EVK and Microchip Explorer 16/32 for worked examples.

  • Build info (/etc/buildinfo) is reported back to the PLT so the agent’s DISTRO_VERSION shows up alongside test results.

Usage

An agentOS SBC is set up with agentCfg - Configure Agent, then any command line is executed on it with agentExec - Execute command on Agent. The default USB VID:PID for an agentOS device is 6666:8001.

title: "Test DUT using an agentOS SBC"
suite:

 - title: "Setup SBC"
   steps:
    - command: agentCfg AGENT
      with:
       - myscript.py

 - title: "Power DUT"
   steps:
    - command: ground all
    - command: power 3V3 on

 - title: "Test DUT with SBC"
   steps:
    - command: agentExec AGENT "python3 /run/pltagent/mnt/myscript.py"

Examples

Sample test plans that exercise agentOS: