WRAP: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(WRAP Gehaeuse verlinkt)
(aktualisiert auf neue release 7.07)
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
  
== Hardware ==
+
== Überblick ==
 +
=== Hardware ===
  
 
Es existieren verschiedene Versionen. Wir setzen vor allem das WRAP 2e ein:
 
Es existieren verschiedene Versionen. Wir setzen vor allem das WRAP 2e ein:
Zeile 13: Zeile 14:
 
WRAP-Gehäuse: [[Bauanleitungen#Umbau_WRAP_Box_N-Buchse]] (preiswert) od. [[Meshnode]] (professionell)
 
WRAP-Gehäuse: [[Bauanleitungen#Umbau_WRAP_Box_N-Buchse]] (preiswert) od. [[Meshnode]] (professionell)
  
== OpenWrt ==
+
=== 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.  
  
Hier eine aktuellere, mittlerweise stark angepasste Version von OpenWrt (r7275):
+
== Opennet x86 WRAP Firmware Anpassung, OpenWrt Kamikaze 7.07 ==
 
+
=== Opennet x86 WRAP Firmware Anpassung ===
+
 
* da es einige Probleme mit nicht reagierenden WRAPs gab, wurde im aktuellen Image der hardware-watchdog aktiviert.
 
* 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.
 
* 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.
 
* 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.
* die images (boot und system) sind nun zweifach auf den CF-Karten vorhanden. /dev/hda1 und /dev/hda3 sind boot, /dev/hda2 und /dev/hda4 sind system images. standardmässig aktiv ist boot-partition /dev/hda1 und system partition /dev/hda2, ein Wechsel auf die spare-Partitionen ermöglicht das überschreiben der Arbeitspartitionen - ein remote-flash ist damit recht einfach ([http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/double_image.patch Double-Image Patch]). Zusätzliche scripte:
+
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)
 
** 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-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.
 
** grub-switch-active-system: Wechselt das aktuelle System (vom Arbeitssystem zum Ersatzsystem oder zurück). Nach dem Aufruf muss der WRAP neu gestartet werden.
** '''WICHTIG:''' bei einem reboot kann das filesystem beschädigt werden. erst syncen/unmounten oder ein [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/reboot_safe entsprechendes script] nutzen.
+
** 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
  
=== Download vorcompiliertes Image ===
+
== Downloads ==
* http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/bin/openwrt-x86-2.6-ext2.image
+
* [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/
  
=== (oder Image-Erstellung) ===
+
=== Aktualisierung eines bestehenden Systems ===
* aktuellen [http://downloads.openwrt.org/snapshots/x86-2.6/OpenWrt-ImageBuilder-x86-2.6-for-Linux-i686.tar.bz2 Kamikaze-ImageBuilder] herunterladen und entpacken.
+
* (Partitionen /dev/hda3 mit >=4MB und /dev/hda4 mit >=16MB erstellen, wenn nicht vorhanden)
* Anpassungen (http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/files.tgz) herunterladen und im ImageBuider-Verzeichnis entpacken.
+
* [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
* ImageBuilder mit [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/double_image.patch Double-Imagepatch] patchen
+
* [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
* [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/packages/grub_0.97-1_i386.ipk Paket grub], [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/packages/diffutils_2.8.1-1_i386.ipk Paket diffutils] und den aktuellen madwifi (bspw. [http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/r7275/packages/kmod-madwifi_2.6.19.2+r2351-20070519-x86-1_i386.ipk hier] ins Verzeichnis packages laden
+
* install_new_system aufrufen
* 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.
+
** 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.
make image PACKAGES="haserl ip kmod-madwifi kmod-natsemi libopenssl libpthread ntpclient olsrd
+
* 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.
olsrd-mod-httpinfo olsrd-mod-nameservice openssl-util webif webif-lang-de webif-theme-xwrt
+
* WRAP neu starten
webif-theme-zephyr wireless-tools zlib tcpdump iptables-mod-extra kmod-ipt-extra kmod-scx200-wdt
+
kmod-scx 200-gpio kmod-nsc-gpio openssh-server e2fsprogs fdisk grub diffutils" FILES=files/ V=99
+
  
=== Image auf CF-Karte schreiben ===
+
=== Erstinstallation eines WRAP ===
* z.B. ''dd if=<openwrt-x86-?-?.image> of=<ziel-device> bs=512k'' -- Festplattenimage auf die CompactFlash-Karte schreiben (am besten über einen Cardreader, <ziel-device> ist der Cardreader-Devicenode)
+
* [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)
=== notwendige Konfigurationen ===
+
 
* /etc/config/network /etc/config/wireless müssen angepasst werden, default IP ist 192.168.33.42 im opennet-olsr
 
* /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)
 +
 +
== Image-Erstellung ==
 +
* 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.
 +
* Anpassungen (http://www.opennet-initiative.de/firmware/kamikaze/kamikaze-x86-rene/7.07/files.tgz) herunterladen und im ImageBuider-Verzeichnis entpacken.
 +
* [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
 +
* 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
 +
 +
== 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.

Version vom 16. August 2007, 23:00 Uhr

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

Inhaltsverzeichnis

Ü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.

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

Downloads

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

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)

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

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

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge