Aarch64 Quickstart Guide
This page will help those new to aarch64(armv8) get started the foundation model provided by ARM.
Download
The first step will be to download the Foundation model from ARM, a stage4 root filesystem, and a kernel for use with the file system. In order to download the Foundation model you will need to create a free account with ARM.
- The Foundation Model
- The Kernel
- The root filestsystem
Using the model
Unpack the model
mkdir ~/armv8 cd ~/armv8 tar xvzf FM000-KT-00035-r0p8-44rel23.tgz
Rather than using the full path, create an alias for running the Foundation model
Alias
Extract the Root Filesystem
After downloading the rootfs extract it to your '~/armv8' directory:
cd ~/armv8 tar xvjf f19-stage4-rootfs.tar.bz2
With the kernel, rootfs in your working directory fv8 --image img-foundation.axf --block-device f19-stage4-rootfs.img --network=nat
The model will take a few moments to start.
Using the model with an NFS root
Using the model through an NFS is recommended as it will allow the most flexibility when working with the model. Again there are two kernels, one for use with Busybox, the other for use with systemd.
- Kernel w/systemd
- kernel w/busybox
- nfs file system (link to stage4)
Extract
First you will need to create a directory for the root filesystem. It is important you use the same path in the example as the kernel expects the rootfs to be at the path noted.
mkdir -p /var/exports/aarch64/stage4-nfs-root cd /var/exports/aarch64/ wget http://fedorapeople.org/groups/armv8/stage4-root-20130411.tar.xz cd stage4-nfs-root sudo tar xvJf ../stage4-root-20130411.tar.xz sudo mv stage4-root-20130411/* . sudo rm -rf stage4-root-20130411
- Now create an NFS share for the rootfs, edit /etc/exports
vi /etc/exports /var/exports/aarch64/stage4-nfs-root *(rw,no_root_squash,no_all_squash,async)
- Start the service
sudo systemctl start nfs.service
Networking with an NFS root
You need to setup the network for use with the aarch64 model and the addressing used in the kernel arguments. Start the model using one of the following depending on if you would like to use systemd or busybox.
- Systemd:
./Foundation_v8 --image ../systemd-3.7-nfs-foundation.axf --network=bridged
- Busybox:
./Foundation_v8 --image ../busybox-3.7-nfs-foundation.axf --network=bridged
After starting the model you will see a new device created on your host system named 'ARM0', use the following to assign an IP address for use with the model:
sudo ifconfig ARM0 10.0.0.1 netmask 255.255.255.0
Once this adapter is assigned an IP address, the system should boot to either a login prompt or boot with busybox as the init process.