Kategorien

Archive

Meta

September 2015
M D M D F S S
« Jan    
 123456
78910111213
14151617181920
21222324252627
282930  

RSS

Logo Freifunk Hier ein paar kurze Stichpunkte, wie man sich sein eigenes Gluon-Image für seine Hardware bauen kann. Ich habe damit angefangen, da mein TP-LINK TL-WDR4300 einfach zu langsam war. Daher hatte ich .den Plan mit einen Gluon-Offloader zu bauen bauen. Über das Virtualbox-Image und x86-Image bin ich später beim RaspberryPi 2 gelandet. Um das Image zu bauen wird ein lauffähiges Linux benötigt (wer hätte es gedacht). Die Anleitung ziehlt auf Debian/Ubuntu-User die grundsätzlich schon Erfahrungen mit diesem Betriebssystem gesammelt haben.

Benötigten Pakete installieren

Installiert die benötigten Pakete. Hier für Debian/Ubuntu.

sudo apt-get install build-essential git-core subversion gawk libncurses5-dev lib32z1-dev libssl-dev
 

Build Verzeichnis erstellen

Es werden ca. 8-15 GB zum erstellen des Images benötigt. Sucht am besten einen Platz mit genügend Speicherplatz. In meinem Fall mein Home-Dir:

mkdir ~/build-gluon
cd ~/build-gluon
 

Checkout

Gluon

Nun Gluon mit Git auschecken und in das Verzeichnis wechseln:

git clone https://github.com/freifunk-gluon/gluon.git
cd gluon
 

Site

Jede Freifunkgemeinschaft hat ihre eigene Site-Konfiguration. Das liegt daran, dass jeder seine eigene Infrastruktur betreibt.
Schaut am besten auf die Webseite von Freifunkern in eurer Nähe, wo diese Ihre Konfiguration haben. Eine Liste findet ihr im Freifunk-Wiki. Meist liegt diese Bei GitHub.
Beispiele:
Freifunk Karlsruhe: https://github.com/ffka/site-ffka
Freifunk Stuttgart: https://github.com/freifunk-stuttgart/site-ffs

Dort solltet ihr immer die aktuelle Konfiguration herunterladen. Dazu schaut euch am besten die verschiedenen Branches.

Beispiel Karlsruhe:

git clone https://github.com/ffka/site-ffka.git site -b gluon-master
 

In der Karlsruher Konfiguration fehlt leider das Paket „gluon-luci-wifi-config“ in der „GLUON_SITE_PACKAGES“ Liste (site/site.mk). Diese muss man noch hinzufügen:

if [ ! "$(grep 'gluon-luci-wifi-config' site/site.mk)" ]; \
then sed -i 's/gluon-luci-private-wifi\s*\\/gluon-luci-private-wifi \\\n\tgluon-luci-wifi-config \\/g' site/site.mk; \
else echo "gluon-luci-wifi-config already exists in site/site.mk!"; fi
 

Beispiel Stuttgart:

git clone https://github.com/freifunk-stuttgart/site-ffs.git site -b beta
 

Image bauen

Das Image für euren Hardware kann nun mit drei Zeilen gebaut werden. Je nachdem welche Hardware ihr verwendet sehen die leicht anders aus. Die Möglichen Targets findet ihr in „targets/targets.mk“.
Bitte beachtet, das ihr die Zahl hinter dem „-j“ der Anzahl eurer CPU-Cores anpassen müsst. Solltet ihr Fehler beim bauen erhalten, dann fügt der Zeile ein „V=s“ an um genauer zu sehen was gerade schief läuft.

Beispiel X86, Virtualbox & VMWare:

make -j8 update GLUON_RELEASE=master GLUON_TARGET=x86-generic
make -j8 clean GLUON_RELEASE=master GLUON_TARGET=x86-generic
make -j8 V=s GLUON_RELEASE=master GLUON_TARGET=x86-generic
 

Beispiel KVM:

make -j8 update GLUON_RELEASE=master GLUON_TARGET=x86-kvm_guest
make -j8 clean GLUON_RELEASE=master GLUON_TARGET=x86-kvm_guest
make -j8 V=s GLUON_RELEASE=master GLUON_TARGET=x86-kvm_guest
 

Beispiel RaspberryPi 2 Model B:

Ich baue für meinen RaspberryPi gerne gleich meine benötigten Software-Module mit, da ich an meinem noch eine Ugreen USB 3.0 Netzwerkkarte und TP-Link TL-WDN3200 WLAN-Stick betreibe. Ihr könnt das natürlich weglassen:

sed -i 's/GluonProfile,RaspberryPi2)/GluonProfile,RaspberryPi2, kmod-libphy kmod-mii kmod-usb-net kmod-usb-net-asix-ax88179 kmod-rt2x00-lib kmod-rt2x00-usb kmod-rt2800-lib kmod-rt2800-usb kmod-usb-core kmod-usb2 libusb-1.0 usb-modeswitch usbreset)/' targets/brcm2708-bcm2709/profiles.mk
 

Und dann kann es losgehen:

make -j8 update GLUON_RELEASE=master GLUON_TARGET=brcm2708-bcm2709
make -j8 clean GLUON_RELEASE=master GLUON_TARGET=brcm2708-bcm2709 BROKEN=1
make -j8 V=s GLUON_RELEASE=master GLUON_TARGET=brcm2708-bcm2709 BROKEN=1
 

Beispiel BananaPi:

make -j8 update GLUON_RELEASE=master GLUON_TARGET=sunxi
make -j8 clean GLUON_RELEASE=master GLUON_TARGET=sunxi BROKEN=1
make -j8 V=s GLUON_RELEASE=master GLUON_TARGET=sunxi BROKEN=1
 

Image verwenden

Sollte bis hier alles glatt gelaufen sein, dann findet ihr in Verzeichnis „images“ sowohl das factory-Image also auch das sysupgrade-Image für eure Hardware.

Image mit dd auf Festplatte, USB-Stick oder SD-Karte schreiben

Sollte das Image wie des RaspberryPis gepackt sein, dann müsst ihr dieses erst entpacken:

gunzip gluon-ffka-master-raspberry-pi-2.img.gz
 

Danach findet heraus, welches euer Ziel-Laufwerk ist. Bei mit „/dev/sdi“. Sollte eine Partition auf dem Laufwerk gemounted sein, dann unmounted es erst:

sudo umount /dev/sdi1
 

Und schreibt danach das Image auf das Laufwerk:

sudo dd if=gluon-ffka-master-raspberry-pi-2.img of=/dev/sdi
 

Image in Virtualbox einbinden

In Virtualbox ein neue Maschine erzeugen.

Typ: Linux
Version: Other Linux (32-bit)
RAM: 256 MB
Festplatte: gluon-*-master-x86-virtualbox.vdi

Danach müsst ihr die Maschine noch einmal anpassen. Unter Netzwerk muss für den Adapter 1 bei „Angeschlossen an“ Netzwerkbrücke und bei „Namen“ eure Netzwerkkarte für eure LAN ausgewählt werden.

6. Mit Hardware verbinden und Konfigurieren

Ihr müsst nun eure Hardware per LAN mit eurem PC verbinden. Wichtig ist zu wissen, dass beim ersten Start im Konfigurations-Modus startet. Dabei ist es unter der IP-Adresse 192.168.1.1 erreichbar. Aber bringt keinen DHCP mit. Daher müsst ihr in eurem PC eine statische IP zwischen 192.168.1.2 – 192.168.1.254 vergeben. Solltet ihr einen anderen Router (z.B. eine FRITZ!Box) im Netzwerk haben, dann kann es sein, dass er bereits die IP-Adresse 192.168.0.1 belegt. In diesen Fall solltet ihr ihn aus dem Netzwerk entfernen oder eure Freifunk-Hardware direkt mit eurem PC verbinden (bei neueren PCs/Netzwerkkarten reicht dafür ein Patchkabel und ein Twisted-Pair-Kabel wird nicht benötigt).
Ist alles richtig verbunden und eingestellt, dann könnt ihr über http://192.168.1.1/ auf euren neuen Freifunk-Router zugreifen und ihn Konfigurieren.

Optional: Manuelle Konfiguration

Manuell:

Wer Probleme damit hat auf das WebInterface zuzugreifen und Zugriff auf die lokale Konsole oder Serielle Konsole hat, der kann seinen Freifunk-Router auch manuell konfigurieren. Hier ein kleines Beispiel:

uci set gluon-setup-mode.@setup_mode[0].configured=1
uci set fastd.mesh_vpn.enabled=1
uci set network.mesh_wan.auto=1
uci set system.@system[0].hostname=Knotenname
uci commit 
reboot

Mesh on LAN:

Da mein RaspberryPi 2 mein Gluon-Offloader ist, betreibe ich an diesem eine Ugreen USB 3.0 Netzwerkkarte um für meinen TP-LINK TL-WDR4300 zu entlasten. Der RaspberryPi 2 ist mit seinem Netzwerkport (eth0) mit dem Internet/Router verbunden und meshed auf der USB-Netzwerkkarte (eth1) mit dem WDR4300:

uci set network.client.ifname="bat0 eth1"
uci set network.mesh_lan=1
uci set network.mesh_lan.auto=1
uci commit network

Reboot to configmode

uci set "gluon-setup-mode.@setup_mode[0].enabled=1"
uci commit
reboot

Quellen:
https://freifunk-muensterland.de/wiki/doku.php?id=technik:virtualisiertes_gluon
http://gluon.readthedocs.org/
https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration

comment_type != "trackback" && $comment->comment_type != "pingback" && !ereg("", $comment->comment_content) && !ereg("", $comment->comment_content)) { ?> comment_type != "trackback" && $comment->comment_type != "pingback" && !ereg("", $comment->comment_content) && !ereg("", $comment->comment_content)) { ?> comment_type != "trackback" && $comment->comment_type != "pingback" && !ereg("", $comment->comment_content) && !ereg("", $comment->comment_content)) { ?>
Kommentare abonnieren (RSS) Trackbackadresse dieses Beitrags

3 Reaktionen zu “Build Freifunk Gluon from git”

Emi

Sehr schicke Anleitung!

Hast du Erfahrungswerte mit dem BananaPi (speziell mit dem R1)?
Macht der RaspberryPi2 die Verschlüsselung fixer oder ist das ganze (leider) nur singelcore, und der Banana schicker?
Und wie krieg ich dann auf dem R1 den Onboard-Switch ordentlich ans laufen?
Fragen über Fragen …
Grüße aus Bremen

emi

Kommentar am 18. November 2015 um 02:36 Uhr geschrieben.

   

Datafreak

Hi,

ich habe bis jetzt nur mit dem RaspberryPi 2 und X86, X86_64 und Virtualisierung gearbeitet.
Mit dem RaspberryPi 2 schaffe ich ca. 25MBit. Mit X86 bzw. Virtualisierung schaffe ich es bis zu 50Mbit.

Da ich keinen BananaPi habe, kann ich dazu leider keine Aussage treffen.

Gruß,
Datafreak

Kommentar am 21. November 2015 um 14:17 Uhr geschrieben.

   

Mathias

Ich habe folgendes Problem:
http://www.forum-raspberrypi.de/Thread-andere-build-freifunk-gluon

Was mache ich Falsch? Hab mich an deine Anleitung gehalten.

lg.Mathias

Kommentar am 02. Dezember 2015 um 09:43 Uhr geschrieben.

   
comment_type == "trackback" || $comment->comment_type == "pingback" || ereg("", $comment->comment_content) || ereg("", $comment->comment_content)) { ?>
Trackbacks & Pingbacks

Sehr schicke Anleitung!

Hast du Erfahrungswerte mit dem BananaPi (speziell mit dem R1)?
Macht der RaspberryPi2 die Verschlüsselung fixer oder ist das ganze (leider) nur singelcore, und der Banana schicker?
Und wie krieg ich dann auf dem R1 den Onboard-Switch ordentlich ans laufen?
Fragen über Fragen …
Grüße aus Bremen

emi

Pingback von Emi am 18. November 2015 um 02:36
comment_type == "trackback" || $comment->comment_type == "pingback" || ereg("", $comment->comment_content) || ereg("", $comment->comment_content)) { ?>
Trackbacks & Pingbacks

Hi,

ich habe bis jetzt nur mit dem RaspberryPi 2 und X86, X86_64 und Virtualisierung gearbeitet.
Mit dem RaspberryPi 2 schaffe ich ca. 25MBit. Mit X86 bzw. Virtualisierung schaffe ich es bis zu 50Mbit.

Da ich keinen BananaPi habe, kann ich dazu leider keine Aussage treffen.

Gruß,
Datafreak

Pingback von Datafreak am 21. November 2015 um 14:17
comment_type == "trackback" || $comment->comment_type == "pingback" || ereg("", $comment->comment_content) || ereg("", $comment->comment_content)) { ?>
Trackbacks & Pingbacks

Ich habe folgendes Problem:
http://www.forum-raspberrypi.de/Thread-andere-build-freifunk-gluon

Was mache ich Falsch? Hab mich an deine Anleitung gehalten.

lg.Mathias

Pingback von Mathias am 02. Dezember 2015 um 09:43
Name
E-Mail (wird nicht veröffentlicht)
Website
Bitte beachten sie, dass ihr Kommentar möglicherweise erst freigeschaltet werden muss.