Rebuilding OLPC kernel: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 32: Line 32:
<pre>
<pre>
# cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i586
# cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i586
# vi drivers/video/geode/gxfb_dcon.c
# patch -p1 < ~/somefix.patch
# make
# make
# scp drivers/video/geode/gxfb_dcon.ko testboard:
# scp drivers/video/geode/gxfb_dcon.ko testboard:

Revision as of 22:22, 26 October 2006

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

The OLPC kernel git repository

The OLPC kernel git repository can be checked out with the following command:

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

Alternatively, SRPMs are available at

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

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

Building the git repository

After doing a checkout, one can build the git repository using the standard linux build process (ie, make config; make; make install). The recommended default config file is in the root of the git repository (.config).

Building the RPM

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

# rpm -ivh kernel-2.6.1*-20061026_dc5079fafb767e4olpc1.src.rpm
# rpmbuild -ba --define "dist olpc1" --define "olpc 1" --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"