Skip to content

Running under FVP

TuxRun allows to run linux kernel under FVP for Morello and AEMvA.

Supported devices

See the architecture matrix for the supported devices.

Preparing the environment

In order to use TuxRun with FVP, you have to build container images:

  • tuxrun fvp image (only for podman)
  • AEMvA fvp model
  • morello fvp model

Start by cloning the git repository:

git clone https://gitlab.com/Linaro/tuxrun
cd tuxrun

TuxRun fvp image

Build the TuxRun image

cd share/fvp
make fvp

Runtime

When using docker runtime, this container is not needed.

AEMvA fvp model

Build the container containing the AEMvA FVP model:

cd share/fvp
make fvp-aemva
cd share/fvp
make fvp-aemva RUNTIME=docker

Container tag

The container should be named fvp:aemva-11.21.15 in order for TuxRun to work.

Morello fvp model

Build the container containing the Morello FVP model:

cd share/fvp
make fvp-morello
cd share/fvp
make fvp-morello RUNTIME=docker

Container tag

The container should be named fvp:morello-0.11.34 in order for TuxRun to work.

AEMvA testing

The command line is really similar to the qemu one:

Example

tuxrun --image tuxrun:fvp \
       --device fvp-aemva \
       --kernel https://example.com/Image \
       --dtb https://example.com/fvp-base-revc.dtb
tuxrun --runtime docker \
       --device fvp-aemva \
       --kernel https://example.com/Image \
       --dtb https://example.com/fvp-base-revc.dtb

Boot testing

In order to run a simple boot test on fvp-morello-busybox:

Example

tuxrun --image tuxrun:fvp \
       --device fvp-morello-buxybox \
       --ap-romfw https://example.com/fvp/morello/tf-bl1.bin \
       --mcp-fw https://example.com/fvp/morello/mcp_fw.bin \
       --mcp-romfw https://example.com/fvp/morello/mcp_romfw.bin \
       --rootfs https://example.com/fvp/morello/rootfs.img.xz \
       --scp-fw https://example.com/fvp/morello/scp_fw.bin \
       --scp-romfw https://example.com/fvp/morello/scp_romfw.bin \
       --fip https://example.com/fvp/morello/fip.bin
tuxrun --runtime docker \
       --device fvp-morello-buxybox \
       --ap-romfw https://example.com/fvp/morello/tf-bl1.bin \
       --mcp-fw https://example.com/fvp/morello/mcp_fw.bin \
       --mcp-romfw https://example.com/fvp/morello/mcp_romfw.bin \
       --rootfs https://example.com/fvp/morello/rootfs.img.xz \
       --scp-fw https://example.com/fvp/morello/scp_fw.bin \
       --scp-romfw https://example.com/fvp/morello/scp_romfw.bin \
       --fip https://example.com/fvp/morello/fip.bin

Modules overlay

TuxRun allows to provide a custom modules.tar.xz archive that will be extracted on top of the rootfs.

tuxrun --device fvp-aemva \
       --kernel https://example.com/Image \
       --modules modules.tar.xz

Modules format

The modules archive should be a tar archive, compressed with xz.

Overlays

Any overlay can be applied to the rootfs with the --overlay option. This option can be specified multiple times. Each overlay should be a tar archive compressed with xz.

Testing on Android

In order to run an Android test on fvp-morello-android:

tuxrun --image tuxrun:fvp \
       --device fvp-morello-android \
       --ap-romfw https://example.com/fvp/morello/tf-bl1.bin \
       --mcp-fw https://example.com/fvp/morello/mcp_fw.bin \
       --mcp-romfw https://example.com/fvp/morello/mcp_romfw.bin \
       --rootfs https://example.com/fvp/morello/rootfs.img.xz \
       --scp-fw https://example.com/fvp/morello/scp_fw.bin \
       --scp-romfw https://example.com/fvp/morello/scp_romfw.bin \
       --fip https://example.com/fvp/morello/fip.bin \
       --parameters USERDATA=https://example.com/fvp/morello/userdata.tar.xz \
       --tests binder
tuxrun --runtime docker \
       --device fvp-morello-android \
       --ap-romfw https://example.com/fvp/morello/tf-bl1.bin \
       --mcp-fw https://example.com/fvp/morello/mcp_fw.bin \
       --mcp-romfw https://example.com/fvp/morello/mcp_romfw.bin \
       --rootfs https://example.com/fvp/morello/rootfs.img.xz \
       --scp-fw https://example.com/fvp/morello/scp_fw.bin \
       --scp-romfw https://example.com/fvp/morello/scp_romfw.bin \
       --fip https://example.com/fvp/morello/fip.bin \
       --parameters USERDATA=https://example.com/fvp/morello/userdata.tar.xz \
       --tests binder