Recipes for buildrom and LinuxBIOS

From OLPC
Revision as of 21:26, 18 April 2007 by JordanCrouse (talk | contribs) (Add {{deprecated}} tag)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Stop hand.png WARNING:
The content of this section is considered
DEPRECATED and OBSOLETE
It is preserved for historical or documenting reasons.

This page shows how to do various things related to compiling LinuxBIOS. Many of these were discovered by trial and error, so there may be easier or better ways...

All paths are relative to the top level "buildrom" directory.

How to do a "make clean" on just linuxbios

If you do a "make clean" at the top level of buildrom, it will clean out all the components (kernel, busybox, etc.) so the next "make" will take a long time. If you just want to clean linuxbios, do this:

 $ make linuxbios-clean

You can clean any individual package FOO with "make FOO-clean". Appropriate values for FOO are the names of the subdirectories of packages/ .

Changing the LinuxBIOS Config File

The configuration file is in work/linuxbios/LinuxBIOSv2/targets/olpc/rev_a/rev_a/

The currently active one is Config.SPI.lb

If you change it, you'll need to do this in order to rebuild properly:

 $ make linuxbios-clean
 $ make

or you can do it in one line like this:

 $ make linuxbios-clean all

Getting a new version of Ron's upstream linuxbios code

If Jordan has checked in a new version of buildrom that refers to a new LinuxBIOS version from Ron, you can get it with:

 $ git pull

(assuming that the parent of your buildrom tree is Jordan's tree).

If you want to try a new version of the upstream code that is not yet reflected in Jordan's tree, you can do this:

Edit packages/linuxbios/linuxbios.mk and change the "LINUXBIOS_VER=nnnn" line, replacing "nnnn" with the LinuxBIOS release number. Then:

 $ mv work/linuxbios/LinxBIOSv2 work/linuxbios/LinuxBIOSv2-
 $ rm work/linuxbios/stamps/.unpacked*
 $ make

Finding out what went wrong

The "make" output from the top level of buildrom is pleasantly terse. So to find out the details, you need to look in the log files. They can be found in work/<PACKAGE_NAME>/logs/ . "build.log" is the main one that you're likely to use, but there are also "install.log" and "config.log" files for some of the packages.

if the output is too terse for your tastes, you can choose to see the full output of the build by uncommenting the VERBOSE=y line in Config.mk

--Wmb@firmworks.com 19:13, 15 August 2006 (EDT)