Opennet Firmware NG: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(release 0.3-10)
(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 ===
Zum Beispiel für Avila / Intel IXP4xx
+
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'''  
 
'''Download'''  
{|  {{prettytable}}  
+
{|  {{prettytable}}
|kernel-image
+
!Was
|[http://www.absorb.it/software/opennet/on_firmware/0.3-10/ixp4xx/openwrt-avila-zImage openwrt-avila-zImage]
+
!Woher
 +
!Wohin auf dem Avila
 
|-
 
|-
|rootfs-image
+
|combiniertes 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'''
* per "dmesg" die Bezeichnungen der kernel- und der rootfs-Partition herausfinden/prüfen:
+
(noch nicht wirklich viel getestet, aber sollte gehen)
  root@APXX:~# dmesg
+
  # cd /tmp
...
+
  # 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 :)
  
* Arbeits-Verzeichnis erstellen
+
[http://www.absorb.it/software/opennet/on_firmware/0.4-1/build_on_firmware.sh build_on_firmware.sh]
  WORKDIR=fullpathtowork
+
 
  mkdir -p /$WORKDIR
+
  WORKDIR=$(pwd)
  cd /$WORKDIR
+
   
im Arbeitsverzeichnis sollten zum Schluss zwei Verzeichnisse existieren, backfire und on_firmware
+
BACKFIRE_REVISION=29861
* backfire besorgen und feeds aktualisieren / installieren
+
ON_FIRMWARE_VERSION=0.4-1
  svn co svn://svn.openwrt.org/openwrt/branches/backfire
+
  BUILD_LOG="build.log"
* opennet-firmware, opennet-firmware-env besorgen und luci einbinden
+
  git clone git://absorb.it/on_firmware
+
echo "****************************************************************"
  git clone git://absorb.it/on_firmware_env
+
echo "* opennet firmware build script                                *"
  cd /$WORKDIR/on_firmare/
+
echo "* - requires a network connection                              *"
  git checkout 0.3-10                  # wenn nicht die trunk-version compiliert werden soll
+
echo "* - requires around 14GByte of free space in current path      *"
  git submodule update --init
+
echo "* - takes around 4hours to build (on IntelCore2 Duo @ 2.53GHz) *"
* vorbereiten
+
echo "****************************************************************"
  cd /$WORKDIR/backfire
+
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
 
  rm -rf env
 
  ln -s ../on_firmware_env ./env
 
  ln -s ../on_firmware_env ./env
  ./scripts/feeds update
+
echo "updating feeds"
  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 {} . \;
* Anpassungen:
+
  echo -e "\npatching openwrt for opennet requirements"
  Upgrade des DHCP-Forwarders auf Version 0.9 (nötig für wifidog)
+
  cd $WORKDIR/backfire
  vi /$WORKDIR/backfire/feeds/packages/net/dhcp-forwarder/Makefile
+
  patch -p1 < $WORKDIR/on_firmware/openwrt_modifications.patch
  (PKG_VERSION:=0.9, PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz, PKG_MD5SUM:=63630db269ac17523ad085b67277b1c3)
+
echo
 +
echo "starting openwrt build, this might take a good while"
 
   
 
   
  OpenVPN mit MTU-check bauen
+
  ./scripts/env revert
  vi /$WORKDIR/backfire/feeds/packages/net/openvpn/Makefile
+
make_all () {
--enable-small entfernen
+
  ./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
 
   
 
   
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, 10:36 Uhr

Hinweise zur Konfiguration finden sich unter Opennet_Firmware_NG_Konfiguration

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


Inhaltsverzeichnis

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
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge