From Fedora Project Wiki
Line 32: Line 32:
Before booting the OMAP image reinsert the media into a host pc. The image should automatically mount, however if it does not you may need to adjust the mount point used in the below example. Use the 'mount' command to determine the name of the partition you will be working with.
Before booting the OMAP image reinsert the media into a host pc. The image should automatically mount, however if it does not you may need to adjust the mount point used in the below example. Use the 'mount' command to determine the name of the partition you will be working with.
<pre>
<pre>
USER=your-user-name # replace this with your username
USER=your-user-name   # replace this with your username
PARTITION=/dev/<partition> # use the mount command to determine the partition, use the full path (for example /dev/mmcblk0p1)
DEVICE=/dev/<device> # use the mount command to determine the device, omit any tailing partitions (for example : /dev/sdb or /dev/mmcblk0)
TARGET=   #this is your target device - panda, panda_es  
TARGET=               #this is your target device - panda, panda_es  
umount /run/media/$USER/__BOOT/UBOO
 
mkfs.vfat $PARTITION
 
mkdir /tmp/uboot
# fix the boot partition
sudo mount $PARTITION /tmp/uboot
umount ${DEVICE}1
sudo cp /run/media/$USER/__/usr/share/uboot-panda/MLO /tmp/uboot/
mkfs.vfat -n 'BOOT' ${DEVICE}1
sync
 
sudo cp /run/media/$USER/__/usr/share/uboot-panda/{u-boot.img,u-boot.bin} /tmp/uboot/
 
sudo cp /run/media/$USER/__/usr/share/uboot-panda/uEnv.txt.$TARGET /tmp/uboot/uEnv.txt
# generate a new UUID for later use on the rootfs.
UUID=$(uuidgen)
 
 
# fix the rootfs
umount ${DEVICE}3
tune2fs -L 'rootfs' -U "$UUID" ${DEVICE}*3
 
 
# Create temporary mount points
mkdir /tmp/{uboot,rootfs}
sudo mount ${DEVICE}*1 /tmp/uboot
sudo mount ${DEVICE}*3 /tmp/rootfs
 
 
# copy over the TI boards boot files.
sudo cp /tmp/rootfs/usr/share/uboot-panda/MLO u-boot.img uEnv.txt.$TARGET /tmp/uboot/
sync
sync
umount /tmp/uboot/
umount /tmp/uboot/
# fix the rootfs mount point
sed -e "s|.* / \(ext4.*\)$|UUID=${UUID}  \1|" /tmp/rootfs/etc/fstab
</pre>
</pre>
Before removing the card you will need to edit the 'fstab' on the root filesystem and correct the UUID listed for /boot/uboot. Use the 'blkid' command to obtain the new UUID
sudo blkid
Edit the fstab
sudo vi /run/media/$USER/__/etc/fstab
You should now be able to boot from the media. Safely eject, insert into your device and boot.


==For Versatile Express Emulation with QEMU==
==For Versatile Express Emulation with QEMU==

Revision as of 17:45, 3 June 2013

Fedora 19 ARM Beta

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

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

This marks the last significant milestone before reaching the final release of Fedora 19 for ARM, with only critical bug fixes being added as updates to make this our most solid release to date.

The Fedora 19 Beta for ARM includes two pre-built images - one for the Pandaboard and Pandaboard ES which requires special partitioning, the second will support the Trimslice and Versatile Express(QEMU). The Beta for ARM also includes an installation tree in the yum repository which may be used to PXE-boot a kickstart-based installation on systems that support this option, such as the Calxeda EnergyCore (HighBank).

For the Trimslice

IMPORTANT
You must use a Device Tree enabled Uboot to boot the Fedora 19 Trimslice image. Failure to do so will result in a non-booting system.

Download the image for use in the Trimslice:

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

Copy the image to the intended media:

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

Insert into the Trimslice and boot. There is no root password required initially - this something you should change right away.

Once the system is booted it is recommended to do a little clean up and remove the unneeded kernels:

yum remove kernel kernel-lpae

For the Pandaboard and Pandaboard ES

Download the image for use with the Pandaboard or Pandaboard ES.

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

As root copy the image to the intended media:

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

Before Booting the OMAP Image

Before booting the OMAP image reinsert the media into a host pc. The image should automatically mount, however if it does not you may need to adjust the mount point used in the below example. Use the 'mount' command to determine the name of the partition you will be working with.

USER=your-user-name   # replace this with your username
DEVICE=/dev/<device>  # use the mount command to determine the device, omit any tailing partitions (for example : /dev/sdb or /dev/mmcblk0)
TARGET=               #this is your target device - panda, panda_es 


# fix the boot partition
umount ${DEVICE}1
mkfs.vfat -n 'BOOT' ${DEVICE}1


# generate a new UUID for later use on the rootfs.
UUID=$(uuidgen)


# fix the rootfs
umount ${DEVICE}3
tune2fs -L 'rootfs' -U "$UUID" ${DEVICE}*3


# Create temporary mount points
mkdir /tmp/{uboot,rootfs}
sudo mount ${DEVICE}*1 /tmp/uboot
sudo mount ${DEVICE}*3 /tmp/rootfs


# copy over the TI boards boot files.
sudo cp /tmp/rootfs/usr/share/uboot-panda/MLO u-boot.img uEnv.txt.$TARGET /tmp/uboot/
sync

umount /tmp/uboot/

# fix the rootfs mount point
sed -e "s|.* / \(ext4.*\)$|UUID=${UUID}  \1|" /tmp/rootfs/etc/fstab

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 .
sudo cp -r /tmp/boot/dtb-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 \
 --dtb dtb-3.9.2-301.fc19.armv7hl/vexpress-v2p-ca9.dtb

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 --dtb=dtb-3.9.2-301.fc19.armv7hlvexpress-v2p-ca9.dtb

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.