From Fedora Project Wiki

< Architectures‎ | ARM

Revision as of 07:30, 15 July 2011 by Jcm (talk | contribs)


We are currently engaged in bootstrap of support for armv7hl ("hardfp") ARM systems in Fedora. The purpose of this page is to track the individual status of packages (and their dependencies) that have been built for Fedora.


We began bootstrap with "stage1" (cross-compilation), then proceeded to native builds (but without RPM) in "stage2". We are now at "stage3", which consists of native RPM builds, though these might consist of RPMs wherein certain features not essential to bootstrap have been disabled (for example, selinux, audit, and so forth). A certain amount of discretion is required to determine what dependencies are essential and which are not - use IRC for that purpose if necessary. Once a minimal set of "stage3" packages is built, sufficient to run mock builds locally, all of these packages will be rebuild in mock as "stage4". The final bootstrap stage, stage5, will be packages sufficient to run Koji builds. After that, every package will be built again and used as the gold set of initial (alpha/beta) F15 packages.

How to build

Packages should be retrieved in SRPM form from F15 on primary architecture (from Fedora Koji), then their dependencies should be examined. In cases where minimal dependencies exist to build a sane package (albeit perhaps without a "docs" sub-package, etc.) then that package should be built and the status updated here. Packages requiring dependencies should first have those dependencies built. If a package recursively requires itself, it might be necessary to build a locally minimal version of the package to bootstrap itself, then a real RPM. We care about the real RPM/SRPM for armv7hl, and so do not need the interim version of a package if an RPM/SRPM combination is available.

Once an RPM/SRPM combination is available, it should be uploaded somewhere, and an email/IRC announcement made. Even more preferable is to populate the RPMs into /stage3/armv7hl within a branch named armv7hl-YOUR_FAS_USERNAME within the rootfs git repo. Ping jcm (jonmasters) on #fedora-arm IRC and he will pull this (or pull from a URL), then he will install these RPMs into the master armv7hl branch from which others can update their rootfs. Packages are also mirrored onto and this contains yum repo data pre-installed into the rootfs as well (that can later be used by mock once a base set of packages is available to do so).

Package Status

The following packages (and their dependencies) are known to be required and need working on (status in parenthesis):

  • userspace


The following packages are built in stage1 but are not yet available in stage3 RPMs (therefore require building as real armv7hl RPMs in due course):

  • kernel-headers
  • kernel (not required, build the fake kernel provides package from F13 instead)

The following packages are built in stage2 but are not yet available in stage3 RPMs (therefore require building as real armv7hl RPMs in due course):

  • ccache
  • chkconfig
  • cpio
  • gdb
  • strace
  • tzdata