2014-01-29 05:12:38 +00:00
|
|
|
To build Gluon, after checking out the repository change to the source root directory
|
2013-12-15 02:11:07 +00:00
|
|
|
to perform the following commands:
|
2013-02-12 01:17:23 +00:00
|
|
|
|
2013-02-12 01:18:25 +00:00
|
|
|
git clone git://github.com/freifunk-gluon/site-ffhl.git site # Get the Freifunk Lübeck site repository - or use your own!
|
2013-12-28 21:20:46 +00:00
|
|
|
make update # Get other repositories used by Gluon
|
2013-02-12 01:18:25 +00:00
|
|
|
make # Build Gluon
|
2013-02-12 01:17:23 +00:00
|
|
|
|
2013-12-28 21:20:46 +00:00
|
|
|
When calling make, the OpenWRT build environment is prepared/updated. To rebuild
|
2013-02-13 01:36:39 +00:00
|
|
|
the images only, just use:
|
2013-02-12 01:17:23 +00:00
|
|
|
|
2013-02-13 01:36:39 +00:00
|
|
|
make images
|
2013-02-12 01:17:23 +00:00
|
|
|
|
2013-12-28 21:20:46 +00:00
|
|
|
The built images can be found in the directory `images`.
|
2013-12-15 02:11:07 +00:00
|
|
|
|
2014-05-10 13:26:38 +00:00
|
|
|
For the build reserve 6GB of disk space. The build requires packages
|
2013-12-28 21:20:46 +00:00
|
|
|
for `subversion`, ncurses headers (`libncurses-dev`) and zlib headers
|
|
|
|
(`libz-dev`).`
|
2013-04-05 21:53:00 +00:00
|
|
|
|
|
|
|
|
2013-12-28 21:20:46 +00:00
|
|
|
There are three levels of `make clean`:
|
2013-04-05 21:53:00 +00:00
|
|
|
|
|
|
|
make clean
|
|
|
|
|
|
|
|
will only clean the Gluon-specific files;
|
|
|
|
|
|
|
|
make cleanall
|
|
|
|
|
2013-12-28 21:20:46 +00:00
|
|
|
will also call `make clean` on the OpenWRT tree, and
|
2013-04-05 21:53:00 +00:00
|
|
|
|
|
|
|
make dirclean
|
|
|
|
|
2014-05-10 13:26:38 +00:00
|
|
|
will do all this, and call `make dirclean` on the OpenWRT tree. Of these, `make cleanall`
|
|
|
|
is the most useful as it ensures that the kernel and all packages are rebuilt (which won't
|
|
|
|
be done when only patches have changed), but doesn't rebuild the toolchain unnecessarily.
|
|
|
|
|
|
|
|
So all in all, to update and rebuild a Gluon build tree, the following commands should be used:
|
|
|
|
|
|
|
|
git pull
|
|
|
|
make update
|
|
|
|
make cleanall
|
|
|
|
make
|
2013-12-28 21:20:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Development
|
|
|
|
|
2014-01-11 20:30:30 +00:00
|
|
|
**Gluon IRC channel: `#gluon` in hackint**
|
|
|
|
|
2013-12-28 21:20:46 +00:00
|
|
|
To update the repositories used by Gluon, just adjust the commit IDs in `modules` and
|
|
|
|
rerun
|
|
|
|
|
|
|
|
make update
|
|
|
|
|
|
|
|
`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`.
|
|
|
|
|
2014-01-11 11:14:27 +00:00
|
|
|
make unpatch
|
2013-12-28 21:20:46 +00:00
|
|
|
|
|
|
|
sets the repositories to the `base` branch,
|
|
|
|
|
2014-01-11 11:14:27 +00:00
|
|
|
make patch
|
2013-12-28 21:20:46 +00:00
|
|
|
|
|
|
|
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
|
2014-01-11 11:14:27 +00:00
|
|
|
|
2013-12-28 21:20:46 +00:00
|
|
|
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
|
2014-01-03 12:16:09 +00:00
|
|
|
commits, making `git reflog` the only way to recover them!
|