Difference between revisions of "Fedora ARM Secondary Architecture/Research Plan/Summer 2010"
Chris Tyler (talk | contribs) (→Fedora ARM Koji Farm) |
Chris Tyler (talk | contribs) (→Fedora ARM Koji Farm) |
||
Line 15: | Line 15: | ||
== Fedora ARM Koji Farm == | == Fedora ARM Koji Farm == | ||
− | * Evaluate and select hardware options for a Koji farm for the Fedora ARM Secondary Architecture | + | * Evaluate and select hardware options for a Koji farm for the Fedora ARM Secondary Architecture, building on the work done by SBR600 in Winter 2010 |
* Set up the Koji build farm in collaboration with the Fedora ARM community | * Set up the Koji build farm in collaboration with the Fedora ARM community | ||
Revision as of 17:38, 8 April 2010
Contents
Goals
In collaboration with the Fedora project and other open source projects:
- To build the Fedora Linux distribution for computers based on the ARM processor.
- To keep current with the software builds taking place on the Fedora primary architectures.
- To provide input into the Fedora packaging process and to the design of specific packages with respect to building on ARM.
- To develop tools for using Fedora on ARM devices (e.g., compose and loading tools).
- To advance the state of the art of software on low-power devices.
- To support new ARM devices well, with specific emphasis on the upcoming OLPC XO 1.75.
Specific Objectives
Fedora ARM Koji Farm
- Evaluate and select hardware options for a Koji farm for the Fedora ARM Secondary Architecture, building on the work done by SBR600 in Winter 2010
- Set up the Koji build farm in collaboration with the Fedora ARM community
Factors to Consider
- Network layout
- Koji-Hub, Koji-Server, and resulting software repository must be accessible both inside and outside Seneca
- ARM builders must be able to communicate with the Koji-Hub
- ARM builders must be able to communicate with shared file storage
- ARM builders must have local storage or a SAN (e.g., iSCSI) or shared, high-performance file storage
Current Candidate Configuration
- 15-25 GuruPlug Servers
- iSCSI SAN for storage
- Quad-core PC to run Koji-Hub, Koji-Web, and master repository
- May eventually need second machine with different connectivity for Koji Hub/Koji Web
Koji-Shadow
- Configure Koji-Shadow so that packages built for the Fedora primary architectures are also built for Fedora ARM
- Sync up with F13 and Rawhide builds
Package Set Maintenance
- Update packages as necessary with ExcludeArch tags where those packages are not suitable or cannot be built on ARM architecture
Bugzilla
- Get the bugzilla admins to rationalize the ARM processor options in the platform list (right now there are a number of ARM options, none of which accurately reflect the ARM build: arm7, arm9, xscale, strongarm).
- Actively monitor bugzilla for platform-related problems
Testing
- Acquire a number of ARM hardware devices and test the ARM build on those devices:
- SheevaPlug
- OpenRD-Client
- GuruPlug
- Beagleboard
- Hawkboard
- TouchBook
- OLPC XO 1.75
Optimization
- Optimize the Fedora ARM Build
- Identify optimization opportunities
- Create and test optimized builds
- Make decisions on which optimizations should be default
- Create additional subarchs are appropriate (e.g., armv5, armv7 or with/without FPU)
Compose
- Create root filesystems
- Write tools to load popular products (e.g., tool that would be run on a PC to connect to a SheevaPlug and load NAND)
- Write a tool to compose a custom root filesystem formatted for a specific device (e.g., SD card image, tftp file set)
Kernel
- Investigate creating a single kernel or a small set of kernels that would work on a variety of devices, rather than a custom kernel-per-device
- Use initrd (dracut) and modules to handle the differences between devices