Aarch64 Quickstart Guide
This page will help those new to aarch64(armv8) get started with the Foundation Model provided by ARM. There are a number of options available when using the model, including use of a disk image file or NFS root filesystem, as well as a choice of kernel if you would like to use Systemd or Busybox as the init process.
Download the Foundation Model
The first step will be to download the Foundation model from ARM. The model is not redistributable and will therefor require you to create a free account with ARM. Once completed you will be able to download the Foundation Model and begin.
To run the model you may need to install some additional software with the following command:
sudo yum install xterm xorg-x11-fonts-{misc,100dpi,75dpi}* telnet bridge-utils
Extract the Foundation Model
Once you have downloaded the model, you will need to set up your environment. The model can extracted to a path of your choosing, in this example we will use your home directory. Unpack the model:
mkdir ~/aarch64 cd ~/aarch64 tar xvzf FM000-KT-00035-r0p8-44rel23.tgz
Using the Model with an Image
Using the commands below, download and extract the Aarch64 root filesystem disk image.
cd ~/aarch64 wget http://dmarlin.fedorapeople.org/fedora-arm/aarch64/F19-aarch64-efi.tar.xz tar Jxvf F19-aarch64-efi.tar.xz
Starting the Model
The image supports virtio, so the kernel image, initramfs, and device tree blob included on the image will be used to boot. You no longer need to use separate "Kernel Packages".
An example script for starting the model has been included in the tarball. This script performs the following steps to start the model:
sudo ../Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8 \ --cores=1 \ --visualization \ --image=linux-system-el3-foundation.axf \ --data=RTSM_VE_FOUNDATIONV8_EFI.fd@0xA0000000 \ --block-device `pwd`/aarch64-efi.img \ --network=bridged \ --network-bridge=ARM1 & sleep 5 sudo ifconfig ARM1 10.0.1.1 netmask 255.255.255.0
Both console (telnet) and ssh access are supported. To start the model, change to the F19-aarch64-efi subdirectory and run the script:
cd ~/aarch64/F19-aarch64-efi ./efi-aarch64.sh
You should be able to ssh to the model once it has fully booted. You can use telnet to connect to the serial console using the provided ports as it boots.
- For console:
telnet 10.0.1.1 5000 # note this is the IP of the gateway and not the model
- For ssh login:
ssh root@10.0.1.2 # note this is the IP address of the model
The root password is 'fedora'.
Using the model with an NFS root
Using the model through an NFS root is no longer recommended or supported here.
Allowing the Model to Connect to the Internet
On the host:
- Enable IP forwarding (as root)
echo 1 > /proc/sys/net/ipv4/ip_forward
- Set up Network Address Translation:
HOSTEXTERNAL=eth0 # Replace this with your outside interface sudo iptables -t nat -I POSTROUTING -o $HOSTEXTERNAL -j MASQUERADE sudo iptables -I FORWARD -i $HOSTEXTERNAL -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT sudo iptables -I FORWARD -i ARM1 -o $HOSTEXTERNAL -j ACCEPT
- Firewall trouble? Try this:
sudo iptables -I INPUT -i ARM1 -j ACCEPT
The model uses Google's Public DNS server (8.8.8.8) for name resolution (/etc/resolv.conf).
Fixing build failures
If you want to debug a broken package, please visit the problem package list, follow the directions and claim the packages of your choice.