Install and Boot a Linux distribution

Important

This feature might not be applicable to all Platforms. Please check individual Platform pages, section Supported Features to confirm if this feature is listed as supported.

Note

This section assumes the user has completed the chapter Getting Started and has a functional working environment.

Linux distribution boot

Neoverse Reference Design (RD) platform software stack supports the installation and boot of various linux distributions such as Debian, Ubuntu or Fedora. The distribution is installed on a SATA disk and the installed image can be used for multiple boots.

Build the platform software

This section describes the procedure to build the platform firmware required to install and boot a linux distribution on Neoverse RD platforms.

To build the RD software stack, the command to be used is

./build-scripts/build-test-uefi.sh -p <platform name> <command>

Supported command line options are listed below

  • <platform name>

  • <command>

    • clean

    • build

    • package

    • all (all of the three above)

Examples of the build command are

  • Command to clean, build and package the RD-N2 software stack required for the distro installation/boot test on the platform:

    ./build-scripts/build-test-uefi.sh -p rdn2 all
    
  • Command to remove the generated outputs (binaries) of the software stack for the RD-N2 platform:

    ./build-scripts/build-test-uefi.sh -p rdn2 clean
    
  • Command to perform an incremental build of the software components included in the software stack for the RD-V1 quad-chip platform:

    ./build-scripts/build-test-uefi.sh -p rdv1mc build
    

Note

This command should be followed by the package command to complete the preparation of the fip image.

  • Command to package the previously built software stack and prepares the fip image:

    ./build-scripts/build-test-uefi.sh -p rdv1mc package
    

Installing a linux distribution

After the build of the platform software stack for the distro install/boot is complete, a distribution can be installed into a SATA disk image. Before beginning the installation process, download the CD iso image of the required distribution version.

Latest version of distro installation images can be downloaded from the following locations (select an image built for aarch64 architecture):

The commands used to begin the distro installation are:

  • Set MODEL path before launching the model:

    export MODEL=<absolute path to the platform FVP binary>
    
  • If platform is SGI-575:

    cd model-scripts/sgi
    
  • If platform is an RD:

    cd model-scripts/rdinfra
    
  • Launch the installation:

    ./distro.sh -p <platform name> -i <abs_iso_image_path> -s <disk size> -a <additional_params> -n [true|false]
    

Supported command line options are listed below

  • -p <platform name>

  • -i <abs_iso_image_path>

    • Absolute path to the downloaded distribution installer disk image.

  • -s <disk_size>

    • Size of the SATA disk image (in GB) to be created. 12GB and above is good enough for most use cases.

  • -n [true|false] (optional)

    • Controls the use of network ports by the model. If network ports have to be enabled, use ‘true’ as the option. Default value is set to ‘false’.

  • -a <additional_params> (optional)

    • Specify any additional model parameters to be passed. The model parameters and the data to be passed to those parameters can be found in the FVP documentation.

An example of a command to install the debian distribution is listed below.

./distro.sh -p rdv1 -i /absolute/path/to/debian-10.6.0-arm64-xfce-CD-1.iso -s 16
  • This command creates a 16GB SATA disk image, boots the RD-V1 single-chip software stack and starts the installation of debian distribution.

  • From here on, follow the instructions of the choosen distribution installer. For more information about the installation procedure, refer online installation manuals of the choosen distribution.

  • After the installation is completed, the disk image with a random name “<number>.satadisk” will be created in model-scripts/rdinfra/ folder. Use this disk image for booting the installed distribution.

Additional distribution specific instructions (if any)

  • Debian Distribution installation:

    • During installation, the installer will prompt the user with the message ‘Load CD-ROM drivers from removable media’ and display two options - Yes/No. Select the option ‘No’. This is followed by another prompt ‘Manually select a CD-ROM module and device?’ and displays two options - Yes/No. Select the option ‘Yes’. This brings up the module list required for accessing CD-ROM and lists two options - ‘none’ and ‘cdrom’. Select the option ‘none’ and enter /dev/vda. The installation media on the virtio disk will be detected and installation continues.

  • Ubuntu Distribution installation:

    • During installation, the installer will display options for additional packages that may require internet connection, such as ‘openssh-server’. It is important that these options are not selected. Choosing to install additional packages may cause failure to boot after the satadisk image is created.

Booting a linux distribution

To boot the installed distro, use the following commands:

  • Set MODEL path before launching the model:

    export MODEL=<absolute path to the platform FVP binary>
    
  • If platform is SGI-575:

    cd model-scripts/sgi
    
  • If platform is an RD:

    cd model-scripts/rdinfra
    
  • Start the distro boot:

    ./distro.sh -p <platform name> -d <satadisk_path> -a <additional_params> -n [true|false]
    

Supported command line options are listed below

  • -p <platform name>

  • -d <satadisk_path>

    • Absolute path to the installed distro disk image created using the instructions listed in the previous section.

  • -n [true|false] (optional)

    • Controls the use of network ports by the model. If network ports have to be enabled, use ‘true’ as the option. Default value is set to ‘false’.

  • -a <additional_params> (optional)

    • Specify any additional model parameters to be passed. The model parameters and the data to be passed to those parameters can be found in the FVP documentation.

Example commands to boot a linux distribution are listed below.

  • Command to look for the available .satadisk image in the model-scripts/rdinfra folder and boots with that image. If multiple .satadisk images are found, it will list them all but won’t boot:

    ./distro.sh -p rdv1
    
  • Command to begin the distro boot from the fedora.satadisk image:

    ./distro.sh -p rdv1 -d /absolute/path/to/fedora.satadisk