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