Zum Inhalt springen

WRAP: Unterschied zwischen den Versionen

Aus Opennet
Inhalt gelöscht Inhalt hinzugefügt
MathiasMahnke (Diskussion | Beiträge)
WRAP Gehaeuse verlinkt
Ap46rene (Diskussion | Beiträge)
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.


⚫
== Opennet x86 WRAP Firmware Anpassung, OpenWrt Kamikaze 7.07 ==
Hier eine aktuellere, mittlerweise stark angepasste Version von OpenWrt (r7275):

⚫
=== 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.
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.
* 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:
** 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.
** install_new_system: erwartet ein neues kernel (boot) und ein neues filessystem Image in /tmp und installiert dieses auf den unbenutzten Partitionen.
** '''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.
** 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 ==
=== Download vorcompiliertes Image ===
* 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/


=== Aktualisierung eines bestehenden Systems ===
⚫
=== (oder Image-Erstellung) ===
* (Partitionen /dev/hda3 mit >=4MB und /dev/hda4 mit >=16MB erstellen, wenn nicht vorhanden)
⚫
* aktuellen [http://downloads.openwrt.org/snapshots/x86-2.6/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/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
* install_new_system aufrufen
⚫
* [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
* 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.
* 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.
⚫
make image PACKAGES="haserl ip kmod-madwifi kmod-natsemi libopenssl libpthread ntpclient olsrd
* WRAP neu starten
⚫
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-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, 21:00 Uhr

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

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