The Versatile Express family of development platforms provides users with a modular board design for use testing different ARM SOC design implementations. QEMU provides the ability to emulate ARM Versatile Express for Cortex-A9 on your desktop computer for easy experimentation!
- ARM Versatile Express for Cortex-A9
- 1GB RAM
- 10/100Mbit/s Ethernet
Running Fedora through QEMU
This page will give you detailed instructions for running Fedora 18 through QEMU. The tarball includes all that is needed to boot your system including the root filesystem image and the pre-extracted kernel and initramfs. Also, included for your convenience is a script to boot using a serial connection or the XFCE desktop. WARNING: If you will be doing development with this image then it is recommended that you add 10-15GB to the root partition before booting.
Download the image
There are two Versatile Express images available for use with QEMU, a hardware floating point (armhfp), and a software floating point(arm). If you are unsure of which to choose, the hard floating point image is recommended, and will be used in the provided examples below (adjust accordingly for 'arm'):
Download and verify the checksum:
wget http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/armhfp/Fedora-18-armhfp-Images-CHECKSUM sha256sum --check Fedora-18-armhfp-Images-CHECKSUM
Preparing the Image
Extract the tarball using the graphical user interface or the following commandline option:
tar xvJf Fedora-18-vexpress-xfce-armhfp.tar.xz
QEMU is also available on Windows but is not yet covered in this guide. For more information on running QEMU on Windows please visit their website.
Using Fedora through QEMU
First you will need to install the ARM QEMU package (this example is using Fedora)
yum install qemu-system-arm
Once installed, change to the boot directory of the extracted kernel package:
From there execute the provided script, choosing to boot with or without a graphical interface.
./boot-vexpress -h Usage: ./boot-vexpress [--gui] --kernel=vmlinuz... --ramfs=initramfs --image=fsimage [--dtb=vexpress.dtb]
For serial console:
./boot-vexpress --kernel=vmlinuz-3.6.10-8.fc18.armv7hl \ --ramfs=initramfs-3.6.10-8.fc18.armv7hl.img \ --image=../Fedora-18-vexpress-xfce-armhfp.img
For XFCE Desktop:
./boot-vexpress --kernel=vmlinuz-3.6.10-8.fc18.armv7hl \ --ramfs=initramfs-3.6.10-8.fc18.armv7hl.img \ --image=../Fedora-18-vexpress-xfce-armhfp.img \ --gui
The default root password is "fedora". This should be changed immediately.
Expanding the Disk Image
You can easily expand the root partition of the disk image using
For example to increase the image size by 10GB you can issue:
qemu-img resize ./file.img +10G
Doing this before booting the image will cause the filesystem to be automatically resized.
If you have already booted the system then you will need to do the following:
- Enlarge the disk as before:
qemu-img resize ./file.img +10G
- Boot into the guest and install the rootfs-resize application.
yum install -y rootfs-resize
- Enable the service to start at boot
systemctl enable rootfs-resize.service
- Create an empty file in the root directory named '.rootfs-repartition'
- Reboot your guest
- Your system will automatically reboot again to complete the resize (this is not automatic on QEMU, and you will need to manually start the guest again).
- Images were composed using tools in Fedora 17 due to continuing work on Fedora 18.
- When upgrading to the 3.7.X kernel you will require a device tree binary (.dtb) file for the system to boot. The provided 'boot-vexpress' script allows for the optional use of a 'dtb' file and will give a warning when booting kernels above 3.6.x.
- The XFCE Desktop is not currently available when using the 3.7.x kernel.
There are Fedora ARM users all around the globe - if you need assistance, would like to provide feedback or contribute to Fedora ARM please visit us on the IRC - we can be found in #fedora-arm on Freenode. You can also contact us on the mailing list - firstname.lastname@example.org