LISA shell#
Description#
Once you have all of the required dependencies installed, you can use the LISA shell, which provides a convenient set of commands for easy access to many LISA related functions, scripts and environment variables.
For more details, see https://tooling.sites.arm.com/lisa/latest/
Activation#
In order to use the shell, source the script:
source init_env
Tip
Run man lisa to see an overview of the provided LISA commands.
Commands#
Most LISA Shell commands start with lisa-, thus using shell completion it
is easy to get a list of all the available commands.
Here is the documentation of the simple ones, more complex scripts have
integrated --help documentation, a section in the online documentation, or
man pages.
Maintenance commands#
lisa-help- Show this helplisa-install- Remove the previous venv and do a fresh ven installlisa-version- Dump info on the LISA in uselisa-activate-venv- Activate the LISA venv, and create it if it does not existlisa-deactivate-venv- Deactivate the LISA venv, and create it if it does not existlisa-update-subtrees- Update the subtrees by pulling their latest changeslisa-log-subtree- Git log on the squashed commits of the given subtree. All other options are passed to git log.lisa-doc-build- Build the documentationlisa-build-asset- Download and cross-compile the binary assets in lisa/_assets/binaries
Notebooks commands#
lisa-jupyter- Start/Stop the Jupyter Notebook server.Usage:
lisa-jupyter CMD [NETIF [PORT]]CMD
start to start the jupyter notebook server, stop to stop it (default: start)
NETIF
the network interface to start the server on (default: lo)
PORT
the tcp port for the server (default: 8888)
lisa-execute-notebook- Execute the given notebook as a script.
Test commands#
lisa-test- Run LISA synthetic tests.This is just a wrapper around
exekallthat selects all tests modules and use positional arguments as--selectpatterns. The default configuration file ($LISA_CONF) will be used if available. This can be extended with user-supplied--conf. If multiple iterations are requested using-n, thelisa.target.Targetinstance will be reused across iterations, to avoid the overhead of setting up the target environment.Usage:
lisa-test TEST_PATTERN ... [EXEKALL_OPTIONS ...]Example:
lisa-test 'OneSmallTask*' --listlisa-wltest-series- See wltest main documentationexekall- See exekall main documentationbisector- See bisector main documentation
Buildroot commands#
lisa-buildroot-create-rootfs- Create a buildroot based rootfs to be used as userland for testinglisa-buildroot-update-kernel-config- Update a kernel config to bake a buildroot initramfs into the kernel.
Misc commands#
lisa-load-kmod- Build and load the LISA kernel module on a running target.lisa-plot- Generate various plots from atrace.datfile. Seelisa-plot -hfor available plots.lisa-platinfo-extract- Extract a platform information file (lisa.platforms.platinfo.PlatformInfo) from the target, containing all the knowledge of the target tests or plot functions need.lisa-conf-cat- Parse a LISA YAML configuration file and pretty print it on it’s standard output with help for each key and values of tags computed and interpolated.
Environment variables#
The following environment variables are available:
EXEKALL_ARTIFACT_ROOT |
Default root for exekall’s artifacts |
results |
LISA_CONF |
Default configuration file for exekall |
target_conf.yml |
LISA_DEVMODE |
By default use internal libraries |
1 |
LISA_HOME |
Base directory of LISA environment |
. |
LISA_HOST_ABI |
Add some shell utilities to the PATH, based on the host ABI. Priority is determined by LISA_USE_SYSTEM_BIN |
x86_64 |
LISA_PRESERVE_SHELL |
By default use Lisa’s PS1 and colorscheme for the shell |
0 |
LISA_PYTHON |
Python binary to use. This allows users to install multiple versions in parallel, and ease testing |
python3 |
LISA_RESULT_ROOT |
By default, store the results under that folder |
results |
LISA_UPGRADE_VENV |
1 to make lisa-install upgrade the venv specified in LISA_VENV_PATH. If 0, lisa-install will destroy the venv and re-create anew |
0 |
LISA_USE_SYSTEM_BIN |
Use the system binaries if 1, will use the ones shipped with LISA if 0 |
0 |
LISA_USE_VENV |
1 to make lisa-install use a venv specified in LISA_VENV_PATH, 0 otherwise |
1 |
LISA_VENV_PATH |
Path to venv to be used by lisa-install |
.lisa-venv-<python version> |
If an environment variable is defined prior to sourcing init_env, it will
keep its value.