a modular framework for creating OpenWrt-based firmwares for wireless mesh nodes
Go to file
Matthias Schiffer 59adcccab3 Fix update.sh
2014-01-01 18:30:55 +01:00
include Add some more fixes and some checks for the new module system 2013-12-28 22:13:18 +01:00
kernel Update kernel config to 12.09 release 2013-10-08 20:23:15 +02:00
patches/openwrt Make patch generation deterministic 2013-12-28 17:17:02 +01:00
scripts Fix update.sh 2014-01-01 18:30:55 +01:00
.gitignore Allow changing module definitions in modules.local 2013-12-28 22:18:08 +01:00
LICENSE Move package submodules to packages/ 2013-10-09 19:58:28 +02:00
Makefile Add some more fixes and some checks for the new module system 2013-12-28 22:13:18 +01:00
modules Update gluon packages 2014-01-01 15:24:33 +01:00
README.md Add documentation for the new module system 2013-12-28 22:25:05 +01:00
TODO Add TODO file 2013-09-10 19:22:40 +02:00

To build Gluon, after checkeing out the repository change to the source root directory to perform the following commands:

git clone git://github.com/freifunk-gluon/site-ffhl.git site # Get the Freifunk Lübeck site repository - or use your own!
make update                                                  # Get other repositories used by Gluon
make                                                         # Build Gluon

When calling make, the OpenWRT build environment is prepared/updated. To rebuild the images only, just use:

make images

The built images can be found in the directory images.

For the build reserve 6GB of disk space. The building requires packages for subversion, ncurses headers (libncurses-dev) and zlib headers (libz-dev).`

There are three levels of make clean:

make clean

will only clean the Gluon-specific files;

make cleanall

will also call make clean on the OpenWRT tree, and

make dirclean

will do all this, and call make dirclean on the OpenWRT tree.

Development

To update the repositories used by Gluon, just adjust the commit IDs in modules and rerun

make update

The repository paths may be changed locally by creating a file modules.local.

make update also applies the patches that can be found in the directories found in patches; the resulting branch will be called patched, while the commit specified in modules can be refered to by the branch base.

make unpatch

sets the repositories to the base branch,

 make patch

re-applies the patches by resetting the patched branch to base and calling git am for the patch files. Calling make or a similar command after calling make unpatch is generally not a good idea.

After new patches have been commited on top of the patched branch (or existing commits since the base commit have been edited or removed), the patch directories can be regenerated using make update-patches

If applying a patch fails because you have changed the base commit, the repository will be reset to the old patched branch and you can try rebasing it onto the new base branch yourself and after that call make update-patches to fix the problem.

Always call make update-patches after making changes to a module repository as make update will overwrite your commits, making git reflog the only way to recover them!