Rebuilding OLPC kernel: Difference between revisions

From OLPC
Jump to navigation Jump to search
(remove the standard build part; it's wrong)
Line 1: Line 1:
This document describes building an OLPC kernel from the olpc-2.6 git repository or SRPM.
This document describes building an OLPC kernel from the olpc-2.6 git repository or SRPM.


== The OLPC kernel git repository ==
== The OLPC kernel sources ==


The first step involves grabbing the kernel sources; either do a 'git clone' of the kernel git repository, or install the kernel SRPM. Both steps are described on the [[Kernel]] page.
The OLPC kernel git repository can be checked out with the following command:


Installing the SRPM will place the sources in /usr/src/redhat/SOURCES/olpc-2.6.tar.bz2
<pre>
git clone git://dev.laptop.org/olpc-2.6
</pre>

Alternatively, SRPMs are available at

http://dev.laptop.org/~dilinger/SRPMS/

The SRPM will place sources in /usr/src/redhat/SOURCES/olpc-2.6.tar.bz2


== Building the RPM ==
== Building the RPM ==

Revision as of 18:07, 9 April 2007

This document describes building an OLPC kernel from the olpc-2.6 git repository or SRPM.

The OLPC kernel sources

The first step involves grabbing the kernel sources; either do a 'git clone' of the kernel git repository, or install the kernel SRPM. Both steps are described on the Kernel page.

Installing the SRPM will place the sources in /usr/src/redhat/SOURCES/olpc-2.6.tar.bz2

Building the RPM

Building the RPM involves downloading the SRPM, installing it, and then running the rpmbuild command. The "dist", "olpc", and "head" macros should be defined when building:

# rpm -ivh kernel-2.6.1*-20061026_dc5079fafb767e4olpc1.src.rpm
# rpmbuild -ba --define "dist olpc1" --define "olpc 1" --define "head dc5079fafb767e4" --target=i586 /usr/src/redhat/SPECS/olpc-2.6.spec

After the build finishes, the newly build RPMs will be in /usr/src/redhat/RPMS, and the build tree that was used will be in /usr/src/redhat/BUILD. To make quick changes to the source, for example you can:

# cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i586
# vi drivers/video/geode/gxfb_dcon.c
# make
# scp drivers/video/geode/gxfb_dcon.ko testboard:
# ssh testboard "rmmod gxfb_dcon; insmod ./gxfb_dcon.ko"