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.