Skip to content

freifunkMUC/site-ffm

Repository files navigation

Build ffmuc firmware

Dependencies

For convenience, you can find a script to install those dependencies on an Ubuntu-based distribution:
install_build_dependencies.sh

Building

Check out this repository and execute make, i.e. like this:

git clone https://github.com/freifunkMUC/site-ffm.git site-ffm
cd site-ffm
git checkout -b patched && git checkout stable
make

Containerised building

As the CI is using Ubuntu, only the Ubuntu dependencies are being tracked. To simplify building on other distros, containerised building is also possible:

docker build -t site-ffm-stable -f Dockerfile_build .

This will build the build Docker image. With the following export, the Makefile will then use the repo for building but will run inside an Ubuntu container.
Note: If the working directory is a git worktree, add a volume mount for the main git folder.

mkdir -p gluon-build output
docker run --rm -v $(pwd):/site-ffm:ro -v $(pwd)/gluon-build:/site-ffm/gluon-build:rw -v $(pwd)/output:/site-ffm/output:rw -w /site-ffm -u $UID site-ffm-stable make

Example

Full command for a lantiq-xrx200 build:

mkdir -p logs gluon-build output
docker run --rm -v $(pwd):/site-ffm:ro -v $(pwd)/gluon-build:/site-ffm/gluon-build:rw -v $(pwd)/output:/site-ffm/output:rw -w /site-ffm -u $UID site-ffm-stable make V=s GLUON_TARGETS=lantiq-xrx200 |& tee logs/build_lantiq-xrx200_$(date --iso=s).log

Further Resources

This firmware is based on Gluon.

Look at the site configuration related Gluon documentation for information on site configuration options and examples from other communities.