From Fedora Project Wiki

Fedora 24 for ARM

Today the Fedora Project is pleased to announce the general release of Fedora 24. Download it now from our Get Fedora site:

Another Step in the Fedora Journey

The Fedora Project has embarked on a great journey... redefining what an operating system should be for users and developers. Such innovation does not come overnight, and Fedora 24 is one big step on the road to the next generation of Linux distributions. But that does not mean that Fedora 24 is some "interim" release; there are great new features for Fedora users to deploy in their production environments right now! There are many features in this new release, highlighted here. For more detailed information on Fedora 24, please read the Release Notes.

Workstation

The Fedora 24 Workstation release features GNOME 3.20, with many usability improvements such as easier input device and printer settings, a better search interface, shortcut windows for keyboard commands, and more convenient music controls. Flatpak (formerly xdg-app) is another building-block feature, with Software able to track installed Flatpaks and adding more features in the future as the technology develops. The Software app has also grown features to provide a full system upgrade directly from the desktop from one Fedora release to the next, and the ability to provide labeling as well as reviews of available software. Fedora 24 continues our work on the X replacement, Wayland, a next-generation graphics stack. Although this release will not default to Wayland, it includes many improvements and is available as an option for users to try out, and potentially will be the default stack in Fedora 25.

Server

Fedora 24 Server edition is more streamlined and introduces more modularity, which will become a major factor in future Fedora releases, even as unnecessary packages were removed and the installer has a smaller footprint. FreeIPA 4.3 is a major feature for Fedora 24 Server. FreeIPA is an integrated security information management solution. This new version of FreeIPA features simplified replica installation and improved replication technology management.

Spins and Labs

Fedora Spins and Labs are alternative Fedora versions that offer additional desktop environments, or other custom collections of software, alongside the three editions that are the primary focus for the project. Our Spins make it easy for people to use other desktop environments. Everyone has different needs and Spins are a great way for us to meet them. The Fedora 24 spins release showcases KDE Plasma, Xfce, LXDE, Mate-Compiz, and Cinnamon, all on the same Fedora base. Fedora Labs offer collections of software for specific purposes: Games, Robotics, and so on. They are pre-selected sets of software ideal for events or audiences with specialized interests that need corresponding software. Fedora 24 comes with a new lab focused on Astronomy, which contains a set of tools for astronomers and astrophysicists.

Make Fedora Even Better

If you want to take an active hand in making Fedora even better, there are many ways you can contribute. There are many roles that you can participate. Visit http://whatcanidoforfedora.org/ for more information! While this is a general release, there is always a chance you may encounter bugs or missing features. To report issues encountered during testing, contact the Fedora QA team via the mailing list or in #fedora-qa on Freenode IRC. As testing progresses, common issues are tracked on the Common F24 Bugs page.

For tips on reporting a bug effectively, read "how to file a bug report."


Download the Disk Image & Copy to Media

The image-based installation process involves downloading an image file (depending upon desktop/non-desktop option desired), inserting removable media into a "host" system (e.g. an ARM or x86_64 PC class desktop, laptop, etc.) and performing a few simple commands to write this image onto the media. This media is then used by the ARM "target" system to boot the Fedora 24 environment.

After writing the image and correct U-boot file(s), insert the media into the target platform and boot.

Fedora Arm Installer

Note.png
Note
The examples provided here are from a Fedora 21/22/23 host and may need to be adjusted depending on your host environment.

Execute the following script as a user with sudo privileges. It will copy the selected disk image and write the appropriate U-Boot for the target hardware platform. Optionally you can also enable and disable SE Linux and remove the root password requirement (allowing log in without completing initial setup). To add a board not listed, simply create a bash scriptlet with the commands needed to copy U-Boot to media and add to the 'boards.d' directory.

sudo dnf install fedora-arm-installer
Usage: fedora-arm-image-installer <options>

   --image=IMAGE    - xz compressed image file name
   --target=TARGET  - target board
		      [A10-OLinuXino-Lime|A20-OLinuXino-Lime|A20-OLinuXino-Lime2|A20-OLinuXino_MICRO|am335x_boneblack|arndale|Bananapi|Bananapro|cm_fx6|Cubieboard|Cubieboard2|Cubietruck|jetson-tk1|Linksprite_pcDuino|Linksprite_pcDuino3|Linksprite_pcDuino3_Nano|Mele_A1000|Mele_A1000G_quad|Mini-X|mx6cuboxi|none|novena|omap4_panda|omap5_uevm|riotboard|trimslice|wandboard]
   --media=DEVICE   - media device file (/dev/[sdX|mmcblkX])
   --selinux=ON/OFF - Turn SELinux off/on as needed
   --norootpass     - Remove the root password
    -y		    - Assumes yes, will not wait for confirmation
   --version	    - Display version and exit
   --resizefs	    - Resize root filesystem to fill media device
   --addconsole     - Add system console to extlinux.conf

Example: fedora-arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0 --selinux=OFF

For Versatile Express Emulation with QEMU

No ARM hardware? No problem! Even without hardware, it is possible to run the Fedora for ARM images using the QEMU emulator program. Any image can be used, and you can choose a scr ipt method or manual depending on your preference.

Using an Existing Disk Image

Choose a disk image.

http://download.fedoraproject.org/pub/fedora/linux/releases/24/Spins/armhfp/images/

Extract the image:

TYPE= # Type of image used. (eg Minimal, KDE, Xfce, SoaS, MATE)
unxz Fedora-$TYPE-armhfp-24-1.2-sda.raw.xz

Install 'libguestfs-tools' to use virt-builder:

sudo dnf install -y libguestfs-tools

Extract the kernel and initramfs for use with booting.

virt-builder --get-kernel Fedora-$TYPE-armhfp-24-1.2-sda.raw

Move the files to the default libvirt image location:

sudo mv Fedora-$TYPE-armhfp-24-1.2-sda.raw vmlinuz-4.5.5-300.fc24.armv7hl initramfs-4.5.5-300.fc24.armv7hl.img /var/lib/libvirt/images/

Using Virt-Manager (Graphical )

  • Start virt-manager, connect to 'QEMU', click the 'New VM' icon
  • On the first page, under 'Architecture Options' select 'arm'. The 'virt' machine type should be selected automatically
  • Select the 'Import install' option, go to the next page
  • Browse to the disk image, kernel, and initrd we moved in the previous step.
  • Set kernel args as: console=ttyAMA0 rw root=LABEL=_/ rootwait
  • Set the OS as Fedora 22.
  • Continue with the OS defaults, complete the install.

The guest should shortly start booting, and you should see text console output. After a bit of a wait, it should hit a text mode 'initial setup' where you can set a root password. To boot (you will need to determine the kernel version used in the disk image):

Using 'virt-install' (command line)

sudo virt-install \
    --name Fedora-$TYPE-armhfp-24 --ram 1024 --arch armv7l --import --os-variant fedora22 \
    --disk /var/lib/libvirt/images/Fedora-$TYPE-armhfp-24-1.2-sda.raw \
    --boot kernel=/var/lib/libvirt/images/vmlinuz-4.5.5-300.fc24.armv7hl,initrd=/var/lib/libvirt/images/initramfs-4.5.5-300.fc24.armv7hl.img,kernel_args="console=ttyAMA0 rw root=LABEL=_/ rootwait"

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 Fedora-$TYPE-armhfp-24-1.2-sda.raw +10G

Interactive Network Installation

This example will create an 8Gb disk image in the libvirt images directory.

sudo virt-install \
    --name f24-armhfp --ram 2048 --arch armv7l --os-variant fedora22\
    --disk /var/lib/libvirt/images/f24-armhfp.raw,bus=virtio,format=raw,size=8 \
    --location=http://dl.fedoraproject.org/pub/fedora/linux/releases/24/Everything/armhfp/os/ \
    --extra-args="console=ttyAMA0 rw"

Complete a Text or VNC Installation choosing a software packge and partitioning scheme. The system will attempt to reboot but fail until the next step is completed.

Virt-Manager

  • Open Virt-Manager and select the image created above. Click on "Edit-> Virtual Machine Details -> View -> Details"
  • Under "Boot Options", add the kernel, initramfs
  • Use virt-cat to get the appropriate kernel args.
sudo virt-cat -a /var/lib/libvirt/images/f24-armhfp.raw /boot/extlinux/extlinux.conf

Booting for the First Time

Initial-setup

  • During the first boot the system will launch the 'initial-setup' utility. For graphical images this will occur on the display, for minimal images this will occur on the serial console. Failure to complete the initial-setup will prevent logging into the system. To log in to the root account without completing the initial-setup you will need to minimally edit '/etc/passwd' file and remove the 'x' from the line beginning with 'root' (this will allow you to log into the root account without entering a password).
    • NOTE - currently there is a timing issue with initial-setup, even though a display is connected, it may be run as text on the serial console. This is often resolved by rebooting the system.

Resize the Root Filesystem

To resize the root partition use 'gparted' on a Fedora host.

Upgrade using Fedup

It is also possible to upgrade to Fedora 24 from an existing Fedora 23 installation (NOTE: This is not well tested prior to, and may not work for all hardware. Tested on Calxeda Highbank. Previous releases may also work but have not been tested).

# fully update the system
sudo dnf update -y
# install the upgrade plugin
sudo dnf install dnf-plugin-system-upgrade
# upgrade
sudo dnf system-upgrade download --releasever=24

Known Issues & Usage Tips

  • Display is not currently working in vexpress emulation.
  • On some hardware, initial setup runs on serial console (initial-setup-text) rather than graphical on Desktop enabled images. If no serial console is available, restarting the system may start the graphical version. Removing the symlink for initial-setup-text will ensure the correct version is run.
  • Initial-setup-graphical does not use the full screen on Desktop images. It is still possible to complete, once an option is selected the window should resize and be easier to use. (BZ#1160891)

For a list of all common bugs please visit - http://fedoraproject.org/wiki/Common_F24_bugs .

FAQ

  • QUESTION : How do I use Fedora ARM when I have no serial cable or display?
    • ANSWER: Though not recommended it is possible to use Fedora ARM without a serial cable or display. When doing so you may want to limit updates to reduce the possibility of not being able to boot. (This example is from a Fedora 22 system, you may need to adjust the mounts used).
USER= # your user account
sudo rm /run/media/$USER/__/etc/systemd/system/graphical.target.wants/initial-setup-graphical.service  #only needed for Desktop images
sudo rm /run/media/$USER/__/etc/systemd/system/multi-user.target.wants/initial-setup.service
sudo mkdir /run/media/$USER/__/root/.ssh/
cat /home/$USER/.ssh/id_rsa.pub | sudo tee -a /run/media/$USER/__/root/.ssh/authorized_keys
sudo chmod -R u=rwX,o=,g= /run/media/$USER/__/root/.ssh/

Give the system a few minutes to boot, when it obtains an IP you should be able to ssh to the root account.

  • QUESTION : Why does 'yum update' fail?
    • ANSWER: The system time might be incorrect, please ensure it is correct.
  • QUESTION : How do I enable hardware virtualization on the Jetson TK1?
    • ANSWER: At a U-Boot prompt enter 'setenv bootm_boot_mode nonsec; saveenv'. Then boot using an LPAE kernel.