Commit cd8ab786 authored by Vijayenthiran Subramaniam's avatar Vijayenthiran Subramaniam Committed by Thomas Abraham
Browse files

infra/common: document steps to sync reference software stack



Add a new document that explains the steps to download (sync) the
Neoverse reference design software stack for RD platforms. This
document also explains the steps to install the prerequisite for
building the stack.

Change-Id: I2415562eab59e91c0ca211262fdf6c32b94df1e9
Signed-off-by: Vijayenthiran Subramaniam's avatarVijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
parents
Download Neoverse RD software stack
===================================
.. contents::
Introduction
------------
The page describes the procedure to sync (download) Arm's Neoverse Reference
Design (RD) platform software stack. Note: Host machine with Ubuntu 18.04 or
higher with 64GB of free disk space and 32GB of RAM is minimum requirement to
sync and build the platform software stack. 48GB of RAM is recommended though.
Repo tool setup
---------------
The Neoverse RD software stack is available in multiple git repositories. In
order to simplify downloading the software stack, `repo tool
<https://source.android.com/setup/develop/repo>`_
can be used. This section explains the procedure to setup git and repo tool.
- Install Git by using the following command
::
sudo apt 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 for to be used for all the git commits.
::
git config --global user.name "<your-name>"
git config --global user.email "<your-email@example.com>"
- Install the repo tool either `manually
<https://source.android.com/setup/develop#installing-repo>`_ or through apt
package:
::
sudo apt install repo
This completes the setup of the repo tool.
Platform Manifest Names
-----------------------
The repo tool uses a manifest file in order to download the source code. The
manifest file lists the location of the various repositories and the branches
in those repositories from which the code has to be downloaded. Each of the
Neoverse RD platform has a unique manifest that is supplied to the repo tool to
download the corresponding platform software. The following table lists the
platform names and the corresponding manifest file names. Make a note of the
manifest file name for the platform of your choice as that is required for
the subsequent instructions.
+--------------------------+-------------------------+
| Reference Platform | Manifest File Name |
+==========================+=========================+
| SGI-575 | pinned-sgi575.xml |
+--------------------------+-------------------------+
| RD-N1-Edge (Single Chip) | pinned-rdn1edge.xml |
+--------------------------+-------------------------+
| RD-N1-Edge (Dual Chip) | pinned-rdn1edge-dev.xml |
+--------------------------+-------------------------+
| RD-E1-Edge | pinned-rde1edge.xml |
+--------------------------+-------------------------+
| RD-Daniel Config-M | pinned-rddaniel-dev.xml |
+--------------------------+-------------------------+
| RD-Daniel Config-XLR | pinned-rddaniel-dev.xml |
+--------------------------+-------------------------+
| RD-N2 | pinned-rdn2.xml |
+--------------------------+-------------------------+
Downloading the software stack
------------------------------
The manifest files, which contain the location of all the git repositories of
RD platform software stack, are available `here
<https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-manifest>`_.
This section explains the procedure to sync the software stack.
- Switch to a new empty folder
::
mkdir rd-infra
cd rd-infra
- For obtaining the latest *stable* software stack, use the following commands
to sync:
::
repo init -u https://git.gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-manifest.git -m <manifest-file-name> -b refs/tags/<RELEASE_TAG>
repo sync -c -j $(nproc) --fetch-submodules --force-sync
Note: The manifest file name for the required platform can be found in the
`Platform Manifest Names`_ section. The RELEASE_TAG can be found in the
``Release Tags`` section of the corresponding platform's user guide or from
the release notes, if obtained.
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. *Note:* This command installs additional packages on the
platform and so the user is expected to have the sufficient privileges on the
host machine.
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 in the current 'rd-infra'
workspace.
::
mkdir -p tools/gcc
cd tools/gcc
# Download the toolchain from developer.arm.com
wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz
wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz
# Extract the toolchain
tar -xvJf gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz
tar -xvJf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz
cd ../..
This completes the procedure to download the platform software stack, setup
of the GCC toolchain binaries and installation of the other prerequisites.
--------------
*Copyright (c) 2020, Arm Limited. All rights reserved.*
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment