Building nylon from Source

Building nylon from source is easy. All you need is a decently fast linux machine, about 2GB of free disc space and a lot of time :) Just follow the instructions here.

Install Required Software

Check if all the following software packages are installed on your machine and install them if necessary.

you can also install the optional packages to make things faster. note that there are some problems with newer versions of psyco, so if you get errors parsing some .bb files just uninstall psyco:

for debian:

apt-get install python ccache patch m4 sed docbook bison make openjade python2.3-psyco \
wget bzip2 cvs gawk libc6-dev g++ sharutils

Downloading the Development Build System

Download the "Development Build System", for example http://br1.einfach.org/nylon/stable/nylon-build-stable-1.1.tar.gz Unpack it

tar xvzf nylon-build-1.1.tar.gz

Change into the nylon-build-stable-1.1 directory

cd nylon-build-stable-1.1

Optional: If you want you can additionally download all required sources for offline building. If you do not download the sources now, they will be downloaded by the build system automatically, so you can skip this step if your build machine has a good internet connection.

wget --no-parent -N -r -nd -P sources http://br1.einfach.org/nylon/stable/sources

Note: this doesn't work properly at the moment, due to the directory index generated by the webserver. wget will descend into the parent directory regardless of the --no-parent option, thus fetching a whole lot more than you need.

Building Standard Targets

To build everything type:

make

After some time you will have everything compiled and find all packages and images in tmp/deploy.

Other optional pre-defined targets are:

make clean                 # clean everything
make cleanwork             # just delete the tmp/work directory
make images                # base and standard image
make base-image            # the minimal base image
make standard-image        # the standard image
make feed                  # all packages (also those which are not in the image)
make kernel                # the cross toolchain and the kernel
make toolchain             # the cross toolchain and glibc
make index                 # rebuild the package index
make symlink               # symlinks for easier install

Use them if you do not want to build everything but only the selected task.

Building packages seperately

The pre-defined targets in the standard Makefile are enough to build the standard nylon distribution, but sometimes you only want to build one specific package. To do this we use the make system of openembedded, which is called bitbake directly.

Before we can use bitbake we have to set some Environment Variables. This has to be done one time only per session.

. env.sh

Now you can build individual packages, including all the packages it depends on, this way

bitbake PACKAGENAME

To just build on single packages directly without bothering for dependencies you can use, for example:

bitbake -b openembedded/packages/bash/bash_2.05b.bb

NylonBuild (last edited 2010-04-22 13:09:46 by Br1)