For the Halle Freifunk firmware we use vanilla OpenWRT with additional patches and packages. The scripts dir has some util scripts to automate firmware creation and apply patches / integrate custom freifunk packages. All custom patches are located in patches/ and all additional packages can be found at http://github.com/FreifunkHalle/packages-halle.
After flashing the firmware your router has the IP 192.168.42.1 and distributes IPs on lan switch. You can also access web ui via http://frei.funk
By default this firmware is shipped with ffwizard-berlin that may help you to configure your router. If you use the wizard the router's IP is changed to the first IP of the address range you entered during setup. Anyway http://frei.funk should still work.
git clone https://github.com/FreifunkHalle/firmware-halle.git -b firmware-ng
cd firmware-halle
make
Then the ImageBuilder files end up in the directory bin
. You can find the
actuall firmware generated by the ImageBuilder in firmwares
.
apt-get install git subversion build-essential libncurses5-dev zlib1g-dev gawk \
unzip libxml-perl flex wget gettext quilt python
The firmware is built automatically by freifunk berlins buildbot farm. If you have a bit of CPU+RAM+storage capacity on one of your servers, you can provide a buildbot slave (see berlin-buildbot).
Important: all patches should be pushed upstream!
If a patch is not yet included upstream, it can be placed in the patches
directory with the quilt
tool. Please configure quilt
as described in the openwrt wiki (which also provides a documentation of quilt
).
In order to add, modify or delete a patch run:
make clean pre-patch
Then switch to the openwrt directory:
cd openwrt
Now you can use the quilt
commands as described in the openwrt wiki.
quilt push -a # apply all patches
quilt new 008-awesome.patch # tell quilt to create a new patch
quilt edit somedir/somefile1 # edit files
quilt edit somedir/somefile2
quilt refresh # creates/updates the patch file
Create a commit in the openwrt directory that contains your change. Use git format-patch
to create a patch:
git format-patch origin
Send a patch to the openwrt mailing list with git send-email
:
git send-email \
[email protected] \
--smtp-server=mail.foo.bar \
--smtp-user=foo \
--smtp-encryption=tls \
0001-a-fancy-change.patch
Additional information: https://dev.openwrt.org/wiki/SubmittingPatches