1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-01-11 15:00:39 +00:00

arm/fvp-base-r-aem: Automatically download FVP tarball

The FVP_Base_AEMv8R tarball is now available to download directly from
developer.arm.com without logging in. Therefore, remove the
FVP_BASE_R_AEM_TARBALL_URI env var (and references in the documentation)
and update the SRC_URI in the recipe.

Move fvpboot and userNetPorts to the machine conf, now that the
FVP configuration is no longer dependent on an external tarball.

Clarify the currently supported FVP version in the documentation.

Put the current PV in the recipe filename.

Issue-Id: SCM-4304
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I776277c690bf4466445ca2df17eedb202f172f58
Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Peter Hoyes
2022-04-22 17:08:55 +01:00
committed by Jon Mason
parent 9f0c905066
commit 627f8b9f7d
5 changed files with 17 additions and 35 deletions

View File

@@ -25,7 +25,6 @@ repos:
meta-poky:
env:
FVP_BASE_R_AEM_TARBALL_URI: ""
FVP_BASE_R_ARM_EULA_ACCEPT: "False"
local_conf_header:
@@ -34,8 +33,6 @@ local_conf_header:
PACKAGE_CLASSES = "package_ipk"
PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl"
EXTRA_IMAGE_FEATURES:append = " debug-tweaks ssh-server-openssh"
FVP_CONFIG[bp.virtio_net.hostbridge.userNetPorts] ?= "8022=22"
IMAGE_CLASSES:append = " ${@oe.utils.ifelse(d.getVar('FVP_BASE_R_AEM_TARBALL_URI'), 'fvpboot', '')}"
LICENSE_FLAGS_ACCEPTED:append = " ${@oe.utils.vartrue('FVP_BASE_R_ARM_EULA_ACCEPT', 'Arm-FVP-EULA', '', d)}"
target:

View File

@@ -19,6 +19,7 @@ UBOOT_MACHINE ?= "vexpress_aemv8r_defconfig"
SERIAL_CONSOLES = "115200;ttyAMA0"
IMAGE_CLASSES:append = " fvpboot"
IMAGE_FSTYPES += "wic"
WKS_FILE ?= "efi-disk.wks.in"
EFI_PROVIDER ?= "grub-efi"
@@ -61,6 +62,7 @@ FVP_CONFIG[gic_distributor.has-two-security-states] ?= "0"
FVP_CONFIG[pctl.startup] ?= "0.0.0.*"
FVP_CONFIG[bp.virtio_net.enabled] ?= "1"
FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1"
FVP_CONFIG[bp.virtio_net.hostbridge.userNetPorts] ?= "8022=22"
FVP_CONFIG[bp.virtio_rng.enabled] ?= "1"
FVP_CONFIG[bp.vis.rate_limit-enable] ?= "0"
FVP_CONFIG[bp.refcounter.use_real_time] ?= "1"

View File

@@ -27,6 +27,7 @@ The fvp-baser-aemv8r64 Yocto MACHINE supports the following BSP components,
where either a standard or Real-Time Linux kernel (PREEMPT\_RT) can be built
and run:
- FVP_Base_AEMv8R: v11.17.21
- boot-wrapper-aarch64: provides PSCI support
- U-Boot: v2022.01 - provides UEFI services
- Linux kernel: linux-yocto-5.15
@@ -104,20 +105,11 @@ is 3.0, install it like so:
For more details on kas, see https://kas.readthedocs.io/.
To build the images for fvp-base machine, you also need to:
To build the images for the fvp-baser-aemv8r64 machine, you also need to accept
the EULA at
https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms/end-user-license-agreement-for-fixed-virtual-platforms
by setting the following environment variable:
- download the ``FVP_Base_AEMv8R_11.17_21.tgz`` image AEM V8-R FVP Installer
(Linux) package from Arm's website:
https://silver.arm.com/download/download.tm?pv=4865959&p=4029857. You need
to have an account and be logged in to be able to download it
- set absolute path to the ``FVP_Base_AEMv8R_11.17_21.tgz`` downloaded
package in ``FVP_BASE_R_AEM_TARBALL_URI``
- accept EULA in ``FVP_BASE_R_ARM_EULA_ACCEPT``
The variables should be set like so:
FVP_BASE_R_AEM_TARBALL_URI="file:///absolute/path/to/FVP_Base_AEMv8R_11.17_21.tgz"
FVP_BASE_R_ARM_EULA_ACCEPT="True"
**Note:** The host machine should have at least 50 GBytes of free disk space
@@ -142,14 +134,12 @@ Fetch the meta-arm repository into a build directory:
Building with the standard Linux kernel:
cd ~/fvp-baser-aemv8r64-build
export FVP_BASE_R_AEM_TARBALL_URI="file:///absolute/path/to/FVP_Base_AEMv8R_11.17_21.tgz"
export FVP_BASE_R_ARM_EULA_ACCEPT="True"
kas build meta-arm/kas/fvp-baser-aemv8r64-bsp.yml
Building with the Real-Time Linux kernel (PREEMPT\_RT):
cd ~/fvp-baser-aemv8r64-build
export FVP_BASE_R_AEM_TARBALL_URI="file:///absolute/path/to/FVP_Base_AEMv8R_11.17_21.tgz"
export FVP_BASE_R_ARM_EULA_ACCEPT="True"
kas build meta-arm/kas/fvp-baser-aemv8r64-rt-bsp.yml

View File

@@ -1,17 +0,0 @@
require fvp-envelope.inc
SUMMARY = "Arm Fixed Virtual Platform - Armv8-R Base Architecture Envelope Model FVP"
LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \
file://license_terms/third_party_licenses.txt;md5=41029e71051b1c786bae3112a29905a7"
# This FVP cannot be downloaded directly, so download the Armv8-R Base AEM FVP
# yourself from the homepage and set FVP_BASE_R_AEM_TARBALL_URI appropriately
# (for example, file:///home/user/FVP_Base_AEMv8R_11.17_21.tgz).
FVP_BASE_R_AEM_TARBALL_URI ?= ""
PV = "11.17.21"
SRC_URI = "${FVP_BASE_R_AEM_TARBALL_URI};subdir=${BP}"
python() {
if not d.getVar("FVP_BASE_R_AEM_TARBALL_URI"):
raise bb.parse.SkipRecipe("FVP_BASE_R_AEM_TARBALL_URI not set")
}

View File

@@ -0,0 +1,10 @@
require fvp-envelope.inc
SUMMARY = "Arm Fixed Virtual Platform - Armv8-R Base Architecture Envelope Model FVP"
LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \
file://license_terms/third_party_licenses.txt;md5=41029e71051b1c786bae3112a29905a7"
SRC_URI = "https://developer.arm.com/-/media/Files/downloads/ecosystem-models/${MODEL_CODE}_${PV_URL}.tgz;subdir=${BP}"
SRC_URI[sha256sum] = "483ec3c2c6569e3e7e0c4c46329662c0d19475dee8e8947c24fa3de4b00da488"
MODEL_CODE = "FVP_Base_AEMv8R"