Building IPFire Howto

IPFire is OpenSource! This means: Everyone can contribute and enhance the system. The team of developers welcomes everybody who has a nice idea or has done a bugfix.

This howto is about how to build IPFire from source.

You should know some things about it:

  • You will need a machine with a lot of power.
  • You will need a lot of disc space.
  • You will need a lot of time.

Prerequisites

At first, you will need a System with a common linux distribution. Fedora, Ubuntu or even IPFire 2.x. Best is a 32-bit System because 64-bit Systems are not able to build the toolchain.

Maybe, that you will have to change some minor things on your system and you will have to install several packages. There are some hints for common distributions. If your own is missing, feel free to add it here.

Step 1: Grabbing the source

At first of all, you have to check out the source code. How to do this? Read this.

To finish this step, you have to grab all the tarballs with the source of every upstream package (~500MB):

./make.sh downloadsrc  # for ipfire-2.x
./make.sh source get   # for ipfire-3.x

Step 2: Building

./make.sh build  # on 32bit Systems

Easy, isn't it?

But this process will take 4 hours or more…

On 64-bit system's and IPFire you need to download the precompiled toolchain. Most 32bit users should this also do because it save some compile time.

 linux32 ./make.sh gettoolchain  # for ipfire-2.x
 linux32 ./make.sh toolchain get # for ipfire-3.x (need developer account)

and start the build with

 linux32 ./make.sh build

Hints

IPFire

Known to work: IPFire 2.x

These packages will be required, too:

pakfire install -y git make

IPFire can't build the toolchain so you have to use the precompiled version. After git checkout and source download you need also download the toolchain.

Fedora (Core) & CentOS

Known to work: Fedora Core 5, Fedora Core 6, Fedora 7, Fedora 8, Fedora 9, Fedora 10 und Centos 5.1

These packages will be required, too:

yum install git gcc byacc make wget binutils bison patch texinfo gcc-c++

Especially on Feadora: Please run “yum update” regularly.

OpenSuSE

Known to work: SuSE Linux 9.3, OpenSuSE 10.3

These packages will be required, too: git, gcc, make, patch, bzip2, bison

Install these packages with “yast”.

Debian

Known to work: Debian 4.0R1, Debian 5.0

These packages will be required, too: git-core, gcc, g++, realpath, make, patch, bzip2, byacc, python-urlgrabber, bison, gawk, texinfo

Install them with apt-get or aptitude.

Ubuntu

Hinweis

In Ubuntu, there is a Symlink ”/bin/sh” that points to ”/bin/dash”. This will cause an error if you compile glibc. Please change ”/bin/sh” to ”/bin/bash”.

Known to work: Ubuntu 6.06 LTS - Ubuntu 10.4

These packages will be required, too: git-core, g++, realpath, patch, byacc, make, python-urlgrabber

Install them with apt-get or aptitude.

Benchmarks

The test machine was an Athlon XP 2000+ with 1.75 GB of RAM. Note that between the first and second build there only has been a ”./make.sh clean” just to test ccache.

System 1.Build 2.Build
Fedora 8 40091s 26240s
CentOS 5.1 35261s 25123s
SuSE 10.3 34274s 16258s
Debian 4.0R1 32909s 15274s
Ubuntu 7.10 33836s 15855s
en/development/build.txt · Last modified: 2010/07/06 23:46 by Arne.F
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki