Line 239: | Line 239: | ||
= Calxeda EnergyCore (HighBank) = | = Calxeda EnergyCore (HighBank) = | ||
Fedora 20 | Fedora 20 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/F20-Alpha/F20-Alpha-Highbank.ks here]. | ||
For more detailed instructions on setting this up, please visit this [[Architectures/ARM/F18/HighBank |page]]. | For more detailed instructions on setting this up, please visit this [[Architectures/ARM/F18/HighBank |page]]. |
Revision as of 13:50, 12 November 2013
Fedora 20 for ARM
The Fedora ARM team is pleased to announce that the Fedora 20 Beta for the ARM Architecture is now available for download from:
http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Images/armhfp/
Fedora 20 Beta for ARM includes two image types - one for use with platforms requiring a VFAT partition (such as Texas Instruments's AM335x-based Beaglebone Black), the other for use with devices that boot from an EXT3/4 partition (such as CompuLab's Tegra2-based TrimSlice). For each of these image types, there are a number of images providing for a variety of desktop choices (including MATE, KDE, XFCE, LXDE, SOAS), as well as a minimal image that does not include the desktop. Any of these images can be used with QEMU on an x86_64 desktop to emulate a fully functional ARM environment.
The image-based installation process involves downloading an image file (depending upon the target type and 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 20 Beta environment.
For the BeagleBone Black
Support for the BeagleBone Black has been added in Fedora 20. At this time HDMI support is not included, so the Minimal image should be used by most users.
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Images/armhfp/Fedora-$TYPE-VFAT-armhfp-20-Beta-RC5-sda.raw.xz
Copy the image to the intended media:
xzcat Fedora-$TYPE-VFAT-armhfp-20-Beta-5-sda.raw.xz > /dev/<location-of-your-media>
Mount the newly created media and copy the U-Boot files from the root partition to the UBOOT partition:
USER= #your username cp /run/media/$USER/__/usr/share/uboot-beaglebone/* /run/media/$USER/UBOOT/ cp /run/media/$USER/UBOOT/uEnv.txt.beaglebone /run/media/$USER/UBOOT/uEnv.txt
Insert into your BeagleBone Black and boot.
For the CompuLab TrimSlice
Download the image of your choice for use with the TrimSlice:
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Images/armhfp/Fedora-$TYPE-armhfp-20-Beta-5-sda.raw.xz
Copy the image to the intended media:
xzcat Fedora-$TYPE-armhfp-20-Beta-5-sda.raw.xz > /dev/<location-of-your-media>
Insert into the TrimSlice and boot. Fedora will boot to an initial setup screen allowing you to create your user, set the root password and timezone.
For the Wandboard (Freescale i.MX6)
The Fedora kernel currently does not support a display on the Wandboard. For this reason the Minimal image is recommended.
wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Images/armhfp/Fedora-Minimal-armhfp-20-Beta-5-sda.raw.xz xzcat Fedora-Minimal-armhfp-20-Beta-5-sda.raw.xz > /dev/<location-of-your-media> sync
Remove and reinsert the media into the host PC to automatically mount the image.
The Wandboard includes a Solo, Dual, and Quad core configuration. Determine your hardware configuration and use the appropriate value. While the Wandboard Quad has been tested and confirmed working, the Solo and Dual core models should also work as well.
USER= # your username cd /run/media/$USER/__boot ln -sf dtb-3.11.6-301.fc20.armv7hl dtb
Create the extlinux.conf file manually (from the current directory 'vi extlinux/extlinux.conf):
- Note - You may need to edit the extlinux.conf file and add the UUID of your root filesystem. To check this use 'blkid /dev/<location-of-your-media>'. Make note of the Root filesystem UUID.
# extlinux.conf generated by anaconda #ui menu.c32 menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options. #menu title Fedora Boot Options. #menu hidden timeout 60 #totaltimeout 9000 label Fedora (3.11.6-301.fc20.armv7hl) 20 (Heisenbug) kernel /vmlinuz-3.11.6-301.fc20.armv7hl append console=ttymxc0,115200 root=UUID=04e54c55-4d1e-4db7-b8df-5bd9defdc4ee ro rhgb quiet LANG=en_US.UTF-8 fdt /dtb/imx6q-wandboard.dtb initrd /initramfs-3.11.6-301.fc20.armv7hl.img
Copy the U-boot for the hardware in use:
BOARD= # Choose 'solo', 'dl' or 'quad' sudo cp /run/media/$USER/__/usr/share/uboot-imx6$BOARD/u-boot.imx /home/$USER/ sync
Unmount the media and copy the U-boot file:
sudo umount /run/media/$USER/__boot sudo umount /run/media/$USER/__ /home/$USER/ dd if=u-boot.imx of=/dev/<location-of-your-media> bs=1k seek=1 sync
Remove the media and insert into the Wandboard and boot.
- NOTE - Insert into the MicroSD slot below the heatsink.
Network Installation on the Wandboard
This has been tested on the Wandboard Quad, use the appropriate 'dtb' for your board and adjust the IP addresses to match your network. This will also require a working tftp server and a MicroSD with U-Boot.
setenv ipaddr $WANDBOARDIP # or use 'dhcp get' for IP setenv serverip $TFTPBOOTSEVER # Set this to your TFTP boot server setenv bootargs console=ttymxc0,115200 ip=eth0:dhcp inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Fedora/armhfp/os/ rd.shell tftpboot ${ramdisk_addr_r} ${serverip}:uInitrd tftpboot ${kernel_addr_r} ${serverip}:vmlinuz tftpboot ${fdt_addr} ${serverip}:imx6q-wandboard.dtb bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}
Install MicroSD
Format an SD card of your choosing using ext4 and copy the Fedora 20 Beta installation files
wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Fedora/armhfp/os/images/pxeboot/vmlinuz wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Fedora/armhfp/os/images/pxeboot/uInitrd mkdir dtb wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Fedora/armhfp/os/images/pxeboot/dtb/imx6q-wandboard.dtb mv imx6q-wandboard.dtb dtb/ mkdir extlinux wget http://fedorapeople.org/~pwhalen/wandboard-f20/extlinux.conf mv extlinux.conf extlinux/
A pre-made MicroSD image is available here:
wget http://fedorapeople.org/~pwhalen/wandboard-f20/Fedora-20-Beta-Installer-Wandboard.raw.xz xzcat Fedora-20-Beta-Installer-Wandboard.raw.xz > /dev/<location-of-your-media> sync
Remove and re-insert the media, unmount the MicroSD and copy U-Boot:
wget http://fedorapeople.org/~pwhalen/wandboard-f20/u-boot.imx dd if=u-boot.imx of=/dev/<location-of-your-media> bs=1k seek=1
If you reformatted '/boot' during the installation to the MicroSD you will need re-write U-Boot to the MicroSD card and create the DTB symlink as noted above.
- Known issues
- USB Root not booting. SATA untested.
For Versatile Express Emulation with QEMU
No ARM hardware? No problem! Even without hardware, it is possible to run the Fedora 20 Beta for ARM images using the QEMU emulator program. Any image can be used, and you can choose a script method or manual depending on your preference.
Manual Preparation
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Images/armhfp/Fedora-$TYPE-armhfp-20-Beta-5-sda.raw.xz
Extract the image:
unxz Fedora-$TYPE-armhfp-20-Beta-5-sda.raw.xz
Install 'libguestfs-tools' to use virt-copy
sudo yum install -y libguestfs-tools
Extract the kernel and initramfs for use with booting.
virt-copy-out -a Fedora-Desktop-armhfp-20-Beta-5-sda.raw /boot/vmlinuz-3.11.6-301.fc20.armv7hl . virt-copy-out -a Fedora-Desktop-armhfp-20-Beta-5-sda.raw /boot/initramfs-3.11.6-301.fc20.armv7hl.img .
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.11.6-301.fc20.armv7hl \ -initrd initramfs-3.11.6-301.fc20.armv7hl.img \ -sd Fedora-$TYPE-armhfp-20-Beta-5-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.11.6-301.fc20.armv7hl --ramfs=initramfs-3.11.6-301.fc20.armv7hl.img --image=Fedora-$TYPE-armhfp-20-Beta-5-sda.raw
Booting with device tree is possible, although passing --gui for graphics will not work at this time (this is due to ongoing platform reword occurring within the Versatile Express kernel code). Booting without device tree is recommended for F-20, as it will work in both serial and graphics mode, whereas passing a DTB will only work with serial.
livemedia-modifier
The livemedia-modifier tool written by Jon Chiappetta can be used to perform the above steps and is available here. After installing you can run the script using the following example:
# Extract the image unxz Fedora-$TYPE-armhfp-20-Beta-5-sda.raw.xz # Run livemedia-modifier livemedia-modifier --image=Fedora-$TYPE-armhfp-20-Beta-5-sda.raw --platform=vexpress --nocompress
The modifier will create a copy of the original image, all changes will be made on the copy preserving the original image integrity.
Additional usage instructions can be found here.
Interactive Network Installation
wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Fedora/armhfp/os/images/pxeboot/vmlinuz wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta//Fedora/armhfp/os/images/pxeboot/initrd.img dd if=/dev/zero of=Fedora-qemu-armhfp-20-Beta-5.img bs=1M count= #add a size # Text Install qemu-system-arm -machine vexpress-a9 -m 1024 -nographic -net nic -net user \ -append "console=ttyAMA0 ip=eth0:dhcp inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Fedora/armhfp/os/ rd.shell" \ -kernel vmlinuz \ -initrd initrd.img \ -sd Fedora-qemu-armhfp-20-Beta-5.img # Graphical Install qemu-system-arm -machine vexpress-a9 -m 1024 -net nic -net user \ -append "ip=eth0:dhcp inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Beta/Fedora/armhfp/os/ rd.shell" \ -kernel vmlinuz \ -initrd initrd.img \ -sd Fedora-qemu-armhfp-20-Beta-5.img
After Installation you will need to copy the kernel and initramfs from the image.
virt-copy-out -a Fedora-qemu-armhfp-20-Beta-5.img /boot/vmlinuz-3.11.6-301.fc20.armv7hl . virt-copy-out -a Fedora-qemu-armhfp-20-Beta-5.img /boot/initramfs-3.11.6-301.fc20.armv7hl.img .
Boot the new system
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.11.6-301.fc20.armv7hl \ -initrd initramfs-3.11.6-301.fc20.armv7hl.img \ -sd Fedora-qemu-armhfp-20-Beta-5.img
- Tested with text Install, standard partitioning
Resize the Root Filesystem
By default the root partition should be re-sized to fill the media in use on first boot. To use this additional space run:
resize2fs /dev/sda3
Calxeda EnergyCore (HighBank)
Fedora 20 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.
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).
Known Issues
- The Beaglebone Black will boot the Fedora 20 Beta VFAT images, however there is currently no USB. This is actively being worked on, if you would like to contribute please visit #fedora-arm on Freenode.
- The images include dracut-modules-growroot and cloud-utils-growpart which should automatically resize the root partition on first boot, due to a bug this does not occur. The work around is to resize the root partition using GParted or equivalent.
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 19 system, you may need to adjust the mounts used).
USER= # your user account rm /run/media/$USER/__/etc/systemd/system/graphical.target.wants/initial-setup-graphical.service rm /run/media/$USER/__/etc/systemd/system/multi-user.target.wants/initial-setup-text.service mkdir /run/media/$USER/__/root/.ssh/ touch /run/media/$USER/__/root/.ssh/authorized_keys cat /home/$USER/.ssh/id_rsa.pub >> /run/media/$USER/__/root/.ssh/authorized_keys
Give the system a few minutes to boot, when it obtains an IP you should be able to ssh to the root account.