KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 6 as of 2013-04-27 05:17:11
KernelNewbies:
  • Outreachyfirstpatch

Getting Started as an OPW applicant

Hooray! Thanks for your interest in working on the Linux kernel.

If you run into any issues with this tutorial, please ask questions on the [https://live.gnome.org/OutreachProgramForWomen#Introduction #opw IRC channel]

Intro

This tutorial will cover how to get your first patch submitted. We would love it if accepted interns could test their kernel code on a computer running Linux, however, to get applicants started, this tutorial will describe how to set Linux up in a virtual machine.

You can run Linux from within Windows (or even run Linux on Linux!) from a virtual machine (VM). This tutorial will show you how to:

  • Install VMPlayer
  • Download our Linux VM image
  • Configure kernel drivers
  • Compile and install the kernel
  • Make a simple driver change
  • Test your changes
  • Create a patch
  • Submit a patch

Hardware Requirements

You need a system with virtualization (VT-d), at least 4GB of RAM, and 40GB of free hard drive space in order to run Linux in a VM.

Alternatives

If your system doesn't meet those requirements, you will need to be running Linux, or dual boot your machine so you can run both Linux and Windows. We strongly suggest you use the [http://www.ubuntu.com/download/desktop/thank-you?distro=desktop&bits=64&release=lts Ubuntu 12.04 64-bit version]. If your machine doesn't have 64-bit support, you can use the [http://www.ubuntu.com/download/desktop/thank-you?release=lts&bits=32&distro=desktop&status=zeroc 32-bit version].

Once you've installed Linux, or if you already have Linux installed on your system, you can follow [:OPWfirstpatchAlt:these directions].

Install VMPlayer

Go to the [http://www.vmware.com/products/player/ VMPlayer website] and click the 'download' link. Download the VMPlayer that's appropriate for your operating system (e.g. Windows or Linux 64-bit), and install it.

Download our Linux VM image

Before you start the VM, you need to make some adjustments to the emulated hardware. FIXME talk about increasing the amount of RAM to at least 2GB, unless the maximum recommended amount of RAM is less than 2GB.

Configure kernel drivers

Compile and install the kernel

Make a driver change

Test your changes

Create a patch

Submit a patch

TODO:

  • 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
  • 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?)
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01