From Fedora Project Wiki
mNo edit summary
 
(26 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Fedora 18 for ARM=
= Fedora 18 for ARM=
This page contains installation instructions for Fedora 18 for ARM.
[[Category:Fedora ARMv7]][[Category:Fedora 18]]
[[File:BeagleBoard-xM.jpg|right|200px|thumb|A BeagleBoard-xM used at Seneca College to test Fedora ARM]]


[[Category:Fedora ARM]][[Category:Fedora 18]]
[[File:BeagleBoard-xM.jpg|right|200px|thumb|A BeagleBoard-xM used at Seneca College to test Fedora ARM]]
=BeagleBoard-xM=
=BeagleBoard-xM=
A modified version of the popular BeagleBoard, the BeagleBoard-xM is a very small, low powered ARM device designed with open source software development in mind. The Beagleboard-xM is produced by Texas Instruments and Digikey and offers a showcase for TI's OMAP3730 system-on-a-chip(SoC).
===Technical Specifications===
* TI DM3730 Processor - 1 GHz ARM Cortex-A8 core
* 512 MB LPDDR RAM
* Imagination Technologies PowerVR SGX 2D/3D graphics processor
* DVI-D (HDMI connector chosen for size - maximum resolution is 1400x1050)
* 10/100Mbit/s Ethernet


For more information on the BeagleBoard-xM visit their [http://beagleboard.org/hardware-xM website].
=== Running Fedora on a BeagleBoard-xM ===
 
= Running Fedora on a BeagleBoard-xM =


This page will give you detailed instructions for running Fedora 18 on your BeagleBoard-xM. The provided images will boot to a serial console.  
This page will give you detailed instructions for running Fedora 18 on your BeagleBoard-xM. The provided images will boot to a serial console.  


= Download the image =
=== Download the image ===
The first step is to download the prebuilt Fedora 18 image, which includes everything you will need to boot your system.  It will require a minimum of 4GB for the root filesystem. There two images available for the Beagleboard, a hardware floating point (armhfp) image, and a software floating point(arm) image. 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'):  
The first step is to download the prebuilt Fedora 18 image, which includes everything you will need to boot your system.  It will require a minimum of 4GB for the root filesystem. There two images available for the Beagleboard, a hardware floating point (armhfp) image, and a software floating point(arm) image. 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'):  


Line 24: Line 16:
*[http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/armhfp/Fedora-18-beagle-armhfp.img.xz Beagleboard XM armhfp]
*[http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/armhfp/Fedora-18-beagle-armhfp.img.xz Beagleboard XM armhfp]


=Writing the Image=
===Writing the Image===
===Linux Users===
====Linux Users====
You can write the image to an SD card of your choosing but it does have to meet the minimum size requirements noted above (2GB for the serial image, 4GB for the XFCE Desktop). Connect the SD card to your computer and make note of the drive. To write the image to your SD card run the following command, changing the drive to the location of your SD card.  
You can write the image to an SD card of your choosing but it does have to meet the minimum size requirements noted above (2GB for the serial image, 4GB for the XFCE Desktop). Connect the SD card to your computer and make note of the drive. To write the image to your SD card run the following command, changing the drive to the location of your SD card.  


Line 37: Line 29:
  sync
  sync


===Windows Users===
====Windows Users====
* You will need to download [https://launchpad.net/win32-image-writer  Win32 Image Writer] as well as a tool to extract the image such as [http://www.7-zip.org 7-Zip].
* You will need to download [https://launchpad.net/win32-image-writer  Win32 Image Writer] as well as a tool to extract the image such as [http://www.7-zip.org 7-Zip].
* Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
* Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
* Launch Win 32 Disk Imager and select the extracted disk image and the SD card you would like to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!
* Launch Win 32 Disk Imager and select the extracted disk image and the SD card you would like to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!
===Mac Users===
====Mac Users====
* Please note that the Default Archive Utility.app will not extract the .xz file. A third party app will have to be used to decompress it. There are multiple options for that
* Please note that the Default Archive Utility.app will not extract the .xz file. A third party app will have to be used to decompress it. There are multiple options for that
*# There is a Free App available in the App Store called Unarchiver.
*# There is a Free App available in the App Store called Unarchiver.
Line 57: Line 49:
* Click and eject the SD card
* Click and eject the SD card


=Using Fedora on the BeagleBoard-xM=
===Using Fedora on the BeagleBoard-xM===
Connect the newly created media to your BeagleBoard-xM and power on. No further steps are required and your system should boot to a text based log in prompt. The default root password is "fedoraarm". This should be changed immediately.
Connect the newly created media to your BeagleBoard-xM and power on. No further steps are required and your system should boot to a text based log in prompt. The default root password is "fedoraarm". This should be changed immediately.


==Known Issues==
* BeagleBoard-xM generates a kernel warning on reboot and requires use of the reset button to actually reboot.
* Images are designed to be written to 2GB (console) or 4GB (xfce) SD cards.  On first boot the partition will be resized to the maximum allowable amount.  On the second boot the filesystem will be resized to fill the expanded partition.  This works for SD cards, SATA Disks, and SSD drives.
* [[Common_F18_bugs|Known release issues]]
[[File:guruplugs.jpg|right|200px|thumb|Guruplugs used at Seneca College to build Fedora for ARM. There are twenty Guruplugs in the Seneca build farm]]
[[File:guruplugs.jpg|right|200px|thumb|Guruplugs used at Seneca College to build Fedora for ARM. There are twenty Guruplugs in the Seneca build farm]]
=Kirkwood Series=
Kirkwood processors were developed for network connected consumer electronic equipment that are used in gateway/access point, set-top boxes, network storage, digital home media servers, point of services terminal, and plug computers (sheevaplug, dreamplug, guruplug, etc).<ref>[http://www.marvell.com/embedded-processors/kirkwood/ Marvell - Embedded Processors - Kirkwood Series]</ref>


=Plug Computers=
=Kirkwood Series ( DreamPlug, GuruPlug )=
A plug computer is a small form factor server, intended to provide network-based services within the home. These ARM based devices provides always-on, always-connected, and environmentally-friendly computing that is readily available for developers.<ref>[http://www.plugcomputer.org/about/ About Plug Computer]</ref>
==GuruPlugs==
The Guruplugs are one of the popular plug computers. More information on Guruplugs can be found [http://www.globalscaletechnologies.com/t-guruplugdetails.aspx here]. Below is the technical specifications for a typical GuruPlug Server Plus
===Technical Specifications===
* 1.0 Ghz - 1.2 Ghz Processor (Marvell 88F6281)
* 512 MB 16-bit DDR2 RAM
* 512 MB NAND Flash
* 802.11 b/g WiFi
* SATA 2.0 port (eSATA)
* 2 x Gigabit Ethernet
* 2 x 16550 compatible UART interfaces (external JTAG adapter)
* 2 x USB 2.0 ports
* 1 x MicroSD Slot


=Running Fedora on a Kirkwood Device=
This page will give a user detailed instructions for running Fedora 18 on a Kirkwood based device. The F18 image provides a user with a minimal text based installation to a serial console. At the moment there is no GUI image available. F18 image has been tested to run on GuruPlug Server Plus using microSD card and a USB thumb drive, but should also work for other devices based on the Kirkwood SOC.  
This page will give a user detailed instructions for running Fedora 18 on a Kirkwood based device. The F18 image provides a user with a minimal text based installation to a serial console. At the moment there is no GUI image available. F18 image has been tested to run on GuruPlug Server Plus using microSD card and a USB thumb drive, but should also work for other devices based on the Kirkwood SOC.  
==Downloading the image==
===Downloading the image===
The first step is to download the F18 image. The prebuilt images include kernels and can be written directly to an storage medium such as an (micro)SD Card or an USB stick and requires additional steps (uboot configurations) to boot. The serial console image requires a minimum storage medium size of 4GB.  
The first step is to download the F18 image. The prebuilt images include kernels and can be written directly to an storage medium such as an (micro)SD Card or an USB stick and requires additional steps (uboot configurations) to boot. The serial console image requires a minimum storage medium size of 4GB.  
* [http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/arm/Fedora-18-kirkwood-arm.img.xz GuruPlug Image]
* [http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/arm/Fedora-18-kirkwood-arm.img.xz GuruPlug Image]


==Writing the Image==
===Writing the Image===
Please be aware that writing the image to any drive (SD/microSD/USB/Hard Drive) will erase any existing data in that drive. Please make sure that the card is not write protected.
Please be aware that writing the image to any drive (SD/microSD/USB/Hard Drive) will erase any existing data in that drive. Please make sure that the card is not write protected.
===Linux Users===
====Linux Users====
The image can be written to any storage device as long as it meets the minimum size requirements noted above (4GB for the serial image)
The image can be written to any storage device as long as it meets the minimum size requirements noted above (4GB for the serial image)
* Connect the device or card to a computer and make a note of the device file in /dev.
* Connect the device or card to a computer and make a note of the device file in /dev.
Line 101: Line 71:
  sync
  sync


===Windows Users===
====Windows Users====
* Download [https://launchpad.net/win32-image-writer  Win32 Image Writer] as well as a tool to extract the image such as [http://www.7-zip.org 7-Zip].
* Download [https://launchpad.net/win32-image-writer  Win32 Image Writer] as well as a tool to extract the image such as [http://www.7-zip.org 7-Zip].
* Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
* Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
* Launch Win 32 Disk Imager and select the extracted disk image and the microSD card to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!
* Launch Win 32 Disk Imager and select the extracted disk image and the microSD card to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!
===Mac Users===
====Mac Users====
* Please note that the Default Archive Utility.app will not extract the .xz file. A third party app will have to be used to decompress it. There are multiple options for that
* Please note that the Default Archive Utility.app will not extract the .xz file. A third party app will have to be used to decompress it. There are multiple options for that
*# There is a Free App available in the App Store called Unarchiver.
*# There is a Free App available in the App Store called Unarchiver.
Line 121: Line 91:
* Click and eject the microSD card
* Click and eject the microSD card


==Booting the Image==
===Booting the Image===
{{admon/note|Pogoplug|If you want to use Fedora on a Pogoplug, follow the [[Architectures/ARM/PogoplugUSBDisk|Pogoplug special instructions]] before you continue here.}}
{{admon/note|Pogoplug|If you want to use Fedora on a Pogoplug, follow the [[Architectures/ARM/PogoplugUSBDisk|Pogoplug special instructions]] before you continue here.}}
{{admon/note|Dockstar Kernel/Initrd Addresses|To boot Fedora 18 a Dockstar you may need to use the following addresses for the kernel and the initrd, otherwise it hang loading the initrd: 0x800000 0x1100000.}}
{{admon/note|Dockstar Kernel/Initrd Addresses|To boot Fedora 18 a Dockstar you may need to use the following addresses for the kernel and the initrd, otherwise it hang loading the initrd: 0x800000 0x1100000.}}
Line 127: Line 97:
The Fedora 18 Kirkwood images contain an ext3 filesystem that cannot be booted directly by certain plugs (such as the GuruPlug) at this time. Please follow the appropriate installation instructions for your device.  
The Fedora 18 Kirkwood images contain an ext3 filesystem that cannot be booted directly by certain plugs (such as the GuruPlug) at this time. Please follow the appropriate installation instructions for your device.  


===U-Boot supporting boot from EXT partitions===
====U-Boot supporting boot from EXT partitions====
The following has been tested with a GuruPlug Server Plus (remove the "saveenv" command prior to "boot" if you would only like to test without permanently changing configuration):
The following has been tested with a GuruPlug Server Plus (remove the "saveenv" command prior to "boot" if you would only like to test without permanently changing configuration):


Line 149: Line 119:
</pre>
</pre>


===U-Boot supporting boot from VFAT partitions only===
====U-Boot supporting boot from VFAT partitions only====
NOTE: Skip this if you have ext2 support in your uboot. You already did this in the previous step.
NOTE: Skip this if you have ext2 support in your uboot. You already did this in the previous step.


Line 171: Line 141:
</pre>
</pre>


===Installing the kernel to NAND===
====Installing the kernel to NAND====
You can install the kernel and initrd directly into the Plug's NAND flash using commands similar to the following:
You can install the kernel and initrd directly into the Plug's NAND flash using commands similar to the following:


Line 194: Line 164:
</pre>
</pre>


==Using Fedora on a Kirkwood Device==
===Using Fedora on a Kirkwood Device===
The default root password is "fedora". This should be changed immediately.
The default root password is "fedora". This should be changed immediately.


==Serial Console==
====Serial Console====
It is helpful to have a serial console. For the kirkwoods, you need a ttl serial/usb converter like the one on the Guruplug JTAG, a nokia serial cable, or possibly http://adafruit.com/products/954 (not tested, but it has leads so no soldering required for Pogoplug E02 or possibly Dockstars, sheevaplugs, tonidoplugs, etc?.)  
It is helpful to have a serial console. For the kirkwoods, you need a ttl serial/usb converter like the one on the Guruplug JTAG, a nokia serial cable, or possibly http://adafruit.com/products/954 (not tested, but it has leads so no soldering required for Pogoplug E02 or possibly Dockstars, sheevaplugs, tonidoplugs, etc?.)  


Line 252: Line 222:
Note: The Guruplug jtag requires the uses of the FTDI driver, and it needs to be compiled into openocd. Fedora does NOT do that due to software licensing and distribution issues surrounding the FTDI driver. They are available from: http://www.ftdichip.com and you will have to compile the driver into your version of openocd. You may also need to make a few minor changes to the openocd configs/scripts to get it to work right with openocd 0.6.1
Note: The Guruplug jtag requires the uses of the FTDI driver, and it needs to be compiled into openocd. Fedora does NOT do that due to software licensing and distribution issues surrounding the FTDI driver. They are available from: http://www.ftdichip.com and you will have to compile the driver into your version of openocd. You may also need to make a few minor changes to the openocd configs/scripts to get it to work right with openocd 0.6.1


 
=Calxeda Energycore (HighBank)=
[[Category:Fedora ARM]][[Category:Fedora 18]]
==Calxeda Energycore (HighBank)==
The EnergyCore ECX-1000 Series is a family of SoC (Server-on-Chip) products that bring the power efficiency of ARM processors to the datacenter. The ECX-1000′s have an integrated 80Gb EnergyCore Fabric Switch, advanced power/systems management with the on-chip EnergyCore Management Engine, and a slew of I/O options.
The EnergyCore ECX-1000 Series is a family of SoC (Server-on-Chip) products that bring the power efficiency of ARM processors to the datacenter. The ECX-1000′s have an integrated 80Gb EnergyCore Fabric Switch, advanced power/systems management with the on-chip EnergyCore Management Engine, and a slew of I/O options.


For more information on the Calxeda EnergyCore processor, please visit their [http://www.calxeda.com/technology/products/processors/ website].
For more information on the Calxeda EnergyCore processor, please visit their [http://www.calxeda.com/technology/products/processors/ website].


== Using Anaconda to install on Calxeda Energycore (HighBank) ==
=== Using Anaconda to install on Calxeda Energycore (HighBank) ===


The Calxeda Energycore (HighBank) system supports PXE-boot and may install Fedora using Anaconda and Kickstart.  This guide will give you detailed instructions on how to perform the installation, including the HighBank-specific setup required to perform a PXE-boot and kickstart install.
The Calxeda Energycore (HighBank) system supports PXE-boot and may install Fedora using Anaconda and Kickstart.  This guide will give you detailed instructions on how to perform the installation, including the HighBank-specific setup required to perform a PXE-boot and kickstart install.
Line 266: Line 234:


The ARM installation tree is included in the Fedora 18 for ARM release and can be found on Fedora Mirrors.
The ARM installation tree is included in the Fedora 18 for ARM release and can be found on Fedora Mirrors.
===PXE-boot configuration===
====PXE-boot configuration====
An example PXE-boot config file is:
An example PXE-boot config file is:


Line 342: Line 310:


These images can be used for quick testing of PXE configuration using the example kickstart file provided (above).
These images can be used for quick testing of PXE configuration using the example kickstart file provided (above).
[[File:pandastack2.jpg|right|200px|thumb|A "Pandastack" used at Seneca College to build Fedora for ARM. There are eleven stacked Pandaboards in this configuration]]
=Pandaboard=
The Pandaboard is an open OMAP™ 4 mobile software development platform.  It provides users with either a desktop or text-based environment.
===Technical Specifications===
* 1 GHz Dual core Cortex A9 Processor (OMAP 4430-4460)
* 1 GB DDR2 RAM
* HDMI v1.3
* 10/100Mbit/s Ethernet
* 802.11 b/g/n WiFi
For more information on the Pandaboard visit their [http://pandaboard.org website].
== Running Fedora on a Pandaboard ==
This page will give you detailed instructions for running Fedora 18 on your Pandaboard. The image will provide both serial console and the XFCE desktop.
=== Download the image ===
The first step is to download the prebuilt Fedora 18 image, which includes everything you will need to boot your system.  It will require a minimum of 4GB for the root filesystem. There two images available for the Pandaboard, a hardware floating point (armhfp) image, and a software floating point(arm) image. 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'):
* [http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/arm/Fedora-18-panda-arm.img.xz Pandaboard arm Image]
* [http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/armhfp/Fedora-18-panda-armhfp.img.xz Pandaboard armhfp Image]
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
===Writing the Image===
====Linux Users====
You can write the image to an SD card of your choosing but it does have to meet the minimum size requirements of 4GB. You can optionally use a USB device for the root file system to improve performance.
For use with SD:
  xzcat Fedora-18-panda-armhfp.img.xz  > /dev/<path-to-SD-device>
For use with SD/USB
  xzcat Fedora-18-panda-armhfp.img.xz > /dev/<path-to-SD-device>
  xzcat Fedora-18-panda-armhfp.img.xz > /dev/<path-to-USB-device>
Then use fdisk to delete the boot partition from the USB attached media, and rootfs and swap partitions from the SD card.
  fdisk /dev/<path-to-SD-device>
Delete partitions two and three (d,3,d,2,w).
  fdisk /dev/<path-to-USB-device>
Delete the first parition only. (d,1,w)
Once completed run the below command to ensure the entire image is written to the card:
sync
====Windows Users====
* You will need to download [https://launchpad.net/win32-image-writer  Win32 Image Writer] as well as a tool to extract the image such as [http://www.7-zip.org 7-Zip].
* Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
* Launch Win 32 Disk Imager and select the extracted disk image and the SD card you would like to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!
==Using Fedora on the Pandaboard==
Connect the newly created media to your Pandaboard and power on.  No further steps are required.  Your images will boot to graphical.target (runlevel 5) by default.  To change this default behaviour and boot to multi-user.target (runlevel 3) run the following command as root:
ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target
The default root password is "fedora". This should be changed immediately.
[[File:fedora-trimslice.jpg|right|300px|thumb|A Trimslice proudly wearing a "Powered by Fedora" case badge.]]
=Trimslice=
The Trim Slice is a small, fanless, nettop computer in an all metal case, manufactured by CompuLab. It is based on the NVIDIA Tegra 2 processor.  It features a variety of connectivity options. At this time there is no support in Fedora for a display on the Trim Slice, so it boots to a serial console.
===Technical Specifications===
* 1 GHz  NVIDA Tegra 2 (dual-core ARM Cortex A9)
* 1 GB DDR2-667 RAM
* HDMI 1.3 max resolution 1920 x 1080
* Gigabit Ethernet (Realtek RTL8111DL)
* 802.11 b/g/n WiFi
For more information on the Trimslice visit their [http://trimslice.com website].
== Running Fedora on a Trimslice ==
This page will give you detailed instructions for running Fedora 18 on your Trimslice. The image is prepared to boot from SD card by default, but can be easily modified to boot from the internal SATA connection (USB) by using the appropriate boot script (boot.scr.usb).
== Download the image ==
The first step is to download the Fedora 18 image. The prebuilt image includes everything you will need and can be written directly to SD Card, USB, or SATA drive and will require a minimum of 4GB. There are two images available for the Trimslice, a hardware floating point (armhfp) image, and a software floating point (arm) image. If you are unsure of which to choose, the armhfp image is recommended, and will be used in the examples below (adjust accordingly for 'arm'):
* [http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/arm/Fedora-18-trimslice-arm.img.xz Trimslice arm Image]
* [http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/armhfp/Fedora-18-trimslice-armhfp.img.xz Trimslice armhfp Image]
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
==Writing the Image==
===Linux Users===
You can write the image to media of your choosing but it does have to meet the minimum size requirement of 4GB. Connect the media to your computer and make note of the drive. To write the image to your media run the following command, changing the drive to the location of your media.
=====For the SD Image:=====
xzcat Fedora-18-trimslice-armhfp.img.xz > /dev/<location-of-your-SD-card>
Once completed run the below command to ensure the entire image is written to the device:
sync
=====For the SATA/USB Image:=====
xzcat Fedora-18-trimslice-armhfp.img.xz > /dev/<location-of-your-SATA/USB>
Then mount the 'boot' partition and copy the appropriate boot script to boot.scr:
  cp boot.scr.usb boot.scr
Once completed run the below command to ensure the entire image is written to the device:
sync
===Windows Users===
* You will need to download [https://launchpad.net/win32-image-writer  Win32 Image Writer] as well as a tool to extract the image such as [http://www.7-zip.org 7-Zip].
* Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
* Launch Win 32 Disk Imager and select the extracted disk image and the device you would like to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!
==Using Fedora on the Trimslice==
{{admon/warning|IMPORTANT | You must use firmware "[http://trimslice.com/download/firmware-updater/v2010.09-1.03/firmware-updater.img.zip v2010.09-1.03]" to boot the Fedora 18 Trimslice image.  <b>Failure to do so will result in a non-booting system.</b>}}
Connect the newly created media to your Trimslice and power on. No further steps are required and your system should boot to a serial console log in prompt. If you do not have a serial cable to connect your Trimslice, you can watch your DHCP server for the newly connected device. After a few minutes you should be able to see the host IP address. Use SSH to connect to the root account.
ssh root@<ip-of-host>
The default root password is "fedora". This should be changed immediately.
==Updating to the 3.7+ Kernel==
{{admon/warning|IMPORTANT | When upgrading to the 3.7+ kernel, the Trimslice will require a new version of U-Boot and a Device Tree Binary (.dtb). Follow the below directions for use. <b>Failure to do so will result in a non-booting system.</b>}}
As of the 3.7+ kernel, the Trimslice will require the latest version of [http://www.trimslice.com/wiki/index.php/Trim-Slice_Firmware_Updater#v2012.04-1.02 U-Boot] that supports Device Tree and the use of a Device Tree Binary blob (.dtb). To successfully upgrade to the latest kernel:
yum update kernel-tegra
The kernel package will also install a subdirectory in '/boot/dtb-<kernel-version>' that will include the Device Tree Binary blob for the Trimslice. In order to use this 'dtb' file, create a symbolic link as follows:
cd /boot
rm dtbs  # remove the previous symlink if it exists
ln -sf dtb-<kernel version> dtbs
For example for 'kernel-tegra-3.9.0-0.rc8.git0.1.fc19.armv7hl':
cd /boot
rm dtbs # remove the previous symlink if it exists
ln -sf dtb-3.9.0-0.rc8.git0.1.fc19.armv7hl.tegra dtbs
Shutdown your device, and follow the instructions on the Compulab website to update the firmware on the Trimslice. Once the firmware is installed, you will need to add a couple of environmental variables to allow your system to boot. Boot your Trimslice and hit any key to prevent the system from booting, enter the following:
setenv fdt_high 0x2C000000
setenv initrd_high 0x2C000000
saveenv
reset
This should now boot into Fedora 18.
[[File:f18vexpress.png|right|300px|thumb|A screen shot of Fedora 18 for ARM on QEMU .]]
=Versatile Express=
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!
===Technical Specifications===
* ARM Versatile Express for Cortex-A9
* 1GB RAM
* 10/100Mbit/s Ethernet
For more information on [http://www.arm.com/products/tools/development-boards/versatile-express/index.php Versatile Express] or [http://wiki.qemu.org/Main_Page QEMU] visit their websites.
== 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'):
*[http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/arm/Fedora-18-vexpress-xfce-arm.tar.xz Vexpress arm ]
*[http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Images/armhfp/Fedora-18-vexpress-xfce-armhfp.tar.xz Vexpress armhfp]
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===
====Linux Users====
Extract the tarball using the graphical user interface or the following commandline option:
tar xvJf Fedora-18-vexpress-xfce-armhfp.tar.xz
====Windows Users====
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 [http://wiki.qemu.org/Main_Page 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:
cd Fedora-18-vexpress-xfce-armhfp/boot/
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:
<pre>
./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
</pre>
For XFCE Desktop:
<pre>
./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
</pre>
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 <code>qemu-img</code>.
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:
<pre>
qemu-img resize ./file.img +10G
</pre>
* 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'
touch /.rootfs-repartition
* Reboot your guest
reboot
*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).
==Release Notes==
* 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.
=Known Issues=
* BeagleBoard-xM generates a kernel warning on reboot and requires use of the reset button to actually reboot.
* Images are designed to be written to 2GB (console) or 4GB (xfce) SD cards.  On first boot the partition will be resized to the maximum allowable amount.  On the second boot the filesystem will be resized to fill the expanded partition.  This works for SD cards, SATA Disks, and SSD drives.
* Images were composed using tools in Fedora 17 due to continuing work on Fedora 18.
* When using this image the system will automatically reboot to repartition the root filesystem on first boot. This will expand the size of the root partition to use all available space on the device.  To prevent this, delete the '.rootfs-repartition' flag in '/' or pass a kernel command line argument of 'nofsresize'.
* When upgrading the to 3.7.X kernel on the Trimslice you will require a new version of U-Boot that supports Device Tree, and a Device Tree Binary (.dtb) file.
** Version v2012.04-1.01, which provides DTB support also has a bug reducing available memory to 512M (This has been reported to CompuLab should be fixed in a future release).
** CompuLab distributes their Trimslice U-Boot firmware updates at http://www.trimslice.com/wiki/index.php/Trim-Slice_Firmware_Updater
* [[Common_F18_bugs|Known release issues]]


=Additional Support=
=Additional Support=
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 {{fpchat|#fedora-arm}} on Freenode. You can also contact us on the mailing list - {{fplist|arm}}
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 {{fpchat|#fedora-arm}} on Freenode. You can also contact us on the mailing list - {{fplist|arm}}
=References=
<references/>

Latest revision as of 10:59, 6 June 2017

Fedora 18 for ARM

This page contains installation instructions for Fedora 18 for ARM.

A BeagleBoard-xM used at Seneca College to test Fedora ARM

BeagleBoard-xM

Running Fedora on a BeagleBoard-xM

This page will give you detailed instructions for running Fedora 18 on your BeagleBoard-xM. The provided images will boot to a serial console.

Download the image

The first step is to download the prebuilt Fedora 18 image, which includes everything you will need to boot your system. It will require a minimum of 4GB for the root filesystem. There two images available for the Beagleboard, a hardware floating point (armhfp) image, and a software floating point(arm) image. 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'):

Writing the Image

Linux Users

You can write the image to an SD card of your choosing but it does have to meet the minimum size requirements noted above (2GB for the serial image, 4GB for the XFCE Desktop). Connect the SD card to your computer and make note of the drive. To write the image to your SD card run the following command, changing the drive to the location of your SD card.

For the HFP Image:

xzcat Fedora-18-beagle-armhfp.img.xz > /dev/<location-of-your-SD-card>

For the SFP Image:

xzcat Fedora-18-beagle-armhfp.img.xz > /dev/<location-of-your-SD-card>

Once completed run the below command to ensure the entire image is written to the card:

sync

Windows Users

  • You will need to download Win32 Image Writer as well as a tool to extract the image such as 7-Zip.
  • Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
  • Launch Win 32 Disk Imager and select the extracted disk image and the SD card you would like to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!

Mac Users

  • Please note that the Default Archive Utility.app will not extract the .xz file. A third party app will have to be used to decompress it. There are multiple options for that
    1. There is a Free App available in the App Store called Unarchiver.
    2. If mac homebrew or macport is already installed, then the xz utility can be downloaded and installed using one of those.
    3. The xz utils .pkg for mac can be downloaded and installed directly from xz utils
  • Once the xz utility is installed, open a terminal and make a note of the current drives.
ls /dev/disk?
  • Connect the SD card to the mac and make a note of the drive.
  • Open Disk Utility and make sure that the card and all the partitions in the card (if any) is unmounted
  • In the terminal change to the directory where the .xz file is located
  • If xz was installed from the .pkg or macport or homebrew then run the following command
xzcat Fedora-18-beagle-armhfp.img.xz > /dev/<location-of-the-SD-card>
  • If the Unarchiver app from App Store was used then just click and decompress the .xz file and then run the following (may require sudo)
dd if=Fedora-18-beagle-armhfp.img of=/dev/<location-of-the-SD-card>
  • Click and eject the SD card

Using Fedora on the BeagleBoard-xM

Connect the newly created media to your BeagleBoard-xM and power on. No further steps are required and your system should boot to a text based log in prompt. The default root password is "fedoraarm". This should be changed immediately.

Guruplugs used at Seneca College to build Fedora for ARM. There are twenty Guruplugs in the Seneca build farm

Kirkwood Series ( DreamPlug, GuruPlug )

This page will give a user detailed instructions for running Fedora 18 on a Kirkwood based device. The F18 image provides a user with a minimal text based installation to a serial console. At the moment there is no GUI image available. F18 image has been tested to run on GuruPlug Server Plus using microSD card and a USB thumb drive, but should also work for other devices based on the Kirkwood SOC.

Downloading the image

The first step is to download the F18 image. The prebuilt images include kernels and can be written directly to an storage medium such as an (micro)SD Card or an USB stick and requires additional steps (uboot configurations) to boot. The serial console image requires a minimum storage medium size of 4GB.

Writing the Image

Please be aware that writing the image to any drive (SD/microSD/USB/Hard Drive) will erase any existing data in that drive. Please make sure that the card is not write protected.

Linux Users

The image can be written to any storage device as long as it meets the minimum size requirements noted above (4GB for the serial image)

  • Connect the device or card to a computer and make a note of the device file in /dev.
  • To write the image to to the device run the following command (Please adjust the path in /dev)
xzcat Fedora-18-kirkwood-arm.img.xz > /dev/<location-of-storage-device>
  • Once completed run the command below to ensure the entire image is written to the storage
sync

Windows Users

  • Download Win32 Image Writer as well as a tool to extract the image such as 7-Zip.
  • Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
  • Launch Win 32 Disk Imager and select the extracted disk image and the microSD card to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!

Mac Users

  • Please note that the Default Archive Utility.app will not extract the .xz file. A third party app will have to be used to decompress it. There are multiple options for that
    1. There is a Free App available in the App Store called Unarchiver.
    2. If mac homebrew or macport is already installed, then the xz utility can be downloaded and installed using one of those.
    3. The xz utils .pkg for mac can be downloaded and installed directly from xz utils
  • Once the xz utility is installed, open a terminal and make a note of the current drives.
ls /dev/disk?
  • Connect the microSD card to the mac and make a note of the drive.
  • Open Disk Utility and make sure that the card and all the partitions in the card (if any) is unmounted
  • In the terminal change to the directory where the .xz file is located
  • If xz was installed from the .pkg or macport or homebrew then run the following command
xzcat Fedora-18-kirkwood-arm.img.xz > /dev/<location-of-the-microSD-card>
  • If the Unarchiver app from App Store was used then just click and decompress the .xz file and then run the following (may require sudo)
dd if=Fedora-18-kirkwood-arm.img of=/dev/<location-of-the-microSD-card>
  • Click and eject the microSD card

Booting the Image

Pogoplug
If you want to use Fedora on a Pogoplug, follow the Pogoplug special instructions before you continue here.
Dockstar Kernel/Initrd Addresses
To boot Fedora 18 a Dockstar you may need to use the following addresses for the kernel and the initrd, otherwise it hang loading the initrd: 0x800000 0x1100000.

Connect the newly created media to the ARM device and power on. Depending on the model/version of the plug/uboot, additional uboot parameters may be necessary or the existing ones could be edited. To do that, stop the boot process during the countdown and follow the instructions here. The Fedora 18 Kirkwood images contain an ext3 filesystem that cannot be booted directly by certain plugs (such as the GuruPlug) at this time. Please follow the appropriate installation instructions for your device.

U-Boot supporting boot from EXT partitions

The following has been tested with a GuruPlug Server Plus (remove the "saveenv" command prior to "boot" if you would only like to test without permanently changing configuration):

# NOTE: substitute "usb 1:1" with "usb 0:1" on non-Plus model devices, or try:

usb start
ext2ls usb x:1   
#where x can be any integer but usually 0-3, the right number will show a directory listing including the files uInitrd and uImage

#NOTE: If ext2ls does not work, your uboot does not support the ext2 filesystem, 
#skip down to the "U-Boot supporting boot from VFAT partitions only" section or upgrade your uboot.

printenv
set bootargs 'console=ttyS0,115200 root=LABEL=rootfs rootwait'
set loadInitrd 'ext2load usb 1:1 0x7400000 uInitrd'
set loadImage 'ext2load usb 1:1 0x6400000 uImage'
set bootcmd 'usb start; ${loadImage}; ${loadInitrd} ; bootm 0x6400000 0x7400000'
saveenv
boot

U-Boot supporting boot from VFAT partitions only

NOTE: Skip this if you have ext2 support in your uboot. You already did this in the previous step.

The first partition of the image will need to be reformatted to VFAT prior to successfully booting the device. You can do this manually if you would like, or use the livemedia-modifier tool to simplify the process. From a terminal enter the following:

wget http://fossjon.fedorapeople.org/packages/livemedia-modifier/livemedia-modifier-1.8-1.fc18.noarch.rpm
chmod 755 livemedia-modifier
./livemedia-modifier --image=<location-of-kirkwood-disk-image> --platform=kirkwood

The livemedia-modifier tool will mount the disk image, copy the contents of the boot partition to a temporary directory, reformat to VFAT and then copy the contents back to the partition.

When the reformat has completed, the following has been tested with a GuruPlug Server Plus (remove the "saveenv" command prior to "boot" if you would only like to test without permanently changing configuration):

# NOTE: substitute "usb 1:1" with "usb 0:1" on non-Plus model devices
printenv
set bootargs 'console=ttyS0,115200 root=LABEL=rootfs rootwait'
set loadInitrd 'fatload usb 1:1 0x7400000 uInitrd'
set loadImage 'fatload usb 1:1 0x6400000 uImage'
set bootcmd 'usb start; ${loadImage}; ${loadInitrd} ; bootm 0x6400000 0x7400000'
saveenv
boot

Installing the kernel to NAND

You can install the kernel and initrd directly into the Plug's NAND flash using commands similar to the following:

# NOTE: substitute "usb 1:1" with "usb 0:1" on non-Plus model devices
# NOTE: If you have ext2 support in uboot (some older versions do not), replace fatload with ext2load in the following directions. 

usb start
fatload usb 1:1 0x6400000 /uImage
nand erase 0x100000 0x400000
nand write.e 0x6400000 0x100000 0x400000
fatload usb 1:1 0x6400000 /uInitrd
nand erase 0x500000 0x1b00000
nand write.e 0x6400000 0x500000 0x1b00000
set bootargs 'console=ttyS0,115200 root=LABEL=rootfs rootwait'
set loadInitrd 'nand read.e 0x7400000 0x500000 0x1b00000'
set loadImage 'nand read.e 0x6400000 0x100000 0x400000'
set bootcmd 'nand start; ${loadImage}; ${loadInitrd} ; bootm 0x6400000
0x7400000'
saveenv
boot

Using Fedora on a Kirkwood Device

The default root password is "fedora". This should be changed immediately.

Serial Console

It is helpful to have a serial console. For the kirkwoods, you need a ttl serial/usb converter like the one on the Guruplug JTAG, a nokia serial cable, or possibly http://adafruit.com/products/954 (not tested, but it has leads so no soldering required for Pogoplug E02 or possibly Dockstars, sheevaplugs, tonidoplugs, etc?.)

The only place that sold the 1.25 pitched connectors with leads for the original guruplug jtag was someone from china off ebay. (It took 6 weeks for delivery.)

The Guruplugs and Pogoplug E02 pinouts are: http://www.plugcomputer.org/Documentation/all-categories/categoryguruplug/guruplug/#Pinouts_for_the_Guruplug_connectors

NOTE: the -connector- is different for the Pogoplug E02, (Rumor has it sometimes they are reversed pin outs.) The connector is I believe 2.54mm for the Pogoplug E02, which is the same size as an analogue cd-rom audio cable, which you can use. (You don't want the power pin).

You can use several clients to connect to your usb/serial converter. cu, picocom, screen, minicom and kermit. You need to set flow control to none. You might have to use stty commands or dig through the settings. I use kermit with these settings:

[root@daffodil ~]# cat .mykermrc
set line /dev/ttyUSB0
set speed 115200
set flow /direct-serial
set flow none
set carrier-watch off
connect
[root@daffodil ~]#


With the serial console and bootrom versions 1.21+ you can also recover a machine (bricked) that has a corrupt uboot. There are several tools available kwboot is one of those tools. It uses the uart(serial) protocol to load a uart enabled uboot image. You can use either the uart boot or the xmodem protocol which is enabled by sending a special string over uart to the machine at boot.

For bootrom versions 1.11 like on the Pogoplug pink E02's, you need a jtag adapter (buspirate or guruplug jtags have been reported to work), and openocd.

The openocd commands for the pogoplug E02 are(it is similar for all kirkwoods and should work no matter what bootrom version you have):

#init dockstar this halts the processor
dockstar_init
#initialize the nand bank #0
nand probe 0

#one of the following 2 commands:
#this command erases all of your nand on bank 0, you may not want that. it takes a couple of minutes. 
nand erase 0
--or--
#this command erases a small section of your nand on bank 0 from address 0x0 to 0x060000 instead of the whole thing.(you can)
nand erase 0 0x0 0x060000

#this loads the new u-boot.kwb image from the directory you started openocd from to the address 0x80000.
# Use full pathnames ie /home/mystuff/kwb.boot if it is in another directory. It takes a minute or two.
# (if it doesn't then you probably forgot to enable the nand.. 
load_image u-boot.kwb 0x80000
#this command writes the file to nand starting at address 0x0
nand write 0 u-boot.kwb 0 oob_softecc_kw
#this saves your changes and resets the processor. You should be able to see the new uboot on the serial console. 
reset

Note: The Guruplug jtag requires the uses of the FTDI driver, and it needs to be compiled into openocd. Fedora does NOT do that due to software licensing and distribution issues surrounding the FTDI driver. They are available from: http://www.ftdichip.com and you will have to compile the driver into your version of openocd. You may also need to make a few minor changes to the openocd configs/scripts to get it to work right with openocd 0.6.1

Calxeda Energycore (HighBank)

The EnergyCore ECX-1000 Series is a family of SoC (Server-on-Chip) products that bring the power efficiency of ARM processors to the datacenter. The ECX-1000′s have an integrated 80Gb EnergyCore Fabric Switch, advanced power/systems management with the on-chip EnergyCore Management Engine, and a slew of I/O options.

For more information on the Calxeda EnergyCore processor, please visit their website.

Using Anaconda to install on Calxeda Energycore (HighBank)

The Calxeda Energycore (HighBank) system supports PXE-boot and may install Fedora using Anaconda and Kickstart. This guide will give you detailed instructions on how to perform the installation, including the HighBank-specific setup required to perform a PXE-boot and kickstart install.

Server Setup
How to set up the server (DHCP/TFTPBoot/PXE) is covered in other Fedora documentation, and is not specific to ARM, so it will not be covered in this document.

The ARM installation tree is included in the Fedora 18 for ARM release and can be found on Fedora Mirrors.

PXE-boot configuration

An example PXE-boot config file is:

menu title F18 HighBank Boot Options

default Highbank-Install
prompt 1
timeout 100

label Highbank-Install
    kernel f18-highbank/vmlinuz-highbank
    initrd f18-highbank/initrd-highbank.img
    append console=ttyAMA0 ip=eth0:dhcp ks=http://<ServerPathToKickstartConfig>/F18-highbank.ks rd.shell


By default, this file should be placed in the pxelinux.cfg directory and named 01-<MAC Address>, all lower case, for example:

  MAC=00-50-43-9e-17-28 -> FileName=01-00-50-43-9e-17-28


U-Boot will also search for alternate file names, including a hexidecimal representation of the system's IP address.

The command line optiopn "ip=eth0:dhcp" is required to perform a network-based install. Command line option rd.debug and rd.shell may be added to support debugging.

A copy of the kernel and initrd image files from the install tree in the yum repository, along with the kickstart config file, should be placed on the PXE/tftpboot server, example:

 /tftpboot/f18-highbank/
   F18-highbank.ks
   initrd-highbank.img
   vmlinuz-highbank
   upgrade-highbank.img
   uImage-highbank
   uInitrd-highbank


The kickstart config file could reside elsewhere, but it was included here with the other images, just to keep things together. This implies that the tftpboot directory is also accessible via http.


Default Operation
The current version of U-Boot on Highbank defaults to using 'bootz' instead of 'bootm' for PXE-booting, therefore the 'raw' images need to be copied to the server. The version of U-Boot on other systems may have the opposite default (use U-Boot wrapped images). Both versions of the kernel and initrd are provided in the images/pxeboot directory of the install tree and may be copied to the server.


Please use this example F18-highbank.ks file as a base for test installations. By default it points to the public yum repository and install tree.

To boot to the PXE install image, interrupt the autoboot on the system and perform a PXE-boot. For convenience U-Boot provides a script can be used to PXE boot the system, for example:

  bootcmd_pxe=setenv bootfile ""; dhcp; pxe get; pxe boot


This can then be automatically performed on boot, or run manually, for example:

 run bootcmd_pxe


U-Boot should display the boot menu defined in the PXE config file for the system. Once the default is selected (or autoboots) the kickstart install should begin. This may take a long time, so please be patient. Depending on the system and network performance the installation may take more than an hour.

The default root password is 'fedora'. This should be changed immediately.

IMPORTANT NOTE
This will wipe out anything on the hard drive in order to perform the new installation. It is not interactive, and no prompts or warnings will be provided. Only run this on a 'scratch' system for installation testing.


Fedora provides the images on the Fedora secondary-arch mirrors, and on the master repository at:

 http://dl.fedoraproject.org/pub/fedora-secondary/releases/18/Fedora/armhfp/os/images/pxeboot


These images can be used for quick testing of PXE configuration using the example kickstart file provided (above).

A "Pandastack" used at Seneca College to build Fedora for ARM. There are eleven stacked Pandaboards in this configuration

Pandaboard

The Pandaboard is an open OMAP™ 4 mobile software development platform. It provides users with either a desktop or text-based environment.

Technical Specifications

  • 1 GHz Dual core Cortex A9 Processor (OMAP 4430-4460)
  • 1 GB DDR2 RAM
  • HDMI v1.3
  • 10/100Mbit/s Ethernet
  • 802.11 b/g/n WiFi

For more information on the Pandaboard visit their website.

Running Fedora on a Pandaboard

This page will give you detailed instructions for running Fedora 18 on your Pandaboard. The image will provide both serial console and the XFCE desktop.

Download the image

The first step is to download the prebuilt Fedora 18 image, which includes everything you will need to boot your system. It will require a minimum of 4GB for the root filesystem. There two images available for the Pandaboard, a hardware floating point (armhfp) image, and a software floating point(arm) image. 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

Writing the Image

Linux Users

You can write the image to an SD card of your choosing but it does have to meet the minimum size requirements of 4GB. You can optionally use a USB device for the root file system to improve performance.

For use with SD:

 xzcat Fedora-18-panda-armhfp.img.xz  > /dev/<path-to-SD-device>

For use with SD/USB

 xzcat Fedora-18-panda-armhfp.img.xz > /dev/<path-to-SD-device>
 xzcat Fedora-18-panda-armhfp.img.xz > /dev/<path-to-USB-device>

Then use fdisk to delete the boot partition from the USB attached media, and rootfs and swap partitions from the SD card.

 fdisk /dev/<path-to-SD-device>

Delete partitions two and three (d,3,d,2,w).

 fdisk /dev/<path-to-USB-device>

Delete the first parition only. (d,1,w)

Once completed run the below command to ensure the entire image is written to the card:

sync

Windows Users

  • You will need to download Win32 Image Writer as well as a tool to extract the image such as 7-Zip.
  • Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
  • Launch Win 32 Disk Imager and select the extracted disk image and the SD card you would like to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!

Using Fedora on the Pandaboard

Connect the newly created media to your Pandaboard and power on. No further steps are required. Your images will boot to graphical.target (runlevel 5) by default. To change this default behaviour and boot to multi-user.target (runlevel 3) run the following command as root:

ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

The default root password is "fedora". This should be changed immediately.

A Trimslice proudly wearing a "Powered by Fedora" case badge.

Trimslice

The Trim Slice is a small, fanless, nettop computer in an all metal case, manufactured by CompuLab. It is based on the NVIDIA Tegra 2 processor. It features a variety of connectivity options. At this time there is no support in Fedora for a display on the Trim Slice, so it boots to a serial console.

Technical Specifications

  • 1 GHz NVIDA Tegra 2 (dual-core ARM Cortex A9)
  • 1 GB DDR2-667 RAM
  • HDMI 1.3 max resolution 1920 x 1080
  • Gigabit Ethernet (Realtek RTL8111DL)
  • 802.11 b/g/n WiFi

For more information on the Trimslice visit their website.

Running Fedora on a Trimslice

This page will give you detailed instructions for running Fedora 18 on your Trimslice. The image is prepared to boot from SD card by default, but can be easily modified to boot from the internal SATA connection (USB) by using the appropriate boot script (boot.scr.usb).

Download the image

The first step is to download the Fedora 18 image. The prebuilt image includes everything you will need and can be written directly to SD Card, USB, or SATA drive and will require a minimum of 4GB. There are two images available for the Trimslice, a hardware floating point (armhfp) image, and a software floating point (arm) image. If you are unsure of which to choose, the armhfp image is recommended, and will be used in the 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

Writing the Image

Linux Users

You can write the image to media of your choosing but it does have to meet the minimum size requirement of 4GB. Connect the media to your computer and make note of the drive. To write the image to your media run the following command, changing the drive to the location of your media.

For the SD Image:
xzcat Fedora-18-trimslice-armhfp.img.xz > /dev/<location-of-your-SD-card>

Once completed run the below command to ensure the entire image is written to the device:

sync
For the SATA/USB Image:
xzcat Fedora-18-trimslice-armhfp.img.xz > /dev/<location-of-your-SATA/USB>

Then mount the 'boot' partition and copy the appropriate boot script to boot.scr:

 cp boot.scr.usb boot.scr

Once completed run the below command to ensure the entire image is written to the device:

sync

Windows Users

  • You will need to download Win32 Image Writer as well as a tool to extract the image such as 7-Zip.
  • Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
  • Launch Win 32 Disk Imager and select the extracted disk image and the device you would like to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!

Using Fedora on the Trimslice

IMPORTANT
You must use firmware "v2010.09-1.03" to boot the Fedora 18 Trimslice image. Failure to do so will result in a non-booting system.

Connect the newly created media to your Trimslice and power on. No further steps are required and your system should boot to a serial console log in prompt. If you do not have a serial cable to connect your Trimslice, you can watch your DHCP server for the newly connected device. After a few minutes you should be able to see the host IP address. Use SSH to connect to the root account.

ssh root@<ip-of-host>

The default root password is "fedora". This should be changed immediately.

Updating to the 3.7+ Kernel

IMPORTANT
When upgrading to the 3.7+ kernel, the Trimslice will require a new version of U-Boot and a Device Tree Binary (.dtb). Follow the below directions for use. Failure to do so will result in a non-booting system.

As of the 3.7+ kernel, the Trimslice will require the latest version of U-Boot that supports Device Tree and the use of a Device Tree Binary blob (.dtb). To successfully upgrade to the latest kernel:

yum update kernel-tegra

The kernel package will also install a subdirectory in '/boot/dtb-<kernel-version>' that will include the Device Tree Binary blob for the Trimslice. In order to use this 'dtb' file, create a symbolic link as follows:

cd /boot
rm dtbs  # remove the previous symlink if it exists
ln -sf dtb-<kernel version> dtbs

For example for 'kernel-tegra-3.9.0-0.rc8.git0.1.fc19.armv7hl':

cd /boot
rm dtbs # remove the previous symlink if it exists
ln -sf dtb-3.9.0-0.rc8.git0.1.fc19.armv7hl.tegra dtbs


Shutdown your device, and follow the instructions on the Compulab website to update the firmware on the Trimslice. Once the firmware is installed, you will need to add a couple of environmental variables to allow your system to boot. Boot your Trimslice and hit any key to prevent the system from booting, enter the following:

setenv fdt_high 0x2C000000
setenv initrd_high 0x2C000000
saveenv
reset

This should now boot into Fedora 18.

A screen shot of Fedora 18 for ARM on QEMU .

Versatile Express

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!

Technical Specifications

  • ARM Versatile Express for Cortex-A9
  • 1GB RAM
  • 10/100Mbit/s Ethernet

For more information on Versatile Express or QEMU visit their websites.

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

Linux Users

Extract the tarball using the graphical user interface or the following commandline option:

tar xvJf Fedora-18-vexpress-xfce-armhfp.tar.xz

Windows Users

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:

cd Fedora-18-vexpress-xfce-armhfp/boot/

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 qemu-img.

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'
touch /.rootfs-repartition
  • Reboot your guest
reboot
  • 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).

Release Notes

  • 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.

Known Issues

  • BeagleBoard-xM generates a kernel warning on reboot and requires use of the reset button to actually reboot.
  • Images are designed to be written to 2GB (console) or 4GB (xfce) SD cards. On first boot the partition will be resized to the maximum allowable amount. On the second boot the filesystem will be resized to fill the expanded partition. This works for SD cards, SATA Disks, and SSD drives.
  • Images were composed using tools in Fedora 17 due to continuing work on Fedora 18.
  • When using this image the system will automatically reboot to repartition the root filesystem on first boot. This will expand the size of the root partition to use all available space on the device. To prevent this, delete the '.rootfs-repartition' flag in '/' or pass a kernel command line argument of 'nofsresize'.
  • When upgrading the to 3.7.X kernel on the Trimslice you will require a new version of U-Boot that supports Device Tree, and a Device Tree Binary (.dtb) file.
  • Known release issues

Additional Support

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 - arm

References