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 meta-cassini-config/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:
kas build --update meta-cassini-config/kas/cassini.yml:meta-cassini-config/kas/corstone1000-fvp.yml
Or if using kas-container:
kas-container --runtime-args "-e FVP_CORSTONE1000_EULA_ACCEPT=True" build \ meta-cassini-config/kas/cassini.yml:meta-cassini-config/kas/corstone1000-fvp.yml
This will produce a Corstone-1000 firmware image here:
build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.wic
And a Cassini distribution image here:
build/tmp/deploy/images/corstone1000-fvp/cassini-image-base-corstone1000-fvp.wic
Running the FVP¶
To start the FVP and get the console:
kas shell -c "../layers/meta-arm/scripts/runfvp --console" \ meta-cassini-config/kas/cassini.yml:meta-cassini-config/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" \ meta-cassini-config/kas/cassini.yml:meta-cassini-config/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 meta-cassini-config/kas/cassini.yml:meta-cassini-config/kas/corstone1000-fvp.yml
Or if using kas-container:
kas-container --runtime-args "-e FVP_CORSTONE1000_EULA_ACCEPT=True -e TESTIMAGE_AUTO=1" build \ meta-cassini-config/kas/cassini.yml:meta-cassini-config/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)