Freifunk Franken Firmware kompilieren unter WSL

Unter WSL will unsere Firmware (OpenWRT genauso) nicht richtig bauen.
Zum einen ist da das Problem mit case-sensitiven Dateinamen und zum anderen mit (unnötigen) Pfaden in der Konsole.
Ich habe es bei mir folgendermaßen zum Laufen gebracht:

Imagedatei für ext4 anlegen und einbinden

dd if=/dev/zero of=fff-firmware.img bs=1 count=0 seek=1G
mkfs.ext4 fff-firmware.img
tune2fs -c0 -i0 fff-firmware.img
mkdir fff-firmware
sudo mount fff-firmware.img fff-firmware/
mkdir fff-firmware/firmware/
sudo chown -R DEINUSER:DEINUSER fff-firmware/firmware

Vorbereiten der Firmware

cd fff-firmware/
git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git
cd firmware
apt-get install zlib1g-dev lua5.2 build-essential unzip libncurses-dev gawk git subversion libssl-dev

Target

Ich wähle hier ramips-mt7621.bsp aus weil ich für den ER-X-SFP bauen will. Wenn ihr ein anderes braucht, dann entsprechend der offiziellen Anleitung ändern.

./buildscript selectbsp bsp/ramips-mt7621.bsp

Variante

Genauso wie die Variante. Bei Freifunk Franken gibt es layer3 und node. Hier erstelle ich die L3 Variante.

./buildscript selectvariant layer3

Mit prepare werden die notwendigen Quellen geladen und die Firmware zum Kompilieren vorbereitet.

./buildscript prepare

Kompilieren

Jetzt kann die CPU anfangen zu kochen. Je nach Geschwindigkeit eures PCs wird das jetzt eine ganze Weile (ca. 30min) dauern.

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ./buildscript build

Im Ordner fff-firmware/firmware/bin findet man nun die fertigen Images.