Getting Started with Arm Corstone-1000 FVP
This document explains how to build and boot the Cassini distro on the Arm Corstone-1000 FVP (Fast Model Fixed Virtual Platform).
Note
Due to performance limitations, K3s is not currently supported on the Arm Corstone-1000 FVP.
Build
The provided kas configuration file kas/corstone1000-fvp.yml
can be
used to build images that are targeting the Corstone-1000 FVP.
Note
To build and run any image for the Corstone-1000 FVP the user has to accept its EULA, which can be done by executing the following command in the build environment:
export FVP_CORSTONE1000_EULA_ACCEPT=True
Building FVP images
To build Corstone-1000 FVP images with default options:
kas build --update kas/cassini.yml:kas/corstone1000-fvp.yml
Or if using kas-container:
kas-container --runtime-args "-e FVP_CORSTONE1000_EULA_ACCEPT=True" build \ kas/cassini.yml:kas/corstone1000-fvp.yml
This will produce a Corstone-1000 firmware image here:
build/tmp/deploy/images/corstone1000-fvp/corstone1000-flash-firmware-image-corstone1000-fvp.wic
And a Cassini distribution image here:
build/tmp/deploy/images/corstone1000-fvp/cassini-image-base-corstone1000-fvp.wic
For other build options, refer to Build System
Running the FVP
To start the FVP and get the console:
kas shell -c "../layers/meta-arm/scripts/runfvp --console" \ kas/cassini.yml:kas/corstone1000-fvp.yml
Or if using kas-container:
kas-container --runtime-args "-e FVP_CORSTONE1000_EULA_ACCEPT=True" \ shell -c "/work/layers/meta-arm/scripts/runfvp --console" \ kas/cassini.yml:kas/corstone1000-fvp.yml
By default, the Corstone-1000 FVP is configured for user mode networking. For more information and instructions on how to configure networking with Fixed Virtual Platforms, refer to the Fast Models Reference Guide.
Note
See notes under Run-Time Integration Tests before running validation steps.
Validation
The following validation tests can be performed on the Cassini Reference Stack:
System Integration Tests:
Cassini Architecture Stack:
TESTIMAGE_AUTO=1 kas build kas/cassini.yml:kas/corstone1000-fvp.yml
Or if using kas-container:
kas-container --runtime-args "-e FVP_CORSTONE1000_EULA_ACCEPT=True -e TESTIMAGE_AUTO=1" build \ kas/cassini.yml:kas/corstone1000-fvp.ymlThe previous test takes around 2 minutes to complete.
A similar output should be printed out:
NOTE: Executing Tasks Creating terminal default on host_terminal_0 default: Waiting for login prompt RESULTS: RESULTS - linuxboot.LinuxBootTest.test_linux_boot: PASSED (23.70s) SUMMARY: cassini-image-base () - Ran 1 test in 23.704s cassini-image-base - OK - All required tests passed (successes=1, skipped=0, failures=0, errors=0)