Zum Inhalt springen

Opennet Firmware NG: Unterschied zwischen den Versionen

Aus Opennet
Inhalt gelöscht Inhalt hinzugefügt
Ap46rene (Diskussion | Beiträge)
release 0.3-10
Ap46rene (Diskussion | Beiträge)
release 0.4-1
Zeile 19: Zeile 19:
* AP-Verwaltung
* AP-Verwaltung
* OpenVPN-Unterstützung
* OpenVPN-Unterstützung
* Usergateway-Funktion
* Usergateway-Funktion inkl. Forward
* Portforwarding
* Portforwarding
* Wifidog
* Wifidog
Zeile 28: Zeile 28:


== Download / Installation ==
== Download / Installation ==
Das '''aktuelle Release 0.3-10 vom 4. Dezember 2011''' findet sich unter http://www.absorb.it/software/opennet/on_firmware/0.3-10
Das '''aktuelle Release 0.4-1 vom 23. Januar 2012''' findet sich unter http://www.absorb.it/software/opennet/on_firmware/0.4-1


Hinweise zur Erstinstallation von OpenWRT (und damit auch von dieser Firmware) finden sich bspw. auf der Seite von http://wiki.openwrt.org/toh/start
Hinweise zur Erstinstallation von OpenWRT (und damit auch von dieser Firmware) finden sich bspw. auf der Seite von http://wiki.openwrt.org/toh/start
Zeile 38: Zeile 38:


=== Update über Terminal ===
=== Update über Terminal ===
Sonderfall für Avila / Intel IXP4xx. Da die Software für ein upgrade erst ab Version 0.4-1 zur Verfügung steht, müssen zwei Dateien vor dem update per Hand auf den Avila kopiert werden. Ausserdem muss das Image nach /tmp kopiert werden.
Zum Beispiel für Avila / Intel IXP4xx


'''Download'''
'''Download'''
{| {{prettytable}}
{| {{prettytable}}
!Was
|kernel-image
!Woher
|[http://www.absorb.it/software/opennet/on_firmware/0.3-10/ixp4xx/openwrt-avila-zImage openwrt-avila-zImage]
!Wohin auf dem Avila
|-
|-
|combiniertes Image
|rootfs-image
|[http://www.absorb.it/software/opennet/on_firmware/0.3-10/ixp4xx/openwrt-ixp4xx-generic-squashfs.img openwrt-ixp4xx-generic-squashfs.img]
|[http://www.absorb.it/software/opennet/on_firmware/0.4-1/ixp4xx/openwrt-ixp4xx-generic-avila-combined-squashfs.img openwrt-ixp4xx-generic-avila-combined-squashfs.img]
|/tmp
|-
|mtd-Programm
|[http://www.absorb.it/software/opennet/on_firmware/0.4-1/update_avila/mtd mtd]
|/usr/sbin/
|-
|upgrade-script
|[http://www.absorb.it/software/opennet/on_firmware/0.4-1/update_avila/platform.sh platform.sh]
|/lib/upgrade/
|}
|}


'''Update'''
'''Update'''
(noch nicht wirklich viel getestet, aber sollte gehen)
* per "dmesg" die Bezeichnungen der kernel- und der rootfs-Partition herausfinden/prüfen:
# cd /tmp
root@APXX:~# dmesg
# sysupgrade -v openwrt-ixp4xx-generic-avila-combined-squashfs.img
...
5 RedBoot partitions found on MTD device IXP4XX-Flash.0
Creating 5 MTD partitions on "IXP4XX-Flash.0":
0x00000000-0x00040000 : "RedBoot"
0x00040000-0x00140000 : "linux"
0x00140000-0x00fc0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
mtd: partition "rootfs_data" created automatically, ofs=760000, len=860000
0x00760000-0x00fc0000 : "rootfs_data"
0x00fc0000-0x00fc1000 : "RedBoot config"
0x00fe0000-0x01000000 : "FIS directory"

* im Fall der mir vorliegenden Avilas war kernel-Partition immer "linux", rootfs-Partition immer "rootfs". Auf anderen Geräten entsprechend ersetzen.
* Dateien auf den Avila ins Verzeichnis /tmp kopieren

userRechner@linux:~$ scp openwrt-avila-zImage root@172.16.0.1:/tmp
userRechner@linux:~$ scp openwrt-ixp4xx-generic-squashfs.img root@172.16.0.1:/tmp

* Avila flashen
root@APXX:~# cd /tmp
root@APXX:~# mtd -e linux write openwrt-avila-zImage linux
... (output)
root@APXX:~# mtd -r -e rootfs write openwrt-ixp4xx-generic-squashfs.img rootfs


Danach startet der AP neu und hat im LAN DHCP mit Adresse 172.16.0.1/24, die WLAN-Karten sind auf Opennet konfiguriert (adhoc-olsr) und erreichbar unter 192.168.33.127 (die zweite Karte unter 192.168.43.127, die dritte unter 192.168.53.127 und so weiter)
Danach startet der AP neu und hat im LAN DHCP mit Adresse 172.16.0.1/24, die WLAN-Karten sind auf Opennet konfiguriert (adhoc-olsr) und erreichbar unter 192.168.33.127 (die zweite Karte unter 192.168.43.127, die dritte unter 192.168.53.127 und so weiter)
Zeile 81: Zeile 69:
nicht wundern, das ist etwas kreativer Umgang mit Technik, Optimierungen und Aufräumarbeiten sind gern gesehen :)
nicht wundern, das ist etwas kreativer Umgang mit Technik, Optimierungen und Aufräumarbeiten sind gern gesehen :)


[http://www.absorb.it/software/opennet/on_firmware/0.4-1/build_on_firmware.sh build_on_firmware.sh]
* Arbeits-Verzeichnis erstellen

WORKDIR=fullpathtowork
mkdir -p /$WORKDIR
WORKDIR=$(pwd)
cd /$WORKDIR
BACKFIRE_REVISION=29861
im Arbeitsverzeichnis sollten zum Schluss zwei Verzeichnisse existieren, backfire und on_firmware
ON_FIRMWARE_VERSION=0.4-1
* backfire besorgen und feeds aktualisieren / installieren
BUILD_LOG="build.log"
svn co svn://svn.openwrt.org/openwrt/branches/backfire
* opennet-firmware, opennet-firmware-env besorgen und luci einbinden
echo "****************************************************************"
git clone git://absorb.it/on_firmware
echo "* opennet firmware build script *"
git clone git://absorb.it/on_firmware_env
echo "* - requires a network connection *"
cd /$WORKDIR/on_firmare/
echo "* - requires around 14GByte of free space in current path *"
git checkout 0.3-10 # wenn nicht die trunk-version compiliert werden soll
echo "* - takes around 4hours to build (on IntelCore2 Duo @ 2.53GHz) *"
git submodule update --init
echo "****************************************************************"
* vorbereiten
echo
cd /$WORKDIR/backfire
rm -rf $WORKDIR/$BUILD_LOG
# backfire was used in revision BACKFIRE_REVISION
echo "checking out backfire revision $BACKFIRE_REVISION"
svn co svn://svn.openwrt.org/openwrt/branches/backfire@$BACKFIRE_REVISION >>$WORKDIR/$BUILD_LOG
echo "checking out opennet firmware"
git clone git://absorb.it/on_firmware >>$WORKDIR/$BUILD_LOG
echo "checking out opennet firmware environments"
git clone git://absorb.it/on_firmware_env >>$WORKDIR/$BUILD_LOG
cd $WORKDIR/on_firmware/
echo "switching to opennet firmware version $ON_FIRMWARE_VERSION"
git checkout $ON_FIRMWARE_VERSION 2>/dev/null >>$WORKDIR/$BUILD_LOG
echo "checking out luci"
git submodule update --init >>$WORKDIR/$BUILD_LOG
cd $WORKDIR/on_firmware_env/
for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master`; do
git branch --track ${branch##*/} $branch 2>/dev/null
done
cd $WORKDIR/backfire
rm -rf env
rm -rf env
ln -s ../on_firmware_env ./env
ln -s ../on_firmware_env ./env
echo "updating feeds"
./scripts/feeds update
scripts/feeds install openvpn olsrd luci tcpdump mtr ntpclient strace
./scripts/feeds update >>$WORKDIR/$BUILD_LOG
echo "installing feeds"
scripts/feeds install openvpn olsrd luci tcpdump mtr ntpclient strace tinc sqlite3-cli dhcp-forwarder ifstat wifidog >>$WORKDIR/$BUILD_LOG
cd package
cd package
ln -s ../../on_firmware/contrib/package/opennet .
ln -s ../../on_firmware/contrib/package/opennet .
cd /$WORKDIR/on_firmware/git_luci/po/en/
cd $WORKDIR/on_firmware/git_luci/po/en/
find ../../../po/en/ -name "*po" -exec ln -s {} . \;
find ../../../po/en/ -name "*po" -exec ln -s {} . \;
cd /$WORKDIR/on_firmware/git_luci/po/de/
cd $WORKDIR/on_firmware/git_luci/po/de/
find ../../../po/de/ -name "*po" -exec ln -s {} . \;
find ../../../po/de/ -name "*po" -exec ln -s {} . \;
echo -e "\npatching openwrt for opennet requirements"
* Anpassungen:
cd $WORKDIR/backfire
Upgrade des DHCP-Forwarders auf Version 0.9 (nötig für wifidog)
patch -p1 < $WORKDIR/on_firmware/openwrt_modifications.patch
vi /$WORKDIR/backfire/feeds/packages/net/dhcp-forwarder/Makefile
echo
(PKG_VERSION:=0.9, PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz, PKG_MD5SUM:=63630db269ac17523ad085b67277b1c3)
echo "starting openwrt build, this might take a good while"
./scripts/env revert
OpenVPN mit MTU-check bauen
make_all () {
vi /$WORKDIR/backfire/feeds/packages/net/openvpn/Makefile
./scripts/env switch $1
--enable-small entfernen
make
}
# change here if you only like to build the firmware for a specific platform
make_all on_ar71xx # Ubiquity Hardware
make_all on_bcm43xx # Broadcom like Linksys WRT54G (probably too small)
make_all on_ixp4xx # Avila devices
make_all on_tl-wr1043nd # TP-Link TL-WR1034D
make_all on_x86 # WRAP / Alix / virtual x86 machine
cd $WORKDIR
ln -s $WORKDIR/backfire/bin firmware-$ON_FIRMWARE_VERSION
OLSR auf 0.6.2 aktualisieren und ondataservice-plugin einbinden
$WORKDIR/backfire/feeds/packages/net/olsrd entfernen
http://absorb.it/software/opennet/ondataservice/olsrd_0.6.2.tgz nach $WORKDIR/backfire/feeds/packages/net/ entpacken
* bauen
cd /$WORKDIR/backfire
./scripts/env list # platformen anzeigen
./scripts/env switch on_ixp4xx # platform auswählen
make # bauen

[[Kategorie:Firmware]]
[[Kategorie:Firmware]]
[[Kategorie:Anleitungen]]
[[Kategorie:Anleitungen]]

Version vom 23. Januar 2012, 08:36 Uhr

Hinweise zur Konfiguration finden sich unter Opennet_Firmware_NG_Konfiguration

Team

Opennet Firmware NG
Treffen:
Pflege und Weiterentwicklung der Firmware für Opennet Accesspoints
Mitglieder:
Rene E., Christoph K.
Kontakt:
Admin Mailingliste


Vorbemerkungen

Die aktuelle Opennet-Firmware (seit 2010) basiert auf OpenWrt backfire 10.04. Dabei wurden Funktionen und Lösungen der letzten - seit nun etwa drei Jahren im Opennet stabil laufenden - Firmware übernommen (siehe Opennet Firmware).

bisherige Features

  • Opennet-Webinterface
  • AP-Verwaltung
  • OpenVPN-Unterstützung
  • Usergateway-Funktion inkl. Forward
  • Portforwarding
  • Wifidog
  • OLSRD 0.6.2 mit ondataservice-plugin

Fehler / Feature-Requests

schau einfach die offenen Tickets an, oder mach selbst eins auf.

Download / Installation

Das aktuelle Release 0.4-1 vom 23. Januar 2012 findet sich unter http://www.absorb.it/software/opennet/on_firmware/0.4-1

Hinweise zur Erstinstallation von OpenWRT (und damit auch von dieser Firmware) finden sich bspw. auf der Seite von http://wiki.openwrt.org/toh/start

Update über Webinterface

Ein Update von einer bisherigen OpenWrt- bzw. Opennnet-Firmware kann je nach Hardware über das Webinterface erfolgen. Es wird empfohlen, die bestehende Konfiguration beim upgrade zu löschen, da nur so eine neue, passende Konfiguration für die neue Firmware gebaut werden kann. Der Access-Point ist dann im LAN über 172.16.0.1 (inkl. DHCP-Server) und im Opennet-WLAN über 192.168.33.127 zu erreichen.

Ein Update unter Beibehaltung der Konfiguration wird bis zur Opennet-Firmware NG 0.3-6 nicht empfohlen.

Update über Terminal

Sonderfall für Avila / Intel IXP4xx. Da die Software für ein upgrade erst ab Version 0.4-1 zur Verfügung steht, müssen zwei Dateien vor dem update per Hand auf den Avila kopiert werden. Ausserdem muss das Image nach /tmp kopiert werden.

Download

Was Woher Wohin auf dem Avila
combiniertes Image openwrt-ixp4xx-generic-avila-combined-squashfs.img /tmp
mtd-Programm mtd /usr/sbin/
upgrade-script platform.sh /lib/upgrade/

Update (noch nicht wirklich viel getestet, aber sollte gehen)

# cd /tmp
# sysupgrade -v openwrt-ixp4xx-generic-avila-combined-squashfs.img

Danach startet der AP neu und hat im LAN DHCP mit Adresse 172.16.0.1/24, die WLAN-Karten sind auf Opennet konfiguriert (adhoc-olsr) und erreichbar unter 192.168.33.127 (die zweite Karte unter 192.168.43.127, die dritte unter 192.168.53.127 und so weiter)

Eigenbau

nicht wundern, das ist etwas kreativer Umgang mit Technik, Optimierungen und Aufräumarbeiten sind gern gesehen :)

build_on_firmware.sh

WORKDIR=$(pwd)

BACKFIRE_REVISION=29861
ON_FIRMWARE_VERSION=0.4-1
BUILD_LOG="build.log"

echo "****************************************************************"
echo "* opennet firmware build script                                *"
echo "* - requires a network connection                              *"
echo "* - requires around 14GByte of free space in current path      *"
echo "* - takes around 4hours to build (on IntelCore2 Duo @ 2.53GHz) *"
echo "****************************************************************"
echo

rm -rf $WORKDIR/$BUILD_LOG

# backfire was used in revision BACKFIRE_REVISION
echo "checking out backfire revision $BACKFIRE_REVISION"
svn co svn://svn.openwrt.org/openwrt/branches/backfire@$BACKFIRE_REVISION >>$WORKDIR/$BUILD_LOG
echo "checking out opennet firmware"
git clone git://absorb.it/on_firmware    >>$WORKDIR/$BUILD_LOG
echo "checking out opennet firmware environments"
git clone git://absorb.it/on_firmware_env    >>$WORKDIR/$BUILD_LOG
cd $WORKDIR/on_firmware/
echo "switching to opennet firmware version $ON_FIRMWARE_VERSION"
git checkout $ON_FIRMWARE_VERSION    2>/dev/null >>$WORKDIR/$BUILD_LOG
echo "checking out luci"
git submodule update --init  >>$WORKDIR/$BUILD_LOG
cd $WORKDIR/on_firmware_env/
for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master`; do
  git branch --track ${branch##*/} $branch 2>/dev/null
done

cd $WORKDIR/backfire
rm -rf env
ln -s ../on_firmware_env ./env
echo "updating feeds"
./scripts/feeds update   >>$WORKDIR/$BUILD_LOG
echo "installing feeds"
scripts/feeds install openvpn olsrd luci tcpdump mtr ntpclient strace tinc sqlite3-cli dhcp-forwarder ifstat wifidog  >>$WORKDIR/$BUILD_LOG

cd package
ln -s ../../on_firmware/contrib/package/opennet .
cd $WORKDIR/on_firmware/git_luci/po/en/
find ../../../po/en/ -name "*po" -exec ln -s {} . \;
cd $WORKDIR/on_firmware/git_luci/po/de/
find ../../../po/de/ -name "*po" -exec ln -s {} . \;
echo -e "\npatching openwrt for opennet requirements"
cd $WORKDIR/backfire
patch -p1 < $WORKDIR/on_firmware/openwrt_modifications.patch
echo
echo "starting openwrt build, this might take a good while"

./scripts/env revert
make_all () {
  ./scripts/env switch $1
  make
}

# change here if you only like to build the firmware for a specific platform
make_all on_ar71xx          # Ubiquity Hardware
make_all on_bcm43xx         # Broadcom like Linksys WRT54G (probably too small)
make_all on_ixp4xx          # Avila devices
make_all on_tl-wr1043nd     # TP-Link TL-WR1034D
make_all on_x86             # WRAP / Alix / virtual x86 machine

cd $WORKDIR
ln -s $WORKDIR/backfire/bin firmware-$ON_FIRMWARE_VERSION