Size: 3640
Comment:
|
Size: 3024
Comment: Move first patch elsewhere
|
Deletions are marked like this. | Additions are marked like this. |
Line 19: | Line 19: |
Optional but learnable skills: Knowledge of operating systems, USB | Optional but learnable skills: Knowledge of operating systems, Linux, and USB |
Line 33: | Line 33: |
Necessary skills: Experience in C or C++ Optional but learnable skills: Knowledge of operating systems, Linux, and network protocols |
|
Line 39: | Line 43: |
Necessary skills: Experience in C or C++ Optional but learnable skills: Knowledge of operating systems, Linux, and computer architecture |
|
Line 42: | Line 50: |
= Getting Started = | = Yeah, that sounds cool! = |
Line 44: | Line 52: |
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?) |
If you're interested in our Linux kernel projects, please read the guide to [:OPWfirstpatch:sending your first patch]. |
Outreach Program for Women (OPW)
Welcome OPW applicants! 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, the kernel project joined late, so that deadline is flexible. Please fill our your [https://live.gnome.org/OutreachProgramForWomen#Application_Process initial application], and then update by May 17th with your initial patch. Applicants will be notified by May 27th if they have been accepted.
Participating kernel projects
Currently, we have three 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).
Interns would work on the USB 3.0 host controller driver. The Linux kernel USB 3.0 host driver was introduced in 2009, and works 10 times faster than USB 2.0 host driver. 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. USB 3.0 hardware will be provided to accepted interns if you don't have access to it.
Necessary skills: Experience in C or C++
Optional but learnable skills: Knowledge of operating systems, Linux, and USB
Mentor: Sarah Sharp, email sarah.a.sharp at intel.com, #opw IRC handle: sarahsharp, twitter @sarahsharp, google plus: https://plus.google.com/116960357493251979546/posts
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
The Linux kernel ethernet drivers communicate with network hardware, to give you access to the Internet. Ethernet devices can be as simple as the 1 gigabit ethernet controllers in your laptop, to much faster ethernet controllers in servers.
Interns would work on the Intel 1 gigabit ethernet driver, igb. These devices are found in most Intel laptops, but hardware will be provided if you don't have access to it.
Necessary skills: Experience in C or C++
Optional but learnable skills: Knowledge of operating systems, Linux, and network protocols
Mentors: Carolyn Wyborny and Anjali Jain
x86 core
In the heart of the Linux kernel is code that runs directly on x86 processors. This includes early boot code, etc.
Necessary skills: Experience in C or C++
Optional but learnable skills: Knowledge of operating systems, Linux, and computer architecture
Mentors: Peter Waskiewicz Jr (PJ)
Yeah, that sounds cool!
If you're interested in our Linux kernel projects, please read the guide to [:OPWfirstpatch:sending your first patch].