From Fedora Project Wiki

< Architectures‎ | ARM

Revision as of 16:26, 11 September 2012 by Dmarlin (talk | contribs) (Fedora ARM Installation Tree Compose)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Creating an ARM Install Tree using Lorax

The repositories for primary architecture (PA) formal releases, including the install trees, are all publicly available and may be used for network installtions. The public repository for the Fedora ARM secondary architecture (SA) cannot be used for installations because it does not include an install tree, therefore a private copy must be used. An example of such a repository is available at:

 ftp://ftp.ges.redhat.com/pub/fedora-secondary/releases/17/Everything/armhfp/os/

You may wish to create your own install tree to include additional ARM platform support or to test new install kernels. A local Fedora 17 install tree for ARM may be created using Lorax.

Install the Tools

The ARM install tree may be created using a modified version of Lorax and Anaconda. A lookaside repo is used to hold the modified versions of anaconda, grubby, and lorax, since the changes are not in Fedora 17. They should all be available in Fedora 18, when released.

From an F17 ARM system, install the required tools:

  • get the eXtra Packages for Fedora ARM (xpfa) yum repository definition:
 sudo yum --nogpgcheck install http://dmarlin.fedorapeople.org/packages/FedoraArm/RPMS/noarch/xpfa-17-1.1.noarch.rpm
  • update grubby to get the modified version:
 sudo yum --enablerepo=xpfa update grubby
  • make any changes to the U-Boot configuration (if needed):
 sudo vi /etc/sysconfig/uboot
  • install Anaconda and Lorax
 sudo yum --enablerepo=xpfa install anaconda lorax

Compose a Local Install Tree

Once you have installed the patched versions of Lorax and Anaconda, run the following command as root to begin the local compose of the installation tree:

Warning.png
Warning!
selinux must be disabled.
 lorax -p Fedora -v 17 -r 17 \
    --variant="Fedora" \ 
    --mirrorlist="http://mirrors.fedoraproject.org/metalink?repo=fedora-17&arch=armhfp" \
    --source="http://dmarlin.fedorapeople.org/yum/f17/armhfp/os/Packages/" \
        <LocalPathToInstallTrees>/armv7hl-tree


Note.png
Note:
The --source options must include both the URL of the entire Fedora 17 ARM release repository and the URL where the patched version of Anaconda, Lorax, and any patched kernels can be found. The last directory is the output path, and must not already exist (it will be created by lorax). The compose may take up to 3 hours to complete. There may be some packages that fail to install at the beginning of the compose due to the fact they are not available for the ARM architecture. This will not affect the compose.


The resulting install tree should have the following directory structure. The resulting 'images/pxeboot' directory will contain the kernel and initrd images to be used during the PXE boot, and the 'LiveOS' directory will contain the root filesystem (squashfs).

  tree -a  <LocalPathToInstallTrees>/armv7hl-tree
  |-- .discinfo
  |-- .treeinfo
  |-- LiveOS
  |   `-- squashfs.img
  `-- images
     `-- pxeboot
      <kernel and initrd images>
  3 directories, 27 files

In order to use the installation tree, copy it into the local copy of the Fedora 17 ARM repository as follows:

 rsync -av <LocalPathToInstallTrees>/armv7hl-tree/  <LocalPathToRepo>/releases/17/Everything/armhfp/os

The destination path must already exist and will be populated with the two directories and two hidden files created by Lorax. It should already contain a copy of the Fedora 17 ARM release repository. The kernel and initrd images for the target platform will be used to PXE boot the target system.