A pretty silly reason made me try to switch our FritzBox from original AVM firmware to Freetz custom image today – I wanted to be able to use .local dns entries while connected via VPN which seems not be possible otherwise.
Well, I always wanted to play around with Freetz, the 7390 is anyhow old and no longer under active support by AVM, so let’s get started:
1) Get Freetz sources, because due to legal reasons we need to build this on our own
$ git clone https://github.com/Freetz/freetz.git
2) However this won’t build without extra fiddling from my mac. The official guidance is to use a VM, but I had docker ready and quickly found a docker image for that:
$ docker pull mtneug/freetz
3) Quite some fiddling/reading later I figured I might be best of to use it like this:
$ docker run -it -v $PWD:/freetz -v $PWD/images:/freetz/images -v /Users/hro/:/home/freetz mtneug/freetz /bin/bash
(the freetz mount is to just use the downloaded freetz source dir as base, freetz images because that’s where the final image is written and the home mount is to store a key used for signing in the users home dir instead of the freetz build dir)
4) When inside the docker container run
$ make menuconfig && make
5) Exit and now we can push the firmware via a cmd tool
$ tools/push_firmware images/<your_image.image> ip