Skip to content

Aarch64 support

Pierre Olivier edited this page Aug 20, 2019 · 17 revisions

We provide basic ARM64 support to run applications as unikernels. We support the LibreComputer Potato board. Here are the instructions to build and execute HermiTux for aarch64. This guide targets a Debian 10 distribution.

Prerequisites

In addition to the regular HermiTux requirements:

sudo apt install build-essential nasm texinfo libmpfr-dev libmpc-dev \
    libgmp-dev flex bison libisl-dev aarch64-linux-gnu-gcc

Compile the toolchain

Unlike the x86-64 ISA for which the HermitCore toolchain is available as precompiled binaries, for aarch64 we need to compile that toolchain that will be in turn used to compile the HermiTux kernel.

Clone the toolchain repo and launch the toolchain build process. It can take a bit of time:

cd hermitux
git clone https://github.com/ssrg-vt/hermitux-toolchain.git
cd hermitux-toolchain
./toolchain.sh aarch64-hermit $PWD/prefix

Once the toolchain is built you should have the cross compilation tools ready in hermitux/hermit-toolchain/prefix/bin

Compile the kernel

First, let's remove any existing installation of the x86-64 kernel:

cd hermitux/hermitux-kernel
rm -rf build prefix