From Fedora Project Wiki
(Getting Started with the Aarch64 Bootstrap)
(Known Issues)
Line 129: Line 129:
= Known Issues =
= Notes =

Revision as of 15:13, 29 May 2013


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. The disk image will extract to roughly 8GB in size and may take several minutes to unpack depending on your hardware.

cd ~/aarch64
tar xvjf stage4-root-20130528.img.tar.bz2

Kernel Packages

The Foundation model seems to have some performance issues when using a serial console, there are two kernel packages to choose from - one that includes the console, the other does not and is intended for use by connecting through ssh.

  • With console:
tar xvjf systemd-3.9-image-2G.tar.bz2
  • No console:
tar xvjf systemd-3.9-image-ns-2G.tar.bz2
Starting the Model
  • With console:
sudo Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8 \
		--image systemd-3.9-image-2G/systemd-3.9-image-2G-1.axf \
		--network=bridged \
		--network-bridge=ARM1 \
		--block-device stage4-root-20130528.img  
  • No console:
sudo Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8 \
		--image systemd-3.9-image-ns-2G/systemd-3.9-image-ns-2G-1.axf \
		--network=bridged \
		--network-bridge=ARM1 \
		--block-device stage4-root-20130528.img  

The model will take a few moments to start. The root password is 'fedora', there is also another account called 'builder' password 'builder'.

Network Configuration

After launching the model, sign in using the root account for the network to be auto-configured.

On the host system:

sudo ifconfig ARM1 netmask

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 -A FORWARD -i $HOSTEXTERNAL -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i ARM0 -o $HOSTEXTERNAL -j ACCEPT
  • Firewall trouble? Try this:
sudo iptables -A INPUT -i ARM0 -j ACCEPT

The model uses Google's Public DNS server ( for name resolution (/etc/resolv.conf).

Getting Started with the Aarch64 Bootstrap

Use either ssh or the console to connect to the model, if this is your first time running the model it is recommended to use a kernel that will provide a console for troubleshooting any problems that arise.

Before getting started, its very important to set the correct date on the model, the below example will set the date to 12:00pm, 29 May 2013

date 052912002013

Then execute the script:


The system should begin building packages for the aarch64 bootstrap, below is an example of the output you should see:

[builder@aarch64 ~]$ /usr/sbin/
building: bouncycastle-1.46-7.fc19 at Thu Apr 25 22:43:27 GMT 2013
INFO: version 1.1.30 starting...
Start: init plugins
INFO: selinux disabled
Finish: init plugins
Start: run
INFO: Start(/home/builder/bouncycastle-1.46-7.fc19.src.rpm)  Config(stage4-aarch64)
Start: lock buildroot
Start: clean chroot
Finish: clean chroot
Finish: lock buildroot
Start: chroot init
Start: lock buildroot
Mock Version: 1.1.30
INFO: Mock Version: 1.1.30
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
INFO: enabled ccache
Start: device setup
Finish: device setup
Start: yum update