forked from freifunk-franken/firmware
Merge pull request 'master' (#2) from freifunk-franken/firmware:master into master
Reviewed-on: #2
This commit is contained in:
commit
435da23e46
18
README.md
18
README.md
|
@ -9,12 +9,11 @@ Weitere Informationen gibt es auf <https://freifunk.net/> und auf <https://wiki.
|
|||
# Firmware selbst kompilieren
|
||||
## Voraussetzungen
|
||||
* `apt-get install zlib1g-dev lua5.2 build-essential unzip libncurses-dev gawk git subversion realpath libssl-dev` (Sicherlich müssen noch mehr Abhängigkeiten installiert werden, diese Liste wird sich hoffentlich nach und nach füllen. Ein erster Ansatzpunkt sind die Abhängigkeiten von OpenWrt selbst)
|
||||
* `git clone https://github.com/FreifunkFranken/firmware.git`
|
||||
* `git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git`
|
||||
* `cd firmware`
|
||||
|
||||
## Erste Schritte
|
||||
Je nachdem, für welche Hardware die Firmware gebaut werden soll, muss das BSP gewählt werden:
|
||||
|
||||
* `./buildscript selectbsp bsp/ath79-generic.bsp`
|
||||
* Um die vorhandenen BSPs zu sehen, kann `./buildscript selectbsp help` ausgeführt werden.
|
||||
|
||||
|
@ -30,11 +29,15 @@ Die Daten des BSP werden nie alleine verwendet. Zuerst werden immer die Daten au
|
|||
Die BSP-Datei wird durch das Buildscript automatisch als dot-Script geladen, somit stehen dort alle Funktionen zur Verfügung.
|
||||
Das Buildscript generiert ein dynamisches sed-Script. Dies geschieht, damit die Templates mit den richtigen Werten gefüllt werden können.
|
||||
|
||||
### `./buildscript selectvariant`
|
||||
Hier wählt man aus ob man Node Firmware oder Layer3 Firmware bauen möchte:
|
||||
* `./buildscript selectvariant [node/layer3]`
|
||||
* Um die verschiedenen Varianten zu sehen, kann `./buildscript selectvariant help` ausgeführt werden.
|
||||
|
||||
### `./buildscript prepare`
|
||||
* Sourcen werden in einen separaten src-Folder geladen, sofern diese nicht schon da sind. Zu den Sourcen zählen folgende Komponenten:
|
||||
* OpenWrt
|
||||
* Sämtliche Packages (ggf. werden Patches angewandt)
|
||||
|
||||
* Eine OpenWrt Feed-Config wird mit dem lokalen Source Verzeichnis als Quelle angelegt
|
||||
* Die Feeds werden geladen
|
||||
* Spezielle Auswahl an Paketen wird geladen
|
||||
|
@ -50,7 +53,11 @@ Dieses Kommando arbeitet folgendermaßen:
|
|||
* Config-Format vereinfachen
|
||||
* Config ins BSP zurück speichern
|
||||
|
||||
### `./buildscript updatefeeds`
|
||||
Aktualisiert die OpenWrt Feeds für zusätzliche Pakete, die in die Firmware eingebaut werden. Dabei werden die Referenzen im build/ Verzeichnis aktualisiert. Dieser Schritt wird bereits von `./buildscript prepare` übernommen, daher ist dies nur bei manuellen Änderungen der Feeds nötig.
|
||||
|
||||
### `./buildscript build`
|
||||
Sollte man am besten mit Hilfe des Tools 'screen' oder ähnlichem laufen lassen um einen Abbruch des Builds bei Verbindungsproblemen oder ähnlichem zu verhindern.
|
||||
* prebuild
|
||||
* $target/files aufräumen
|
||||
* (In $target/files liegen Dateien, die später direkt im Ziel-Image landen)
|
||||
|
@ -63,12 +70,15 @@ Dieses Kommando arbeitet folgendermaßen:
|
|||
* postbuild
|
||||
* board_postbuild() wird aufgerufen
|
||||
|
||||
### `./buildscript buildall`
|
||||
Kann verwendet werden um für alle BSPs Firmware zu bauen. Das kann jedoch mehrere Stunden dauern.
|
||||
|
||||
## Erweiterung eines BSPs
|
||||
Beispielhaftes Vorgehen um den WR1043V2 zu unterstützen.
|
||||
|
||||
### Repository auschecken
|
||||
```
|
||||
git clone https://github.com/FreifunkFranken/firmware.git
|
||||
git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git
|
||||
cd firmware
|
||||
```
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-babeld
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-babeld
|
||||
|
||||
|
|
|
@ -37,6 +37,11 @@ uci batch <<EOF
|
|||
set network.@rule6[2].in='mesh'
|
||||
set network.@rule6[2].lookup='10'
|
||||
set network.@rule6[2].priority='31'
|
||||
add network rule6
|
||||
set network.@rule6[3]=rule6
|
||||
set network.@rule6[3].src='::/0'
|
||||
set network.@rule6[3].lookup='10'
|
||||
set network.@rule6[3].priority='32000'
|
||||
EOF
|
||||
|
||||
uci commit network
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-dhcp
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-dhcp
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken hoods
|
||||
TITLE:=Freifunk-Franken hoods
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+fff-hoodutils +fff-macnock +fff-vpn-select +fff-firewall \
|
||||
+fff-timeserver +fff-network +fff-wireless +jshn \
|
||||
|
|
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken hoodutils
|
||||
TITLE:=Freifunk-Franken hoodutils
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+fff-network +fff-config
|
||||
endef
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-layer3-config
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-layer3-config
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/fff-layer3-config
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:=Freifunk-Franken Layer3 firmware configuration tools
|
||||
URL:=https://www.freifunk-franken.de
|
||||
DEPENDS:= \
|
||||
+fff-boardname \
|
||||
+fff-config \
|
||||
+fff-dhcp \
|
||||
+fff-network
|
||||
endef
|
||||
|
||||
define Package/fff-layer3-config/description
|
||||
This package provides the means for configuring the gateway
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
echo "all: " > $(PKG_BUILD_DIR)/Makefile
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
# nothing
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
# nothing
|
||||
endef
|
||||
|
||||
define Package/fff-layer3-config/install
|
||||
$(CP) ./files/* $(1)/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,fff-layer3-config))
|
|
@ -18,7 +18,7 @@ execute_subshell() {
|
|||
echo "Usage:" "$0" "<function>"
|
||||
fi
|
||||
|
||||
for script in /etc/gateway.d/*; do
|
||||
for script in /etc/layer3.d/*; do
|
||||
(
|
||||
# unset function to prevent executing parents shell function
|
||||
unset -f "$1"
|
|
@ -1,13 +1,13 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-gateway
|
||||
PKG_RELEASE:=6
|
||||
PKG_NAME:=fff-layer3
|
||||
PKG_RELEASE:=7
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-gateway
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-layer3
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/fff-gateway
|
||||
define Package/fff-layer3
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:=Freifunk-Franken gateway configuration
|
||||
|
@ -16,6 +16,7 @@ define Package/fff-gateway
|
|||
+fff-babeld \
|
||||
+fff-boardname \
|
||||
+fff-dhcp \
|
||||
+fff-layer3-config \
|
||||
+fff-network \
|
||||
+fff-ra \
|
||||
+fff-wireguard \
|
||||
|
@ -39,8 +40,8 @@ define Package/fff-gateway
|
|||
+vxlan
|
||||
endef
|
||||
|
||||
define Package/fff-gateway/description
|
||||
This package configures the gateway
|
||||
define Package/fff-layer3/description
|
||||
This package provides the packages and settings for the layer 3 firmware
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
|
@ -55,8 +56,8 @@ define Build/Compile
|
|||
# nothing
|
||||
endef
|
||||
|
||||
define Package/fff-gateway/install
|
||||
define Package/fff-layer3/install
|
||||
$(CP) ./files/* $(1)/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,fff-gateway))
|
||||
$(eval $(call BuildPackage,fff-layer3))
|
|
@ -16,7 +16,7 @@ CMAKE_OPTIONS:=-DMACNOCK_DEBUG=ON
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken mac nocker
|
||||
TITLE:=Freifunk-Franken mac nocker
|
||||
URL:=http://www.freifunk-franken.de
|
||||
KCONFIG:= \
|
||||
CONFIG_NET_EMATCH=y \
|
||||
|
|
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken network configuration
|
||||
TITLE:=Freifunk-Franken network configuration
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+fff-boardname +fff-firewall
|
||||
endef
|
||||
|
|
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken Nodewatcher
|
||||
TITLE:=Freifunk-Franken Nodewatcher
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+fff-alfred +micrond +fff-config +fff-random +ip +ip-bridge
|
||||
endef
|
||||
|
|
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken uradvd
|
||||
TITLE:=Freifunk-Franken uradvd
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+uradvd
|
||||
endef
|
||||
|
|
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken vpn-select
|
||||
TITLE:=Freifunk-Franken vpn-select
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+fff-fastd
|
||||
endef
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-web
|
||||
PKG_RELEASE:=11
|
||||
PKG_RELEASE:=13
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken Webinterface
|
||||
TITLE:=Freifunk-Franken Webinterface
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+uhttpd +libustream-mbedtls +haserl +px5g +fff-simple-tc \
|
||||
+fff-boardname +fff-config +fff-network +fff-hoodutils \
|
||||
|
|
|
@ -7,13 +7,6 @@
|
|||
UPGRADE_PATH="$(getUpgradePath)"
|
||||
|
||||
echo -en "Content-Type: text/html\r\n\r\n"
|
||||
nav_entry() {
|
||||
script_file="/cgi-bin/$1"
|
||||
if [ "$script_file" = "$REQUEST_URI" ] ; then
|
||||
local class_active=' class="active"'
|
||||
fi
|
||||
echo -ne "\t<li${class_active}><a href=\"${script_file}\">$2</a></li>\n\t\t"
|
||||
}
|
||||
|
||||
HOSTNAME="$(uci -q get "fff.system.hostname")"
|
||||
hood="$(uci -q get "system.@system[0].hood")"
|
||||
|
@ -52,14 +45,15 @@ fi
|
|||
<div id="menu">
|
||||
<ul>
|
||||
<%
|
||||
nav_entry home.html "Home"
|
||||
nav_entry settings.html "Einstellungen"
|
||||
nav_entry ports.html "Anschlüsse"
|
||||
nav_entry wifiscan.html "Wifi Scan"
|
||||
nav_entry upgrade.html "Upgrade"
|
||||
nav_entry password.html "Password"
|
||||
nav_entry reboot.html "Neustart"
|
||||
nav_entry logout.html "Logout"
|
||||
for f in /www/menu/ssl/*; do
|
||||
var=$(cat $f);
|
||||
menu_file=$(echo $var | cut -d "," -f 1)
|
||||
menu_name=$(echo $var | cut -d "," -f 2)
|
||||
menu_link="/cgi-bin/${menu_file}.html";
|
||||
class_active=""
|
||||
[ "$menu_link" = "$REQUEST_URI" ] && class_active=' class="active"'
|
||||
echo -ne "\t<li$class_active><a href=\"${menu_link}\">$menu_name</a></li>\n\t\t";
|
||||
done
|
||||
%>
|
||||
</ul>
|
||||
<div></div>
|
|
@ -0,0 +1 @@
|
|||
home,Home
|
|
@ -0,0 +1 @@
|
|||
settings,Einstellungen
|
|
@ -0,0 +1 @@
|
|||
ports,Anschlüsse
|
|
@ -0,0 +1 @@
|
|||
wifiscan,Wifi Scan
|
|
@ -0,0 +1 @@
|
|||
upgrade,Upgrade
|
|
@ -0,0 +1 @@
|
|||
password,Passwort
|
|
@ -0,0 +1 @@
|
|||
reboot,Neustart
|
|
@ -0,0 +1 @@
|
|||
logout,Logout
|
|
@ -13,8 +13,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
|
|||
fi
|
||||
fi
|
||||
%>
|
||||
<%in /www/ssl/cgi-bin/header %>
|
||||
<%in /www/ssl/cgi-bin/helpers %>
|
||||
<%in /www/include/header %>
|
||||
<%in /www/include/helpers %>
|
||||
<% show_msg %>
|
||||
<%
|
||||
if pidof fastd >/dev/null ; then
|
||||
|
@ -116,4 +116,4 @@ fi
|
|||
</td></tr>
|
||||
</table>
|
||||
|
||||
<%in /www/ssl/cgi-bin/footer %>
|
||||
<%in /www/include/footer %>
|
||||
|
|
|
@ -20,8 +20,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
|
|||
fi
|
||||
fi
|
||||
%>
|
||||
<%in /www/ssl/cgi-bin/header %>
|
||||
<%in /www/ssl/cgi-bin/helpers %>
|
||||
<%in /www/include/header %>
|
||||
<%in /www/include/helpers %>
|
||||
<% show_msg %>
|
||||
<form method="POST">
|
||||
<input type="text" name="username" value="root" style="display: none;" />
|
||||
|
@ -43,7 +43,7 @@ fi
|
|||
</table>
|
||||
<input type="submit" style="margin-top: 5px; margin-left: 3px;" />
|
||||
</form>
|
||||
<%in /www/ssl/cgi-bin/footer %>
|
||||
<%in /www/include/footer %>
|
||||
<%
|
||||
#force instant password change
|
||||
if [ "$restart_uhttpd" = "1" ] ; then
|
||||
|
|
|
@ -71,8 +71,8 @@ format_port() {
|
|||
|
||||
|
||||
%>
|
||||
<%in /www/ssl/cgi-bin/header %>
|
||||
<%in /www/ssl/cgi-bin/helpers %>
|
||||
<%in /www/include/header %>
|
||||
<%in /www/include/helpers %>
|
||||
<% show_msg %>
|
||||
<form method="post">
|
||||
<table style="width: 100%;">
|
||||
|
@ -237,7 +237,7 @@ format_port() {
|
|||
<% fi %>
|
||||
</table>
|
||||
</form>
|
||||
<%in /www/ssl/cgi-bin/footer %>
|
||||
<%in /www/include/footer %>
|
||||
<%
|
||||
# write
|
||||
if [ "$do_reboot" = "1" ] ; then
|
||||
|
|
|
@ -9,8 +9,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
|
|||
fi
|
||||
fi
|
||||
%>
|
||||
<%in /www/ssl/cgi-bin/header %>
|
||||
<%in /www/ssl/cgi-bin/helpers %>
|
||||
<%in /www/include/header %>
|
||||
<%in /www/include/helpers %>
|
||||
<% show_msg %>
|
||||
<form method="POST">
|
||||
<table style="width: 100%;">
|
||||
|
@ -26,7 +26,7 @@ fi
|
|||
</td></tr>
|
||||
</table>
|
||||
</form>
|
||||
<%in /www/ssl/cgi-bin/footer %>
|
||||
<%in /www/include/footer %>
|
||||
<%
|
||||
# write
|
||||
if [ "$do_reboot" = "1" ] ; then
|
||||
|
|
|
@ -65,8 +65,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
|
|||
fi
|
||||
fi
|
||||
%>
|
||||
<%in /www/ssl/cgi-bin/header %>
|
||||
<%in /www/ssl/cgi-bin/helpers %>
|
||||
<%in /www/include/header %>
|
||||
<%in /www/include/helpers %>
|
||||
<%
|
||||
# read
|
||||
chkd='checked="checked" '
|
||||
|
@ -154,4 +154,4 @@ fi
|
|||
</td></tr>
|
||||
</table>
|
||||
</form>
|
||||
<%in /www/ssl/cgi-bin/footer %>
|
||||
<%in /www/include/footer %>
|
||||
|
|
|
@ -29,8 +29,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
|
|||
fi
|
||||
fi
|
||||
%>
|
||||
<%in /www/ssl/cgi-bin/header %>
|
||||
<%in /www/ssl/cgi-bin/helpers %>
|
||||
<%in /www/include/header %>
|
||||
<%in /www/include/helpers %>
|
||||
<% show_msg %>
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
<table style="width: 100%;">
|
||||
|
@ -60,7 +60,7 @@ fi
|
|||
</td></tr>
|
||||
</table>
|
||||
</form>
|
||||
<%in /www/ssl/cgi-bin/footer %>
|
||||
<%in /www/include/footer %>
|
||||
<%
|
||||
# write
|
||||
if [ "$do_reset" = "1" ] ; then
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/haserl
|
||||
|
||||
<%in /www/ssl/cgi-bin/header %>
|
||||
<%in /www/include/header %>
|
||||
<table style="width: 100%">
|
||||
<tr><td>
|
||||
<fieldset>
|
||||
|
@ -23,4 +23,4 @@ iw dev w2mesh scan | sed 's/^BSS/\nBSS/g' |\
|
|||
</td></tr>
|
||||
</table>
|
||||
|
||||
<%in /www/ssl/cgi-bin/footer %>
|
||||
<%in /www/include/footer %>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-wireguard
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-wireguard
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-wireless
|
||||
PKG_RELEASE:=18
|
||||
PKG_RELEASE:=19
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define Package/$(PKG_NAME)
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:= Freifunk-Franken wireless configuration
|
||||
TITLE:=Freifunk-Franken wireless configuration
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+@ATH_USER_REGD +wireless-tools +fff-boardname
|
||||
endef
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff
|
||||
PKG_RELEASE:=7
|
||||
PKG_RELEASE:=8
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ define Package/fff-default
|
|||
DEFAULT:=y
|
||||
TITLE:=Freifunk-Franken Base default switcher
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:=+fff-base +fff-gateway
|
||||
DEPENDS:=+fff-base +fff-layer3
|
||||
VARIANT:=layer3
|
||||
endef
|
||||
|
||||
|
|
Loading…
Reference in New Issue