From Fedora Project Wiki

Fedora 19 for ARM

The Fedora ARM team is pleased to announce the Fedora 19 for ARM is now available for download from:

https://dl.fedoraproject.org/pub/fedora-secondary/releases/test/19-Beta/Images/armhfp/

Fedora 19 for ARM includes two image types - one for use with platforms requiring a VFAT partition(Pandaboard), the other for use with devices that boot from an EXT partition(Trimslice). For each of these there are a number of desktop choices including MATE, KDE, XFCE, LXDE, SOAS and a minimal image that does not include the desktop. Any of these images can be used with QEMU.

For the Trimslice

IMPORTANT
You must use the latest Device Tree enabled Uboot to boot the Fedora 19 Trimslice image, which you can find here. Failure to do so will result in a non-booting system.

Download the image of your choice for use with the Trimslice:

TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal
wget <fix-me-path>Fedora-$TYPE-armhfp-19-1-sda.raw.xz

Copy the image to the intended media:

xzcat Fedora-$TYPE-armhfp-19-1-sda.raw.xz > /dev/<location-of-your-media> 

Insert into the Trimslice and boot. Fedora will boot to an initial setup screen allowing you to create your user, set the root password and timezone.

For the Pandaboard and Pandaboard ES

Download the image of your choice for use with the Pandaboard or Pandaboard ES.

TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal
wget <fix-me-path>Fedora-$TYPE-VFAT-armhfp-19-1-sda.raw.xz

Writing the image

There are two options for writing the image and preparing your media for boot. Below are step by step instructions on how to do it manually, or using a python script that will walk you through the process.

Manual

As root copy the image to the intended media:

TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal
xzcat Fedora-OMAP-armhfp-19-Beta-1-sda.raw.xz > /dev/<location-of-your-media>

Once the card has been completed, removed and reinsert into your host PC. You will need to copy the U-Boot files into place for booting, the mount points in the example below are specific to Fedora 18 and may need to be adjusted for your host system:

USER= # replace with your user account name on the host PC
TARGET= #choose panda or panda_es 
sudo cp /run/media/$USER/__/usr/share/uboot-panda/{MLO,u-boot.bin,u-boot.img,uEnv.txt.$TARGET /run/media/$USER/UBOOT/
sync

You should now be able to remove the media from your host PC, insert into your device and boot. If you are using an image that provides a desktop you will need to use a display to configure your user account, root password and timezone. For the minimal image this is done in text mode over the console.

Arm-creator.py

Jon Chiappetta has simplied the process for creating a bootable image for the Pandaboard and Pandaboard ES. The script can be used from commandline or through a text menu that will allow you to choose the specific details for your device.

./arm-creator.py -h
Usage: ./arm-creator.py [-h --help] --install --image=/path/to/Fedora-ARM.img.xz [--board=<type>] --disk=/dev/...
Commandline
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal
TARGET= #choose panda or panda_es 
./arm-creator.py --install --image=/path/to/Fedora-$TYPE-VFAT-armhfp-19-1-sda.raw.xz --board=$TARGET --disk=<path-to-media>
Text Menu
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal
./arm-creator.py --image=/path/to/Fedora-$TYPE-VFAT-armhfp-19-1-sda.raw.xz

Additional information on arm-creator.py including usage can be found Here.

For Versatile Express Emulation with QEMU

Even without hardware its possible to run the Fedora 19 ARM Beta using QEMU. To this we will use the generic image.

wget http://dl.fedoraproject.org/pub/fedora-secondary/releases/test/19-Beta/Images/armhfp/Fedora-armhfp-19-Beta-1-sda.raw.xz

Extract the image:

unxz Fedora-armhfp-19-Beta-1-sda.raw.xz

Mount the image and extract the kernel and initramfs for use with booting.

sudo kpartx -av Fedora-armhfp-19-Beta-1-sda.raw

Make a temporary mount point

mkdir /tmp/boot
sudo mount /dev/mapper/loop0p1 /tmp/boot
sudo cp /tmp/boot/initramfs-3.9.2-301.fc19.armv7hl.img .
sudo cp /tmp/boot/vmlinuz-3.9.2-301.fc19.armv7hl .

To boot:

sudo qemu-system-arm -machine vexpress-a9 -m 1024 -nographic -net nic -net user \
 -append "console=ttyAMA0,115200n8 rw root=/dev/mmcblk0p3 rootwait physmap.enabled=0" \
 -kernel vmlinuz-3.9.2-301.fc19.armv7hl \
 -initrd initramfs-3.9.2-301.fc19.armv7hl.img \
 -sd Fedora-armhfp-19-Beta-1-sda.raw \

For convenience you can also download a script for booting the system here. To run the script:

chmod 755 boot-vexpress
./boot-vexpress -h
Usage: ./boot-vexpress [--gui] --kernel=vmlinuz... --ramfs=initramfs --image=fsimage [--dtb=vexpress.dtb]

To boot the image:

sudo ./boot-vexpress --kernel=vmlinuz-3.9.2-301.fc19.armv7hl --ramfs=initramfs-3.9.2-301.fc19.armv7hl.img --image=Fedora-armhfp-19-Beta-1-sda.raw

Booting with device tree is possible, although passing --gui for graphics will not work. Booting without device tree is recommended for F-19, as it will work in both serial and graphics mode, whereas passing a DTB will only work with serial.

Calxeda EnergyCore (HighBank)

The Fedora 19 Beta for ARM includes support for systems that are able to perform a network installation using a kickstart, including enterprise hardware such as the Highbank. A working kickstart can be found here.

For more detailed instructions on setting this up, please visit this page.

Known Issues

  • Significant logical volume noise on first boot. This is harmless and resolved after rebooting the system.
  • Initial setup is not run on first boot.