WRAP: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(= ntpclient Zeitsyncronistion)
(Meshnode: cat)
 
(42 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
x86 Wireless Router Application Platform Boards, siehe http://www.pcengines.ch/wrap.htm
 
x86 Wireless Router Application Platform Boards, siehe http://www.pcengines.ch/wrap.htm
  
=== OpenWrt Installation ===
+
== Überblick ==
 +
=== Hardware ===
 +
 
 +
Es existieren verschiedene Versionen. Wir setzen vor allem das WRAP 2e ein:
 +
* 233 MHz Geode SC1100 CPU
 +
* 64 oder 128 MB RAM
 +
* Compact Flash Interface
 +
* 2x Mini-PCI Schnittstelle (z.B. zwei Wifi-Karten)
 +
* 1x drahtgebundene Ethernet Schnittstelle mit PoE
 +
* Serieller Anschluss (Console)
 +
 
 +
WRAP-Gehäuse: [[Bauanleitungen#Umbau_WRAP_Box_N-Buchse]] (preiswert) od. [[Meshnode]] (professionell)
 +
 
 +
=== OpenWrt ===
  
 
Auf diesem x86-basiertem Board läuft neben zahlreichen Debian/GNU-Linux Deviraten auch OpenWrt Kamikaze, dem aktuellen Entwicklungszweig von http://openwrt.org.  
 
Auf diesem x86-basiertem Board läuft neben zahlreichen Debian/GNU-Linux Deviraten auch OpenWrt Kamikaze, dem aktuellen Entwicklungszweig von http://openwrt.org.  
  
==== Kurzanleitung ====
+
== Opennet x86 WRAP Firmware Anpassung, OpenWrt Kamikaze 7.07 ==
* OpenWrt Kamikaze Quellen via ''svn'' besorgen, siehe http://dev.openwrt.org
+
* da es einige Probleme mit nicht reagierenden WRAPs gab, wurde im aktuellen Image der hardware-watchdog aktiviert.
* ''make menuconfig'' -- x86 Plattform, alle weiteren Einstellungen nach Bedarf
+
* die Systemzeit wird nun opennet-spezifisch mit unseren Gateways synchronisiert, reboots werden im Start-Banner vermerkt so dass watchdog-reboots nachvollzogen werden können.
* ''make'' -- OpenWrt Images bauen, sind dann in ''bin/'' zu finden
+
* als default ssh-deamon läuft nun openssh auf Port 22, dropbear läuft auf Port 10022, in der Hoffnung, dass bei auftretenden Problemen wenigstens einer erreichbar bleibt.
* ''dd if=<openwrt-x86-?-?.image> of=<ziel-device>'' -- Festplattenimage auf die CompactFlash-Karte schreiben (am besten über einen Cardreader, <ziel-device> ist der Cardreader-Devicenode)
+
aktuelle WRAP-Systeme im Opennet haben 4 ext2fs Partitionen, zwei boot- (hda1 / hda3, je 4MB) und zwei root- (hda2 / hda4, je 16MB) Partitionen. Dies erlaubt ein remote update im laufenden Betrieb, indem die jeweils anderen Partitionen mit dem neuen System überschrieben werden. Die folgenden scripte setzen entsprechend konfigurierte Partitionen voraus.
* Booten, bei DMA-Problemen via Grub noch ''ide=nodma'' als Bootoption hinzufügen (ggf. bei menuconfig fest vorgeben: Target Images > Extra kernel boot options)
+
** sync_spare_partition_config: Synchronisiert Netzwerkeinstellungen, Passwort und host-keys vom Ersatz-System mit dem Arbeitssystem (oder umgekehrt, Quelle ist jeweils das aktuell aktive System)
* Konfiguration vornehmen, vgl. http://wiki.openwrt.org/OpenWrtDocs/KamikazeConfiguration
+
** grub-install-wrap: schreibt den Boot-Loader neu, Parameter erlauben die Auswahl zwischen normaler oder zusätzlicher Boot-Partition.
* Fertig!
+
** grub-switch-active-system: Wechselt das aktuelle System (vom Arbeitssystem zum Ersatzsystem oder zurück). Nach dem Aufruf muss der WRAP neu gestartet werden.
 +
** install_new_system: erwartet ein neues kernel (boot) und ein neues filessystem Image in /tmp und installiert dieses auf den unbenutzten Partitionen.
 +
** clean_restart_log: Startzeiten werden beim login angezeigt. Mit diesem Script werden aufgezeichnete Startzeiten aus dem log entfernt.
 +
** reboot: ein script ersetzt den vorhandenen reboot-Befehl und sync't die Partition vor einem Neustart
 +
 
 +
== Downloads ==
 +
* [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/bin/openwrt-x86-2.6-ext2.image gesamtes Image], enthält die boot und die root Partition. Nach der Installation müssen mit fdisk zwei weitere Partitionen angelegt werden, sonst ist ein remote-update oder ein Wechsel zum backup-system nicht möglich.
 +
* [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/bin/openwrt-x86-2.6-ext2.image.kernel boot-] [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/bin/openwrt-x86-2.6-ext2.fs root-] Image für die Installation mit dem 'install_new_system'-script
 +
* weitere Downloads unter http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/
  
==== Hinweise zum Dateisystem ====
+
=== Aktualisierung eines bestehenden Systems ===
* *.image-Dateien sind komplette Festplatten-Images incl. Partitionstabelle und MBR mit GRUB
+
* (Partitionen /dev/hda3 mit >=4MB und /dev/hda4 mit >=16MB erstellen, wenn nicht vorhanden)
* *.fs-Dateien sind reine Partitionsimages
+
* [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/bin/openwrt-x86-2.6-ext2.image.kernel boot-Image] auf den WRAP in /tmp laden
* Wahl zwischen Squashfs+Jffs2 (mit mini_fo Overlay), nur Jffs2 oder Ext2 als Root-Dateisystem; bei größeren CF-Karten ist ext2 statt jffs2 zu empfehlen (1024 Zylinergrenze beachten, sonst LBA notwendig, ideal -> Partition < 490 MB)
+
* [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/bin/openwrt-x86-2.6-ext2.fs root-Image] auf den WRAP in /tmp laden
 +
* install_new_system aufrufen
 +
** wenn das script noch nicht vorhanden ist, [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/install_new_system install_new_system] herunterladen und nach /usr/sbin kopieren.
 +
* Ausgabe des scripts vor einem Neustart prüfen. Wenn Fehler aufgetreten sind und grub dennoch ausgeführt wurde, kann es sein das nach einem reboot ein nicht funktionierendes System gestartet werden soll.
 +
* WRAP neu starten
  
=== OpenWrt Konfiguration ===
+
=== Erstinstallation eines WRAP ===
 +
* [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/bin/openwrt-x86-2.6-ext2.image gesamtes Image] herunterladen und z.B. mit ''dd if=openwrt-x86-2.6-ext2.image of=<ziel-device> bs=512k'' -- Festplattenimage auf die CompactFlash-Karte schreiben (am besten über einen Cardreader, <ziel-device> ist der Cardreader-Devicenode)
 +
* (Karte einbauen, WRAP starten)
 +
* /etc/config/network /etc/config/wireless müssen angepasst werden, default IP ist 192.168.33.42 im opennet-olsr
 +
* mit fdisk zwei neue Partitionen (hda3 4MB, hda4 16MB) anlegen
 +
* (am besten gleich parallel ein weiteres System installieren, ist sinnvoll als Backup-Lösung und für spätere remote-updates. Genau wie bei [[WRAP#Aktualisierung eines bestehenden Systems]] beschrieben vorgehen)
  
==== Grundkonfiguration ====
+
== Image-Erstellung ==
* Passwort mit ''passwd' setzen; ggf. ''/etc/dropbear/authorized_keys'' mit Public-Key versorgen
+
* aktuellen [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/OpenWrt-ImageBuilder-x86-2.6-for-Linux-i686.tar.bz2 Kamikaze-ImageBuilder] herunterladen und entpacken.
* Autostart-Dienste mit ''/etc/init.d/<dienst> enable|disable'' einrichten
+
* Anpassungen (http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/files.tgz) herunterladen und im ImageBuider-Verzeichnis entpacken.
* Drahtgebundenes Netzwerk entspr. http://wiki.openwrt.org/OpenWrtDocs/KamikazeConfiguration in ''/etc/config/network'' konfigurieren
+
* [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/grub_0.97-1_i386.ipk Paket grub], [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/diffutils_2.8.1-1_i386.ipk Paket diffutils] ins Verzeichnis packages laden
* Drahtloses Netzwerk z.B. mit Atheros siehe http://madwifi.org/wiki/UserDocs/FirstTimeHowTo
+
* Image compilieren, dabei darauf achten, dass alle notwendigen Pakete gefunden werden. (Als Paketquelle ist neben http://downloads.openwrt.org/snapshots/x86-2.6/packages/ auch http://downloads.x-wrt.org/xwrt/kamikaze/x86-2.6/packages/ gut geeignet) - [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/make_it.sh hier] gibts das folgende als script.
 +
make image PACKAGES="haserl ip kmod-madwifi kmod-natsemi libopenssl libpthread ntpclient olsrd olsrd-mod-httpinfo
 +
olsrd-mod-nameservice openssl-util webif webif-lang-de webif-theme-xwrt webif-theme-zephyr wireless-tools zlib
 +
tcpdump iptables-mod-extra kmod-ipt-extra kmod-scx200-wdt kmod-scx200-gpio kmod-nsc-gpio openssh-server e2fsprogs
 +
fdisk grub diffutils" FILES=files/ V=99
  
==== madwifi Ad-Hoc Device ====
+
== Problemlösung ==
 +
* '''neues System ist doch nicht so toll''': Wurde das System mit 'install_new_system' installiert, sollte der WRAP noch zwei zusätzliche Partitionen mit einem älteren System enthalten. In dieses System kann durch Aufruf von grub-switch-active-system und einen anschliessenden Neustart gewechselt werden.
  
* iPK Pakete ''kernel'', ''madwifi'' und ''wireless-tools'' installieren
+
== Meshnode ==
* Datei /etc/init.d/madwifi-opennet anlegen (beispielhaft):
+
#!/bin/sh /etc/rc.common
+
START=45
+
boot() {
+
        wlanconfig ath0 create wlandev wifi0 wlanmode adhoc
+
        iwconfig ath0 essid olsr.opennet-initiative.de
+
        iwconfig ath0 channel 40
+
        iwconfig ath0 txpower 10 
+
        ifconfig ath0 192.168.33.27 netmask 255.255.0.0
+
}
+
* diese ausführbar machen per ''chmod +x madwifi-opennet''
+
* als Autostart festlegen durch ''./madwifi-opennet enable''
+
  
===== ntpclient Zeitsyncronistion =====
+
Siehe [[Meshnode]].
  
* iPK Paket ''ntpclient'' installieren
+
[[Kategorie:Access points]]
* Datei /etc/init.d/ntpclient anlegen (beispielhaft):
+
#!/bin/sh /etc/rc.common         
+
START=80
+
ntp=izumi.on
+
boot() {
+
      while true; do
+
            ping -c 1 $ntp >/dev/null 2>&1 && ntpclient -s -c 0 \
+
              -i 5 -g 1000000 -h $ntp && return
+
            sleep 3
+
      done
+
}
+
* diese ausführbar machen per ''chmod +x ntpclient''
+
* als Autostart festlegen durch ''./ntpclient enable''
+

Aktuelle Version vom 16. Juni 2011, 20:58 Uhr

x86 Wireless Router Application Platform Boards, siehe http://www.pcengines.ch/wrap.htm

Inhaltsverzeichnis

[Bearbeiten] Überblick

[Bearbeiten] Hardware

Es existieren verschiedene Versionen. Wir setzen vor allem das WRAP 2e ein:

  • 233 MHz Geode SC1100 CPU
  • 64 oder 128 MB RAM
  • Compact Flash Interface
  • 2x Mini-PCI Schnittstelle (z.B. zwei Wifi-Karten)
  • 1x drahtgebundene Ethernet Schnittstelle mit PoE
  • Serieller Anschluss (Console)

WRAP-Gehäuse: Bauanleitungen#Umbau_WRAP_Box_N-Buchse (preiswert) od. Meshnode (professionell)

[Bearbeiten] OpenWrt

Auf diesem x86-basiertem Board läuft neben zahlreichen Debian/GNU-Linux Deviraten auch OpenWrt Kamikaze, dem aktuellen Entwicklungszweig von http://openwrt.org.

[Bearbeiten] Opennet x86 WRAP Firmware Anpassung, OpenWrt Kamikaze 7.07

  • da es einige Probleme mit nicht reagierenden WRAPs gab, wurde im aktuellen Image der hardware-watchdog aktiviert.
  • die Systemzeit wird nun opennet-spezifisch mit unseren Gateways synchronisiert, reboots werden im Start-Banner vermerkt so dass watchdog-reboots nachvollzogen werden können.
  • als default ssh-deamon läuft nun openssh auf Port 22, dropbear läuft auf Port 10022, in der Hoffnung, dass bei auftretenden Problemen wenigstens einer erreichbar bleibt.

aktuelle WRAP-Systeme im Opennet haben 4 ext2fs Partitionen, zwei boot- (hda1 / hda3, je 4MB) und zwei root- (hda2 / hda4, je 16MB) Partitionen. Dies erlaubt ein remote update im laufenden Betrieb, indem die jeweils anderen Partitionen mit dem neuen System überschrieben werden. Die folgenden scripte setzen entsprechend konfigurierte Partitionen voraus.

    • sync_spare_partition_config: Synchronisiert Netzwerkeinstellungen, Passwort und host-keys vom Ersatz-System mit dem Arbeitssystem (oder umgekehrt, Quelle ist jeweils das aktuell aktive System)
    • grub-install-wrap: schreibt den Boot-Loader neu, Parameter erlauben die Auswahl zwischen normaler oder zusätzlicher Boot-Partition.
    • grub-switch-active-system: Wechselt das aktuelle System (vom Arbeitssystem zum Ersatzsystem oder zurück). Nach dem Aufruf muss der WRAP neu gestartet werden.
    • install_new_system: erwartet ein neues kernel (boot) und ein neues filessystem Image in /tmp und installiert dieses auf den unbenutzten Partitionen.
    • clean_restart_log: Startzeiten werden beim login angezeigt. Mit diesem Script werden aufgezeichnete Startzeiten aus dem log entfernt.
    • reboot: ein script ersetzt den vorhandenen reboot-Befehl und sync't die Partition vor einem Neustart

[Bearbeiten] Downloads

[Bearbeiten] Aktualisierung eines bestehenden Systems

  • (Partitionen /dev/hda3 mit >=4MB und /dev/hda4 mit >=16MB erstellen, wenn nicht vorhanden)
  • boot-Image auf den WRAP in /tmp laden
  • root-Image auf den WRAP in /tmp laden
  • install_new_system aufrufen
    • wenn das script noch nicht vorhanden ist, install_new_system herunterladen und nach /usr/sbin kopieren.
  • Ausgabe des scripts vor einem Neustart prüfen. Wenn Fehler aufgetreten sind und grub dennoch ausgeführt wurde, kann es sein das nach einem reboot ein nicht funktionierendes System gestartet werden soll.
  • WRAP neu starten

[Bearbeiten] Erstinstallation eines WRAP

  • gesamtes Image herunterladen und z.B. mit dd if=openwrt-x86-2.6-ext2.image of=<ziel-device> bs=512k -- Festplattenimage auf die CompactFlash-Karte schreiben (am besten über einen Cardreader, <ziel-device> ist der Cardreader-Devicenode)
  • (Karte einbauen, WRAP starten)
  • /etc/config/network /etc/config/wireless müssen angepasst werden, default IP ist 192.168.33.42 im opennet-olsr
  • mit fdisk zwei neue Partitionen (hda3 4MB, hda4 16MB) anlegen
  • (am besten gleich parallel ein weiteres System installieren, ist sinnvoll als Backup-Lösung und für spätere remote-updates. Genau wie bei WRAP#Aktualisierung eines bestehenden Systems beschrieben vorgehen)

[Bearbeiten] Image-Erstellung

make image PACKAGES="haserl ip kmod-madwifi kmod-natsemi libopenssl libpthread ntpclient olsrd olsrd-mod-httpinfo 
olsrd-mod-nameservice openssl-util webif webif-lang-de webif-theme-xwrt webif-theme-zephyr wireless-tools zlib 
tcpdump iptables-mod-extra kmod-ipt-extra kmod-scx200-wdt kmod-scx200-gpio kmod-nsc-gpio openssh-server e2fsprogs
fdisk grub diffutils" FILES=files/ V=99

[Bearbeiten] Problemlösung

  • neues System ist doch nicht so toll: Wurde das System mit 'install_new_system' installiert, sollte der WRAP noch zwei zusätzliche Partitionen mit einem älteren System enthalten. In dieses System kann durch Aufruf von grub-switch-active-system und einen anschliessenden Neustart gewechselt werden.

[Bearbeiten] Meshnode

Siehe Meshnode.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge