Foreword
This howto covers creating a development environment that can be used to create new packages and make changes.
- Ideally you should have a powerful PC, with a lot of RAM
- although this procedure will work on any modern PC!
- You will need to dedicate a significant chunk of disk space
Prerequisites
You require a system with a common Linux distribution: Fedora, Ubuntu, Debian, or even IPFire itself will work. Pretty much any Linux distribution will work.
You may have to change some minor things on your system and install several packages. There are some tips for common distributions. It also makes sense to install the package ccache to speed up compilation. If you made minor changes only that code will be compiled, the rest will be taken from the ccache. If your own distro is missing, feel free to add it here.
IPFire
These packages will be required:
pakfire install -y git make
IPFire can't build the toolchain, so you will have to use the precompiled version.
After git checkout and source download you also need to download the toolchain.
Fedora (Core) & CentOS
These packages will be required:
yum install git gcc byacc make wget binutils bison patch texinfo gcc-c++ glibc-static which autoconf automake
OpenSuSE
These packages will be required and can be installed via yast:
git, gcc, make, patch, bzip2, bison
Debian 11/12
These packages will be required:
sudo apt update
sudo apt install git git-email make g++ bison gawk automake autopoint \
libtool cmake zstd wget texinfo
Linux Mint 22
These packages are required:
sudo apt update
sudo apt install autoconf autopoint bison cmake gawk git git-email libtool texinfo
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
.
(As of 07/29/2022 with Ubuntu 22.04 this is no longer valid, there will be an error when you change this symlink! Use sudo dpkg-reconfigure dash
and choose "No")
These packages will be required:
sudo apt update
sudo apt install git-core g++ manpages-pl patch byacc make autoconf automake libltdl-dev
Arch Linux
These packages will be required:
pacman -Syu
pacman -S git gcc make patch bison gawk texinfo
Initialize Git - Global
Setup git to share your packages and efforts. Read through Initial Git Setup for instructions.
When the setup for your Linux distribution is complete go on to the next step: IPFire 2.x - Build Howto