Build

Prerequisites

You will need to make sure you have the following packages (Debian names):
  • libmpfr-dev
  • libgmp3-dev
  • sqlite3
  • texinfo
  • scons
  • genisoimage
  • mtools on Windows
  • uboot-mkimage for ARM targets that use uboot

Building the Toolchain

In order to build Pedigree, you have to build the toolchain.
To build a toolchain for ia32 target, you can use the following:

./scripts/checkBuildSystem.pl i686-pedigree

When asked, you have to provide an absolute path, where the toolchain will be installed.
It can take even a few hours, depending on your system, so better do something useful meanwhile.

Building Pedigree

The first time you build Pedigree, you should use:

scons CROSS=/path/to/toolchain/bin/i686-pedigree-

Note that you need to run scons once more after the first compile to ensure applications are injected correctly into the output image.

Once these first two compiles are complete, running scons once gives you a proper build without needing any repeated builds for applications to be injected.

Note that the CROSS variable contains a string to which "gcc", "g++" etc can be added to create a valid compiler path. You shouldn't need any variables on the command line after the first successful compile, as it caches options across runs.

Run scons --help to view additional options that can be set.

Switching Build Targets

To switch build targets, you need to do the following:

scons -c
rm options.cache
rm .sconsign.dblite

Once this is complete (latter rm commands may fail, that's okay), you can use a new cross-compiler in the CROSS parameter to build a new target.

Also available in: HTML TXT