jmolloy / pedigree

Pedigree operating system
http://pedigree.googlecode.com
ISC License
89 stars 5 forks source link

BUILD README

We highly recommend you first try one of our Easy Build scripts before you try and run SCons manually. There's a little bit of work involved in setting up a build of Pedigree for the first time - after that it's as easy as just running "scons" at the command line.

Just run ./easy_build_x86.sh, ./easy_build_x64.sh, or ./easy_build_arm.sh to build Pedigree for the relevant architecture. Dependencies and a cross-compiler will be installed/created, allowing you to jump straight into testing Pedigree.

To build Pedigree at any point after this, just run "scons".

To switch between architectures, just remove "options.cache" before you re-run an easy build script.

Alternatively, you can build manually if you already have a cross-compiler:

Required: SCons 1.2.0

Simply run:

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

You should give SCons the path to gcc in CROSS, ending in '-' so it can add 'gcc', 'g++' or 'as' to the end of the stub and get a valid compiler. It'll work out from the compiler chosen what default options and what architecture to compile.

Run "scons -h" to obtain a full set of arguments you can pass to configure the build.

NOTE: This must be a full path. It cannot contain bash expansions such as environment variables or '~'.

IMAGES DIRECTORY

The images/local directory allows you to use Pup, Pedigree's package manager, to manage your hard disk image file set. If you ran the Easy Build script, pup is already configured and ready to go.

Simply run: ./run_pup.py sync to synchronise your local pup repository with the server.

Then you can run: ./run_pup.py install to install a package.

If you visit http://pup.pedigree-project.org/pup you can see a list of all packages that are available and can be downloaded.

Remember to re-run SCons after installing a package to ensure your disk image has the new package on it. You may need to 'rm build/hdd.img' if SCons doesn't detect that the images directory has changed.

You can also add arbitrary files to the images/local directory to use them at runtime. For example, you might create a directory under 'users' for yourself, and add a .bashrc and .vimrc.

USERS

A utility script 'scripts/manage_users.py' is provided to add or remove users from the database for use at runtime.

ISSUES

Report any issues on the project tracker at http://pedigree-project.org