Board Management Layer Notes

From eLinux.org
Revision as of 16:06, 7 October 2019 by Tim Bird (talk | contribs) (Fuego)
Jump to: navigation, search

Here are notes about the different ways that system do board managemnent:

different systems

SLAV

Uses the following verbs or functions:

  • dut_boot
  • dut_login
  • dut_exec
  • dut_copyfrom
  • dut_copyto
  • fota = "flash-over-the-air" for flashing a board

Questions:

  • what layer provides these?
  • what layer calls these?

ttc (Tiny Target Control)

Uses the following verbse or functions:

  • ttc kinstall - install kernel (either to target or tftp area on server)
  • ttc fsinstall - install root filesystem (either to target or nfs area on server)
  • ttc reboot - reboot the target
  • ttc console - get access to console on the target
  • ttc login - get to login shell on the target
  • ttc run - execute a command on the target
  • ttc cp - copy files to or from the target
    • example: ttc [<board>] cp file target:/tmp
    • example: ttc [<board>] cp target:/some/dir/file hostfile
  • ttc rm - remove files from target
  • ttc waitfor - wait for a command to complete successfully

reservations

  • ttc status - show status of a board (including reservation)
  • ttc reserve - reserve a target
  • ttc release - release a target

labgrid

r4d

LAVA

kernelCI (as a caller)

Fuego

These are considered the "transport" APIs:

  • cmd - execute a command on the device under test
  • report - execute a command, and log its output (used to execute the actual test program)
  • put - copy files and/or directories to the device under test
  • get - copy files and/or directories from the device under test

And a board management API:

  • reboot - reboot the device under test

details

The APIs provided by the plugin-class for this are:

  • ov_transport_connect - establish communication channel with a board
  • ov_transport_disconnect - disconnect communication channel with a board
  • ov_transport_get - get files from a board
  • ov_transport_put - put files to a board
  • ov_transport_cmd - execute a command on the board
  • ov_board_setup - provision and reserve a board or instantiate a vm
  • ov_board_teardown - destroy a vm instance, or release a board
  • ov_board_control_reboot - reboot a board

Currently in Fuego, The setup, teardown, connect and disconnect functions are often empty for a board, and provisioning is left as an exercise for a different element of the CI loop.

syzbot

Uses 4 verbs: