From 627f8b9f7d2b5a93c87facda8aa3cc8cbcac26a0 Mon Sep 17 00:00:00 2001 From: Peter Hoyes Date: Fri, 22 Apr 2022 17:08:55 +0100 Subject: [PATCH] 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 Change-Id: I776277c690bf4466445ca2df17eedb202f172f58 Signed-off-by: Jon Mason --- kas/fvp-baser-aemv8r64-bsp.yml | 3 --- .../conf/machine/fvp-baser-aemv8r64.conf | 2 ++ .../documentation/fvp-baser-aemv8r64.md | 20 +++++-------------- .../recipes-devtools/fvp/fvp-base-r-aem.bb | 17 ---------------- .../fvp/fvp-base-r-aem_11.17.21.bb | 10 ++++++++++ 5 files changed, 17 insertions(+), 35 deletions(-) delete mode 100644 meta-arm/recipes-devtools/fvp/fvp-base-r-aem.bb create mode 100644 meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.17.21.bb diff --git a/kas/fvp-baser-aemv8r64-bsp.yml b/kas/fvp-baser-aemv8r64-bsp.yml index 68712011..43ca36ac 100644 --- a/kas/fvp-baser-aemv8r64-bsp.yml +++ b/kas/fvp-baser-aemv8r64-bsp.yml @@ -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: diff --git a/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf b/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf index db8c4fe2..8646bdf3 100644 --- a/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf +++ b/meta-arm-bsp/conf/machine/fvp-baser-aemv8r64.conf @@ -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" diff --git a/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md b/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md index eeeb4fa0..0b34d7f9 100644 --- a/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md +++ b/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md @@ -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 diff --git a/meta-arm/recipes-devtools/fvp/fvp-base-r-aem.bb b/meta-arm/recipes-devtools/fvp/fvp-base-r-aem.bb deleted file mode 100644 index f21ccae3..00000000 --- a/meta-arm/recipes-devtools/fvp/fvp-base-r-aem.bb +++ /dev/null @@ -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") -} diff --git a/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.17.21.bb b/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.17.21.bb new file mode 100644 index 00000000..06bc370a --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.17.21.bb @@ -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"