Rebuilding OLPC kernel

From OLPC
Jump to navigation Jump to search

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"