Integration with ttc

This page describes how to use fuego with 'ttc'. 'ttc' is a tool used for manual and automated access to and manipulation of target boards. It is a tool developed by Tim Bird and used at Sony for managing their board farms, and for doing kernel development on multiple different target boards at a time (including especially boards with varying processors and architectures.)

This page describes how ttc and fuego can be integrated, so that the fuego test framework can use 'ttc' as it's transport mechanism.

You can find more information about 'ttc' on the linux wiki at: http://elinux.org/Ttc_Program_Usage_Guide

Outline of supported functionality [edit section]

Here is a rough outline of the support for 'ttc' in fuego:

Supported operations [edit section]

ttc has several sub-commands. Fuego currently only uses the following ttc sub-commands:

Note that some other commands, such as 'ttc reboot' are not used, in spite of there being similar functionality provided in fuego (see function target reboot and function ov rootfs reboot).

Finally, other commands, such as 'ttc get_kernel', 'ttc get_config', 'ttc kbuild' and 'ttc kinstall' are not used currently. These may be used in the future, when fuego is expanded to have a focus on tests that require kernel rebuilding.

Location of ttc.conf [edit section]

Normally, ttc uses the default configuration file at /etc/ttc.conf. Fuego modifies ttc so that the default configuration file is located at /userdata/conf/ttc.conf.

During fuego installation, /etc/ttc.conf is copied to userdata/conf from the host machine, if it is present (and a copy of ttc.conf is not already there).

Steps to use ttc with a target board [edit section]

Here is a list of steps to set up a target board to use ttc. These steps assume you have already added a board to fuego following the steps described in Adding a board.

modify your copy_to_cmd [edit section]

In your ttc.conf file, you may need to make changes to any copy_to_cmd definitions. Fuego allows programs to pass a '-r' argument to its internal 'put' command, which in turn invokes ttc's cp command, with the source as target and destination as the host. In other words, it ends up invokings ttc's 'copy_from_cmd' for the indicated target.

All versions of copy_to_cmd should be modified to reference a new environment variable $copy_args.

Basically, if a fuego test uses 'put -r' at any point, this needs to be supported by ttc. ttc will pass any '-r' seen to the subcommand in the environment variable $copy_args, where you can use it as needed with whatever sub-command (cp, scp, or something else) that you use to execute a copy_to_cmd.

See examples in ttc.conf.sample and ttc.conf.sample2 for usage examples.