Kernel

From OLPC
Revision as of 13:09, 9 April 2007 by Dilinger (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

We use a modified version of the Linux kernel on the OLPC laptop.

The OLPC kernel git usage

We use git to track changes that we've made, as well as to easily merge with Linus's (and others!) kernel tree. The git repository can be downloading with the following command:

git clone git://dev.laptop.org/olpc-2.6

Alternatively, you can use gitweb to view and search changes by going to:

http://dev.laptop.org/git?p=olpc-2.6;a=summary

Note that at the bottom of that page, there is a list of branches. We keep around different branches for a number of reasons; within a cloned git repository, you can switch to branch 'FOO' by running:

git checkout FOO

The branches are used as follows:

* master - this is the default branch, and is the equivalent of cvs's HEAD.  Code that we want in our future releases goes into this branch, and needs to be vetted before being committed.
* stable - this is the branch that we automatically pull kernels from when we build a release.  It is usually a snapshot of the 'master' branch, although we sometimes cherry-pick fixes into it.
* powermgmt - this branch is where all the power management (suspend/resume) activity is happening.  The code in this tree is committed as necessary in order to get things related to power management working.  Use this tree if you'd like suspend/resume to work; however, there are no guarantees that it won't cause your XO to eat your cat.
* origin - this is a git-ism; it basically marks where the 'master' branch was checked out from.  It can be ignored.
* devtree - this branch is being used for development on the in-kernel OpenFirmware device tree.

The other branches are no longer used, and can be ignored.