Changes

Jump to: navigation, search

DPI908/SBR600 Potential Projects

4,978 bytes added, 13:02, 5 October 2012
no edit summary
[[Category:Fall 2012 SBR600]][[Category:Fall 2012 DPI908]]
This page will contain the Potential Project List for the [[DPI908]] and [[SBR600]] coursesin Fall 2012.[[Category:SBR600]][[Category:DPI908]]
= Introduction =
This is a list of potential projects related to the [[SBR600]] course that need people.
'''Students''': Please select a project that you're interested in and add an entry to the [[Winter Fall 2012 DPI908/SBR600 Participants|project table/participants page]].
'''Open Source Community Members''': We welcome your recommendations for potential projects. Please create an account on this Wiki and create a description for your proposed project below. Please list your contact info (just an IRC or FAS2 name is OK) as well as links to any related web pages as Resources for the proposed project. (Questions? Ask [[User:Chris Tyler|Chris Tyler]] or [[User:rchan|Raymond Chan]]).
Each project listing contains a general description, plus this information:
* Maximum number of students - Do not exceed this number without approval from your professors ([[User:Chris Tyler|your professorChris Tyler]] and [[User:rchan|Raymond Chan]]).
* Skills required - This is a rough list of some of the skills required for this project. This list may be incomplete or inaccurate, but it will give you a starting point in evaluating whether this project is a good fit for you. It is not assumed that you will have all of these skills at the outset of the project -- some of them will be picked up as you do the project.
* Resources - An initial list of computer and information resources to get started on the project.
You will have an opportunity to investigate, expand upon, and fine-tune this information as you prepare your initial project plan. For example, you may come up with a more detail list of expected results (deliverables), resources, and contacts during your planning.
{{Admon/important|Individual Deliverables|Note that when multiple people are working on the same project, they will have independent deliverables -- it's not really group work, but rather separate, closely related projects. Please identify which aspect(s) of the project you will be delivering on the project page.}}
== [[Sample Project]] ==
Resources: Chris Tyler (ctyler), Peter Robinson (pbrobinson)
=== Ne10 (The knights that say Ne ) ===
Ne10 is a new upstream ARM project to for optimising libraries on NEON. This project involves getting this library into Fedora.
Resources: Peter Robinson (pbrobinson)
 
=== Raspberry Pi Video Decoding ===
 
The Raspberry Pi has GPU video decoding capabilities. This project involves exposing those capabilities to Fedora video applications, by packaging new components or modifying existing packages, and getting those changes incorporated into either Fedora or the Raspberry Pi Fedora Remix repositories.
 
Expected outcome: It will be possible to play video on the Raspberry Pi using GPU acceleration.
 
Maximum number of students: 1 (possibly more if multiple packages are affected).
 
Resources: Chris Tyler (ctyler)
== Performance Tuning Projects ==
Resources: Raymond Chan (rchan)
 
=== GuruPlug Security Servers ===
 
We have a group of GuruPlug micro-servers that are no longer needed in the FedoraARM buid farm. It would be interesting to create a Fedora Remix for these devices for the following use cases:
# Penetration testing (perhaps similar to the PwnieExpress products?)
# Intrusion Detection System
# High-performance firewall
 
Expected outcome: A Fedora Remix which can be loaded onto a microSD card and used on a GuruPlug to provide the specified feature set.
 
Maximum number of students: 3 (one for each of the use-cases)
 
Skills required: Linux administration, security, packaging, composing
 
Resources: Raymond Chan (rchan), Chris Tyler (ctyler)
== Andora Projects ==
Andora is a Fedora Remix that the [http://linux.senecac.on.ca/wordpress/?p=166 Linux/Andora -Android club has been working on]. They have identified some needs within Fedora related to Android development.
=== Make Fedora Eclipse Compatible with the Android Extensions ===
Resources: Raymond Chan (rchan), John Selmys
 
=== Create the andora-logos, andora-release, and andora-fedora-remix-release-notes packages ===
 
Fedora usually contains three packages that cannot be redistributed with derived (remixed) versions:
 
* fedora-logos
* fedora-release
* fedora-release-notes
 
Dummy versions of these packages are available, substituting generic- for fedora- (i.e., generic-logos, generic-release, and generic-release-notes).
 
This project involves creating a replacement for the three packages:
 
* andora-logos -- This package will contain replacements for the Fedora logos, including the Andora logo where appropriate. It would probably also be a good idea to produce a Andora-backgrounds package with Andora-branded wallpaper.
* andora-fedora-remix-release -- This package will contain Andora-Fedora Remix release files such as yum configs and various /etc/ files that define the release.
* andora-fedora-remix-release-notes -- This package will contain documentation on the Remix, including notes on how to install it to a hard disk or an USB flash drive, trademarks, etc.
 
Expected outcome: three packages.
 
Skills required: documentation writing, graphics, packaging
 
Maximum number of people: 3 (logos, release keys, release notes)
 
Resources: Raymond Chan (rchan), John Selmys
 
== Architecture Support Projects ==
 
=== ARMv8 Support Analysis ===
 
Many Fedora packages contain assembley code for performance optimization or platform-specific support. Assembley code is very processor-specific. When assembley code is not present for a specific architecture, either the package will not build on that architecture, or other code (typically C) which is not processor-specific is used instead.
 
This project involves analyzing Fedora packages to determine which ones contain assembly code, and determining whether the package will probably build on the upcoming ARMv8 64-bit architecture.
 
Expected outcome: An analysis of part of the Fedora package set to predict ARMv8 build outcomes.
 
Maximum number of students: 6 (each taking part of the Fedora package set)
 
Skills required: packaging, scripting, writing
 
Resources: Chris Tyler (ctyler), Jon Masters (jonmasters)
 
Project Page: [[ARMv8_Support_Analysis|ARMv8_Support_Analysis]]
 
== OLPC Projects ==
 
=== School Server Packaging ===
 
The [http://laptop.org One Laptop per Child] project (OLPC) provides a software distribution for what they call the "school server" (XS). This distribution needs to run on both ARM and x86_64/i386 systems.
 
There are some packages that have been created for this school server which should be reviewed using Fedora's packaging guidelines and made a part of the Fedora package set. This may involve refactoring the packages (dividing them up), adjusting spec files, and going through the Fedora package review process. There are some XO 1.75 ARM computers available for sign-out if needed.
 
Expected outcome: The XS packages will be in the Fedora package set.
 
Maximum number of students: 6 (each taking several different packages)
 
Web references:
# Repo: http://build.laptop.org.au/xs/XS-0.7+/repos/XS-F17ARM/SRPMS/
# Description of the new school server project: https://docs.google.com/document/pub?id=1dnhU2F6EntepVXTgN8QpkME8fZVUuPjcCoMUfAVKbcc
# Blog about the school server: http://schoolserver.wordpress.com/blog
# Mailing list: http://lists.laptop.org/listinfo/server-devel
 
Skills required: packaging, scripting, testing
 
Resources: Jerry Vonauk, Adam Holt, Chris Tyler (ctyler)
1
edit

Navigation menu