RD-N1-Edge and RD-N1-Edge-Dual platform user guide

1.   Introduction

RD (Reference Design) is a collection of resources to provide a representative view of typical compute subsystems that can be designed and implemented using specific generations of Arm IP. RD-N1-Edge in particular is based on:

  • 8x Neoverse N1 Cores with DynamIQ Shared Unit (DSU)
  • Dedicated L2 cache: 512KB per core
  • Shared L3 cache: 2MB per cluster
  • CMN-600 with CML option: 8MB System Level Cache and 16MB Snoop Filter
  • DMC-620 with 2xRDIMM DDR4-3200
  • Multiple AXI expansion ports for I/O Coherent PCIe, Ethernet, offload
  • Arm Cortex-M7 for System Control Processor (SCP) and Manageability Control Processor (MCP)

RD-N1-Edge also supports a dual-chip configuration in which two RD-N1-Edge platforms are connected through high speed CCIX link. The CCIX link is enabled by CMN600's Coherent Multichip Link. Such platforms are called RD-N1-Edge-Dual hereafter.

This document is a user guide on how to setup, build and run the software stack of RD-N1-Edge and RD-N1-Edge-Dual on Fixed Virtual Platform.

2.   Host machine requirements

The minimum recommended host PC specification for building the software stack and running the RD-N1-Edge and RD-N1-Edge-Dual FVP model is a dual-core processor running at 2GHz with 8GB of RAM. For best performance, use a machine with a quad-core processor running at 2.6GHz with 16GB of RAM with free hard disk space of at least 64GB.

The software package has been tested on Ubuntu 16.04 LTS (64-bit) and Ubuntu 18.04 LTS (64-bit). This guide assumes that the user is on either of this operating system.

3.   Repo tool setup

The software stack for RD-N1-Edge and RD-N1-Edge-Dual is available in multiple git repositories. In order to simplify downloading the software stack, repo tool can be used. This section explains how to setup git and repo tool.

  • Install Git by using the following command

    sudo apt-get install git
  • Git installation can be confirmed by checking the version

    git --version

    This should return the git version in a format such as git version 2.7.4

  • Set name and email address in git

    git config --global user.name "<your-name>"
    git config --global user.email "<your-email@example.com>"
  • Download the repo tool

    sudo apt-get install repo

This completes the setup of the repo tool.

4.   Syncing the software stack

The manifest file, which contains the location of all the git repositories of RD-N1-Edge and RD-N1-Edge-Dual software stack, is available here. This section explains how to sync the software stack.

  • Switch to a new folder

    mkdir rdn1edge
    cd rdn1edge
  • For obtaining the latest stable software stack, use the following commands to sync:

    • For RD-N1-Edge or RD-N1-Edge dual-chip
    repo init -u https://git.linaro.org/landing-teams/working/arm/arm-reference-platforms-manifest.git -m pinned-rdn1edge.xml -b refs/tags/<RELEASE_TAG>
    repo sync -j $(nproc) --fetch-submodules --force-sync

    Note: The RELEASE_TAG can be found in the release notes, if obtained. If a release note is not available, or if a RELEASE_TAG is not known, see the section "Release Tags" below to obtain the most recent release tag.

  • For obtaining the software stack with latest upstream updates but which might not have been fully validated, use the following commands to sync:

    • For RD-N1-Edge or RD-N1-Edge dual-chip
    repo init -u https://git.linaro.org/landing-teams/working/arm/arm-reference-platforms-manifest.git -m rdn1edge.xml -b master
    repo sync -j $(nproc) --fetch-submodules --force-sync

This will download the RD-N1-Edge or RD-N1-Edge-Dual software stack into the rdn1edge folder.

5.   Installing prerequisites

Run the following command to install all the required prerequisites to build the software stack:

sudo ./build-scripts/rdinfra/install_prerequisites.sh

It is mandatory to execute this script at least once before build and executing the software stack.

6.   Downloading the GCC toolchain binaries

In addition to the prerequisites installed, gcc toolchain binaries have to be downloaded and placed at the tools/gcc folder. Use the following commands to download and untar the binaries:

# Move to the rdn1edge software stack directory
cd rdn1edge

# Create a folder for gcc under tools folder
mkdir -p tools/gcc
cd tools/gcc

# Download and extract the binaries
wget https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/aarch64-linux-gnu/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.tar.xz
tar -xJf gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.tar.xz
wget https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/arm-linux-gnueabihf/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz
tar -xJf gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz
wget https://armkeil.blob.core.windows.net/developer//sitecore/shell/-/media/Files/downloads/gnu-rm/5_4-2016q3/gcc-arm-none-eabi-5_4-2016q3-20160926-linux,-d-,tar.bz2
tar -xjf gcc-arm-none-eabi-5_4-2016q3-20160926-linux,-d-,tar.bz2

This completes the setup of the GCC toolchain binaries.

7.   Obtaining the RD-N1-Edge and RD-N1-Edge-Dual Fast Model

RD-N1-Edge Fast Model version 11.8 can be downloaded from arm developer page (under section Arm Neoverse FVPs).

User can request for the latest version of RD-N1-Edge and RD-N1-Edge-Dual Fast Models through this page or contact arm directly at this email address: support-connect@arm.com.

Follow the instruction in the installer and setup the FVP. Typically, the installer will ask to create a new folder in the home directory. You can either install the FVP in the home folder, or in the fastmodel/refinfra folder inside the rdn1edge folder. If you would like to install in the fastmodel/refinfra folder, when asked for the install location, enter as fastmodel/refinfra.

Before launching any scripts from model-scripts folder, export the absolute path of the model as an environment variable.

export MODEL=<absolute-path-of-the-model-executable>

This completes the steps to obtain the RD-N1-Edge and RD-N1-Edge-Dual Fast Models.

8.   Supported Features

RD-N1-Edge and RD-N1-Edge-Dual software stack supports number of tests to explore its features. To begin with, one can start with the busybox boot, and then try installing and booting various linux distribution. RD-N1-Edge is target for infrastructure platforms and it supports variety of infrastructure specific features.

All the supported tests for RD-N1-Edge and RD-N1-Edge-Dual are listed below:

Filesystems RD-N1-Edge RD-N1-Edge-Dual
Busybox Supported Supported
Fedora 27 Enterprise Linux Distribution Supported  
Debian 9.8.0 Enterprise Linux Distribution Supported  
Ubuntu 18.4 Enterprise Linux Distribution Supported  
Tests RD-N1-Edge RD-N1-Edge-Dual
ACS Supported  
KVM Supported  
Secure Boot    
TFTF Supported  

9.   Release Tags

Most recent release tag:
  • RD-N1-Edge platform: RD-INFRA-2020.09.30
  • RD-N1-Edge-Dual platform: RD-INFRA-2020.09.30

Here's the list of release tags and corresponding Fast Model version supported:

Release Tag RD-N1-Edge FVP Version RD-N1-Edge-Dual FVP Version
RD-INFRA-2020.09.30 11.12.43 11.12.43

Copyright (c) 2019, Arm Limited. All rights reserved.