CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Packages :: Bugs :: Links :: About :: Donors

Supported Devices


Vexpress-aarch64

CPU Information

processor : 0
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 0

boot.log

About this device

The Vexpress-aarch64 platform is a QEMU emulation target for 64-bit ARM (ARMv8/AArch64) systems, based on the Versatile Express family by ARM Holdings. It is widely used for development, testing, and continuous integration of ARM64 software without the need for physical hardware. CRUX-ARM provides official support for Vexpress-aarch64, making it an excellent choice for users and developers looking to experiment or automate builds in a virtualized ARM64 environment.

Introduction

CRUX-ARM provides official support for Vexpress-aarch64, making it an excellent choice for users and developers looking to experiment or automate builds in a virtualized ARM64 environment.

Needed stuff

Preparation

Before you begin, make sure you have the following:

Optional:

Installation

$ qemu-img create hd.img 2G
$ mkfs.ext4 -F -m 0 -b 1024 hd.img
$ sudo mount -o loop -t ext4 hd.img /mnt
$ sudo rm -rf /mnt/lost+found
$ sudo tar -C /mnt -pxvf crux-3.8-arm64.rootfs.tar.xz

Configuration

After deploying the CRUX-ARM root filesystem, it is important to configure several key system files to ensure proper operation and customization of your installation. The following files should be reviewed and edited according to your needs:

T0:23:respawn:/sbin/agetty -L ttyAMA0 9600 vt100
dd if=/dev/zero of=/mnt/var/swap bs=128K count=1024
mkswap /mnt/var/swap
# Swap will be 128 MB; add to /mnt/etc/fstab:
# /var/swap none swap sw 0 0

Booting the system

$ qemu-system-aarch64 -kernel Image -machine virt -cpu cortex-a57 -machine type=virt 
-nographic -smp 1 -m 1024 -hda .hd.img -append "root=/dev/vda console=ttyAMA0"

Additional information

The Vexpress-aarch64 platform is ideal for CI, automated testing, and development when physical ARM64 hardware is not available. Kernel and QEMU machine type must match; use the correct Image and virt machine for your kernel version. You can adjust RAM size (-m) and disk image size as needed. Networking can be enabled via QEMU’s virtual NIC options if required.

Links

https://www.qemu.org/docs/master/system/arm/virt.html