= Fedora-ARM Projects =
== To Thumb or Not To Thumb? System Administration Tools for the ARM Build Farm ==
As the ARM build farm grows with the addition of the PandaBoard systems, the need for efficient system management tools increases. The core previous semesters' students started the work of setting up ''nagios'' (monitoring) and ''func'' (group control) tools. This project involves configuring these tools to work with all of the systems in the ARM processors are designs licensed from [http://www.arm.com ARM Ltd]. There are several different [[:fedora:ARM_architecture#ARM_cores|architecture versions]]; Fedora-ARM targets build farm, as well as setting up and configuring the armv5tel architecture as a "lowest common denominator" among current ARM chips. This architecture supports a ''thumbpuppet'' instruction set, which uses 16-bit instructions instead of 32-bit instructions, leading to a higher code density(configuration file management) tool.
Fedora-ARM does not use thumb. The purpose * Maximum number of this project is to discover whether thumb provides any significant savings in terms of code sizestudents: 2* Skills required: Linux system administration, problem solving, whether programs compiled to thumb execute more quickly or more slowly than non-thumb programs on common ARM processorsdocumentation writing* Resources: wiki notes from previous semesters* Expected result: nagios, whether a thumb compilation takes more or less time than non-thumbfunc, and whether there are any other factors that would influence puppet working across the decision entire ARM build farm; documentation on how to support thumb. Ultimately, this project should make a recommendation use these tools on the use of the thumb instruction set for the Fedora-ARM secondary architecturefarm and how to add additional devices* Initial contacts: [[User:Chris Tyler|ctyler]], [[User:Paul.W|PaulW]]
Initial contacts: [[User:Chris Tyler|ctyler]], [[User:Paul.W|PaulW]]== Koji Hub on ARM ==
== Supporting Architectures Above armv5tel ==The [http://arm.koji.fedoraproject.org Fedora-ARM koji] system uses [[CDOT_Development_Systems#Machine_names.2C_IPs.2C_and_Status|HongKong]], an x86_64 system, as the [[:fedora:Koji|Koji]] hub, along with a group of ARM builders.
The armv5tel [[:fedora:ARM_architecture#ARM_cores|architecture version]] is supported Ideally, it would be nice to prove the ability of the Fedora-ARM project to be entirely self-hosting by some common devices such using an ARM system as the Marvell Feroceon processors used Koji hub (this is sometimes called "Eating your own dogfood" in most plug computersthe industry). However, later versions of This project involves configuring the architecture support advanced features, [http://www.globalscaletechnologies.com/t-openrdcdetails.aspx OpenRD-Client] system as Koji hub and using armv5tel code on those processors may result in suboptimal performancedetermining if this is a viable configuration.
This project will research ways that Fedora* Maximum number of students: 1* Skills required: Linux system administration, problem solving, documentation writing* Resources: wiki notes from previous 2 semesters* Expected result: koji-ARM could support higher processor versions effectively without recompiling hub running on the OpenRD; a recommendation on whether the OpenRD is suitable for use as a hub for the entire Fedora package universe -- for exampleARM project* Initial contacts: [[User:Chris Tyler|ctyler]], by providing an armv7 + hardfp glibc and kernel. This involves performance testing across multiple devices[[User:Paul.W|PaulW]]
Initial contacts== Device Support and Testing: [[User:Chris Tyler|ctyler]], [[User:Paul.W|PaulW]]PandaBoard ==
== Fedora-Various ARM Dogfood - Koji Hub == The [http:/devices need different driver sets and/armor kernels.koji.fedoraproject.org This project will test the Fedora-ARM koji] system uses [[CDOT_Development_Systems#Machine_names.2C_IPs.2C_and_Status|HongKong]]on the PandaBoard, an x86_64 systemcreating a kernel that works well with it, and figuring out how to use as many of the [[:fedora:Koji|Koji]] hub, along with a group of ARM buildersbuilt-in peripherals as possible.
Ideally* Maximum number of students: 1* Skills required: Linux system administration, it would be nice to prove kernel building, research, documentation writing* Resources: a PandaBoard, notes from other PanadaBoard support projects* Expected result: a kernel (or kernels) for use with the ability of PanadaBoard and the Fedora-ARM project 12 or Fedora 13 root filesystems; user documentation on how to be entirely self-hosting by using an ARM system as the Koji hub (this is sometimes called "Eating your own dogfood" in the industry). This project involves configuring set up the PandaBoard with Fedora* Initial contacts: [[User:Chris Tyler|ctyler]], [[httpUser://wwwPaul.globalscaletechnologies.com/t-openrdcdetails.aspx OpenRD-ClientW|PaulW]] system as Koji hub.
Initial contacts: [[User:Chris Tyler|ctyler]], [[User:Paul.W|PaulW]]== iSCSI/AoE Support ==
== Set up Nagios monitoring iSCSI (SCSI over TCP/IP) and AoE (ATA-over-ethernet) are different SAN protocols that can use a standard network. iSCSI did not work reliably in Fedora 12, but will be needed by future ARM server systems. AoE has not been well-tested on ARM systems. iSCSI and AoE need to be tested for stability and performance, and the ARM farm ==Nagios is a system monitoring tool; setting it up for best solution implemented on the Fedora-ARM build farm will make it easier to get timely notification of system issues.
* Maximium number of students: 2* Skills required: Linux system administration, debugging and troubleshooting, benchmarking, documentation writing* Resources: an ARM system, CDOT PC systems* Expected result: iSCSI on ARM fixed and tested, and changes pushed upstream; AoE tested on ARM; report comparing iSCSI and AoE performance on ARM; ARM buildsystem configured to use a high-performing iSCSI or AoE storage solution in place of the existing NFS system* Initial contacts: [[User:Chris Tyler|ctyler]], [[User:Paul.W|PaulW]]
== Set up Puppet ==Puppet is a tool RPM-based Kernels for managing configuration files. It should be set up on the Fedora-ARM build farm so that configuration files can easily be deployed across the entire farm.==
Initial contacts: [[User:Chris Tyler|ctyler]]On a PC, [[User:PaulFedora manages and updates kernels as RPM packages, which modify ''grub'' boot parameters and the initial ram disk (initrd, configured by ''dracut''). On Fedora-ARM systems, the kernel is not managed via RPMs, grub is not used, and the initrd system is rarely used. This project involves understanding how the PC (i386/x86_64) kernel/boot/initrd system works, determining which pieces can be reused on Fedora-ARM and which pieces need to be adapted or replaced, and implementing RPM-based kernel management for ARM.W|PaulW]]
== Set up FUNC ==* Maximum number of students: 3* Skills required: Linux system administration, script writing, RPM packaging, kernel building, initrd debugging* Resources: an ARM systemFunc is the * Expected result: RPM-based Kernels work on Fedora Unified Network Controller -- a way of controlling a group of machines ''en masse''. We need FUNC set up for ARM, with changes committed upstream; documentation about the Fedora-differences between kernel management on ARM build farmand on PCs* Initial contacts: [[User:Chris Tyler|ctyler]], [[User:Paul.W|PaulW]]
Initial contacts: [[User:Chris Tyler|ctyler]], [[User:Paul.W|PaulW]]== Fedora-ARM Communication ==
== Device Support and Testing ==Various We're not doing a great job of communicating how the Fedora-ARM devices need different driver sets andproject is doing. The [http://or kernelsarm.koji.fedoraproject. This project will test org/status status page] is very bare-bones and doesn't convey a lot of information, the Fedora-ARM system on various devices wiki pages need to be made more useful to prospective users, and we need an effective communication strategy with the rest of the Fedora community. This project involves writing some web scripts to create a collection of kernels and/or initrd imageseasy-to-use, informative status page (showing, for example, the current state and possibly a repository progress of non-free device drivers to complement the open source device drivers provided by Fedora. It will also involve ARM builds), creating user documentation for on the Fedora wiki, and fostering effective communication within the setup for various boards Fedora-ARM project and devicesthe larger Fedora community.
* Maximum number of students: 2* Skills required: Apache administration, script-writing, effective written communication skills* Resources: the web server on HongKong, various data sources within the Fedora-ARM build system, Fedora project communication tools, access to ARM systems* Expected result: a useful (easy-to-use, informative) and automatically-updated Fedora-ARM status page; improved user documentation on the Fedora wiki (e.g., how to set up Fedora-ARM on common devices); better communication on the arm@lists.fedoraproject.org mailing list and the #fedora-arm IRC channel* Initial contacts: [[User:Chris Tyler|ctyler]], [[User:Paul.W|PaulW]]
= Fedora Projects =
''fedpkg'' is a new Fedora packager tool written by Jesse Keating; it's one of the main command-line tools that a packager will use. It needs a test suite, so that as new features are added, regressions can be detected.
* Maximum number of students: 2* Initial contacts: [http://jkeating.livejournal.com/ Oxf13]
== Koji Setup Documentation ==