Size: 2989
Comment:
|
Size: 2991
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 20: | Line 20: |
Outreach Program for Women (OPW)
The Linux Foundation is sponsoring internships for women to work on the Linux kernel. The kernel is the most basic layer of the Linux operating system. The kernel encompasses many things: hardware drivers, filesystems, security, task scheduling, and much more.
The official deadline for applying to OPW is May 1st. However, we joined OPW late, so that deadline is flexible. Please fill our your [https://live.gnome.org/OutreachProgramForWomen#Application_Process initial application], and then update it with your initial patch by May 17th. Applicants will be notified by May 27th if they have been accepted.
Participating kernel projects
Currently, we have two participating projects.
USB
The Linux kernel includes a USB stack that communicates with the hardware behind your USB ports (USB host controller drivers), and includes USB device drivers that talk to your USB devices (USB device drivers). Working on USB is fun because you get to make all sorts of interesting USB devices work.
Sarah Sharp is sponsoring an intern to work on the USB 3.0 host controller driver. The Linux kernel USB 3.0 driver was introduced in 2009, and works 10 times faster than USB 2.0 devices. The USB 3.0 driver still needs a lot of work, so there are plenty of small bug fixes that interns can tackle. If time permits, interns could also work on small to medium features.
FIXME: add links to kernel.bugzilla.org entries for these tasks.
Necessary skills: Experience in C or C++
Optional but learnable skills: Knowledge of operating systems, USB
Suggested reading for accepted interns:
[http://lwn.net/Kernel/LDD3/ Linux Device Drivers]
[http://www.beyondlogic.org/usbnutshell/usb1.shtml USB in a Nutshell]
Ethernet
Carolyn Wyborny and Anjali Jain are sponsoring a project to work on 1 gig ethernet. (More info coming soon.)
Getting Started
TODO:
Intro, what the goals are, why they should be excited about developing for the kernel.
- What skills are good to have (e.g. having taken an OS class is good), or how they can get those skills later on, like by reading Linux Device Drivers
- Outline of what this tutorial covers
- If you run into any issues, ask on the opw irc channel, or email sarah.a.sharp at linux.intel.com
- Step 0: install Linux on a home computer (alternative instructions for installing in a VM would be good, but I have no background in that).
- Build a custom kernel
- Find out which drivers you have installed (maybe plug in any USB devices on hand)
- Make small change in one of the drivers (e.g. run checkpatch over them, or fix some grammer in the printks)
- Or maybe pick a driver in staging and run checkpatch on it
- Test your patch (may need to enable debugging)
- Make a patch (link to art of patch description creation)
- Send patch to kernel newbies mailing list as RFC (perhaps we need a separate mailing list?)