Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

anleitungen:firmware_selbst_bauen

Berliner Freifunk Firmware selbst bauen

Freifunkfähige Router

Als aller Erstes: Informieren und Recherchieren. Wird es bereits unterstützt oder kann das Gerät LEDE bzw. OpenWrt und wie kriegt man es da drauf:

Wird es unterstützt und es sind genung Infos zum Firmware flashen vorhanden, dann am besten erst einmal die angebotenen Stock-Firmwares drauf tun. Diese haben ein Grundsystem + Web Oberfläche und sollten auf jeden Fall laufen. Es kann auch gleich getestet werden ob alles funktioniert, was gebraucht wird.

Ist es nicht gelistet, sollte man schauen wie hoch die Wahrscheinlichkeit ist: dies selbst möglich zu machen, weiter Informieren und Recherchieren, nach Alternativen suchen oder warten/schauen ob es dort auftaucht - wenn es noch ganz neu ist.

Firmware Sources Übersicht

Branch:master (standart) sollte funktionieren. Bei bekannten „Bugs & Features“ kann ein Blick auf https://github.com/freifunk-berlin/firmware/issues helfen und evtl. dann entsprechenden Branch wählen.

Firmware Sources laden & bauen (LEDE)

Terminal/Console starten und Sources laden:

Mit make würden alle Firmwares gebaut, die als TARGET= in /firmware/config.mk eingetragen sind und momentan von Berlin Freifunk unterstützt werden.

So gehts schneller mit mehr Ausgabe:

  • make -j3 V=s-j3 „3 oder X Jobs gleichzeitig - je nach CPU Cores + 1“, V=s „ausführliche Informationen“

Braucht es was anderes ausser Branch:master (standart, neuste Updates, Bugreports/fixes willkommen), diese hinzufügen, z.B.:

  • git checkout 0.3.0 → stable Branch - für stabil laufende Firmware zu bevorzugen

0.3.0 → Name des hinzu zu fügenden Branches

  • git branch → installierte Branches und angewählten (*) anzeigen
  • git checkout „Name des Branches“ → zu bestimmten Branch wechseln und diesen benutzen
  • git pull → angewählten Branch aktualisieren
  • git branch -d „Name des Branches“ → Branch entfernen

Sources für eigenes Gerät anpassen

Beispiel für: EasyBox 803A (Arcadyan ARV752DPW22) → wird seit längerem von OpenWRT unterstützt, es gibt mehrere 1, 2 ausführliche Anleitungen mit Bootloader (UBoot) flashen und Unbrick falls wirklich etwas schief geht → 1, 2. Hab ich selbst öfters getestet - Löten ist nicht nötig, braucht etwas Geduld, Pin sauber überbrücken und hat schon etwas von Frankenstein ;)

/firmware/packages/default.txt

Pakete als Module hinzu fügen „Paketname“ oder weg lassen „-Paketname“. Hier erst einmal nichts ändern. Wenn Firmware erfolgreich gebaut wurde kann man gern rumspielen und eigene „.txt's“ erstellen - xte Builds dauern wesentlich kürzer, wenn schon einmal kompiliert wurde.

/firmware/configs/common.config

Hier wird genau definiert um welches Gerät es sich handelt, was kompiliert wird und wie Firmwares beschaffen sein sollen.

Man kann sich „.config's“ über die LEDE Sources generieren lassen.

Es erscheint das LEDE Build System.

  • Target System → Lantiq
  • Subtarget → XWAY
  • Target Profile → Easybox 803 - ARV752DPW22
  • Save → .config.lantiq

Zu Berlin Freifunk Source /firmware/configs/ wechseln und lantiq-xway.config erstellen. Wichtig aus .config.lantiq sind:

  • CONFIG_TARGET_lantiq=y
  • CONFIG_TARGET_lantiq_xway=y
  • CONFIG_TARGET_lantiq_xway_DEVICE_ARV752DPW22=y
  • CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=256

/firmware/profiles/

Momentan von Berlin Freifunk unterstützte Geräte, dort ein eigenes Profil erstellen z.B. lantiq-xway.profiles und Gerätebezeichnung ARV752DPW22 eintragen, lantiq-xway ist die SoC-Family im Gerät.

Angepasste Sources bauen

  • nach /firmware wechseln
  • make -j3 V=s TARGET=lantiq-xway PACKAGES_LIST_DEFAULT=lantiq

TARGET=lantiq-xway/firmware/configs/lantiq-xway.config - Firmwareconfig

PACKAGES_LIST_DEFAULT=lantiq/firmware/packages/lantiq.txt - Firmwarepakete

/firmware/profiles/lantiq-xway.profiles - Firmwares dort eingetragener Geräte werden automatisch kompiliert

Wenn alles geklappt hat, sind Firmwares zum flashen unter /firmware/firmwares/lantiq-xway/lantiq.

Bonusziele

Easybox 803 mit aktuell funktionierenden Builds

Momentan wird etwas umgebaut, erneuert und getestet.

Branch: SAm0815/Hedy-alpha_olsr0903 - mit default/minimal Firmware läuft stabil mit vermeidbaren BUGs: 1, 2.

Easybox 803 minimal Firmware

Freifunk Image default → ~6,5MiB: DSL sollte funktionieren (mit Annex B!), VoIP ??

Freifunk Image minimal → ~5,8MiB: z.B. reiner Router hinter DSL/Kabelmodem, DSL und VoIP Pakete komplett entfernt

Click to display ⇲

Click to hide ⇱

  • CONFIG_TARGET_lantiq=y
  • CONFIG_TARGET_lantiq_xway=y
  • CONFIG_TARGET_lantiq_xway_DEVICE_ARV752DPW22=y
  • CONFIG_PACKAGE_ppp=m
  • CONFIG_PACKAGE_ppp-mod-pppoa=m
  • CONFIG_PACKAGE_ppp-mod-pppoe=m
  • CONFIG_PACKAGE_kmod-ppp=m
  • CONFIG_PACKAGE_ltq-adsl-app=m
  • CONFIG_PACKAGE_wpad-mini=m
  • CONFIG_PACKAGE_linux-atm=m
  • CONFIG_PACKAGE_br2684ctl=m
  • CONFIG_PACKAGE_kmod-ltq-atm-danube=m
  • CONFIG_PACKAGE_kmod-ltq-adsl-danube=m
  • CONFIG_PACKAGE_kmod-ltq-adsl-danube-fw-b=m
  • CONFIG_PACKAGE_kmod-ltq-adsl-danube-mei=m
  • CONFIG_PACKAGE_kmod-ltq-tapi=m
  • CONFIG_PACKAGE_kmod-ltq-vmmc=m

/firmware/configs/lantiq-xway.config - erstellen

Click to display ⇲

Click to hide ⇱

  • # IEEE 802.1x/WPA Authenticator and Supplicant
  • -wpad-mini
  • wpad
  • # ADSL
  • -ppp
  • -ppp-mod-pppoe
  • -ppp-mod-pppoa
  • -kmod-ppp
  • -linux-atm
  • -ltq-adsl-app
  • -kmod-ltq-atm-danube
  • -kmod-ltq-adsl-danube
  • -kmod-ltq-adsl-danube-mei
  • -kmod-ltq-adsl-danube-fw-b
  • -br2684ctl
  • # Voice over IP
  • -kmod-ltq-tapi
  • -kmod-ltq-vmmc

/firmware/packages/lantiq.txt - erstellen und Inhalt aus default.txt hinzufügen

Easybox 803 mit TOR

TOR und OpenWrt/LEDE sind möglich, mit 64MB Ram leider nicht mehr. Selbst 128MB Geräte kommen seit einiger Zeit an ihre Grenzen.

Was es braucht: min. 256MB Ram und gewünscht sind 250 kilobytes/second Up/Downstream.

Damit beim anonymeren Surfen keine wichtigen Einstellungen übersehen werden, lieber das BrowserBundle verwenden.

Transpartent-Proxy über Lan/WLan für alle Endgeräte ist möglich, wenn man für seine eigene Sicherheit sorgen kann.

anleitungen/firmware_selbst_bauen.txt · Zuletzt geändert: 2017/08/20 15:55 von stefans