From Fedora Project Wiki
 
(29 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=Fedora 19 ARM Beta=
=Fedora 19 ARM Beta=
This is the latest Fedora 19 Beta Release Candidate for the ARM architecture and marks a significant milestone for Fedora on ARM. There two images available for the Beta, one for use in OMAP platforms the other for use in the Trimslice and Exynos5 hardware platforms.
The Fedora ARM team is pleased to announce the Fedora 19 Beta for ARM is now available for download from:


==For Trimslice(kernel-tegra)==
https://dl.fedoraproject.org/pub/fedora-secondary/releases/test/19-Beta/Images/armhfp/
{{admon/warning|IMPORTANT | You must use a Device Tree enabled Uboot to boot the Fedora 19 Trimslice image.  <b>Failure to do so will result in a non-booting system.</b>}}
 
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==
{{admon/warning|IMPORTANT | You must use the latest Device Tree enabled Uboot to boot the Fedora 19 Trimslice image, which you can find [http://www.trimslice.com/wiki/index.php/Trim-Slice_Firmware_Updater#v2012.04-1.02  here].  <b>Failure to do so will result in a non-booting system.</b>}}


Download the image for use in the Trimslice:
Download the image for use in the Trimslice:
Line 13: Line 19:
Insert into the Trimslice and boot. There is no root password required initially - this something you should change right away.  
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. Remove the unneeded kernels:
Once the system is booted it is recommended to do a little clean up and remove the unneeded kernels:
  yum remove kernel kernel-lpae
  yum remove kernel kernel-lpae


== For OMAP ==
== For the Pandaboard and Pandaboard ES ==
Download the image for use with Omap platforms (Pandaboard, Pandaboard ES, Beagleboard)
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
  wget http://dl.fedoraproject.org/pub/fedora-secondary/releases/test/19-Beta/Images/armhfp/Fedora-OMAP-armhfp-19-Beta-1-sda.raw.xz


Line 24: Line 30:


===Before Booting the OMAP Image ===
===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.
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
DEVICE=/dev/<device>  # use the mount command to determine the device, omit any tailing partitions (for example : /dev/sdb or /dev/mmcblk0)
umount /run/media/$USER/__BOOT/UBOO
TARGET=              #this is your target device - panda, panda_es
mkfs.vfat /dev/<location-of-your-media>
 
mkdir /tmp/uboot
 
mount /dev/<location-of-your-media> /tmp/uboot
# fix the boot partition
cp /run/media/$USER/__/usr/share/uboot-<device-name>/MLO /tmp/uboot/
umount ${DEVICE}*1
sync
mkfs.vfat -n 'BOOT' ${DEVICE}*1
cp /run/media/$USER/__/usr/share/uboot-<device-name>/{uboot.img,uboot.bin,uEnv.txt.<device-name>} /tmp/uboot/
BOOTUUID=$(blkid -s UUID -o value ${DEVICE}*1)
 
 
# generate a new UUID for later use on the rootfs.
ROOTUUID=$(uuidgen)
 
 
# fix the rootfs
umount ${DEVICE}*3
tune2fs -L 'rootfs' -U "$ROOTUUID" ${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} /tmp/uboot/
sudo cp /tmp/rootfs/usr/share/uboot-panda/uEnv.txt.$TARGET /tmp/uboot/uEnv.txt
sync
 
 
# fix the rootfs mount point
sed -i -e "s|.*\(/.*ext4.*\)$|UUID=${ROOTUUID} \1|" /tmp/rootfs/etc/fstab
sed -i -e "s|.*\(/boot/uboot.*vfat.*\)$|UUID=${BOOTUUID} \1|" /tmp/rootfs/etc/fstab
sync
sync
umount /tmp/rootfs
umount /tmp/uboot/
umount /tmp/uboot/
#THE END
</pre>
</pre>


Line 54: Line 90:
  sudo cp /tmp/boot/initramfs-3.9.2-301.fc19.armv7hl.img .
  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 /tmp/boot/vmlinuz-3.9.2-301.fc19.armv7hl .
sudo cp -r /tmp/boot/dtb-3.9.2-301.fc19.armv7hl .


To boot:
To boot:
<pre>
<pre>
qemu-system-arm -machine vexpress-a9 -m 1024 -nographic -net nic -net user \
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" \
  -append "console=ttyAMA0,115200n8 rw root=/dev/mmcblk0p3 rootwait physmap.enabled=0" \
  -kernel vmlinuz-3.9.2-301.fc19.armv7hl \
  -kernel vmlinuz-3.9.2-301.fc19.armv7hl \
  -initrd initramfs-3.9.2-301.fc19.armv7hl.img \
  -initrd initramfs-3.9.2-301.fc19.armv7hl.img \
  -sd Fedora-armhfp-19-Beta-1-sda.raw \
  -sd Fedora-armhfp-19-Beta-1-sda.raw \
--dtb dtb-3.9.2-301.fc19.armv7hl/vexpress-v2p-ca9.dtb
</pre>
</pre>


Line 75: Line 109:
To boot the image:
To boot the image:
<pre>
<pre>
./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
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
</pre>
</pre>
Booting with device tree is possible, although passing <b>--gui</b> 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 [http://fedorapeople.org/~pwhalen/f19-beta/highbank.ks here].
For more detailed instructions on setting this up, please visit this [[Architectures/ARM/F18/HighBank |page]].


= Known Issues =
= 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.

Latest revision as of 15:00, 17 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

Warning.png
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 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.

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
BOOTUUID=$(blkid -s UUID -o value ${DEVICE}*1)


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


# fix the rootfs
umount ${DEVICE}*3
tune2fs -L 'rootfs' -U "$ROOTUUID" ${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} /tmp/uboot/
sudo cp /tmp/rootfs/usr/share/uboot-panda/uEnv.txt.$TARGET /tmp/uboot/uEnv.txt
sync


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

umount /tmp/rootfs
umount /tmp/uboot/

#THE END

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.