|
|
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 === |
| + | |
| + | 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) |
| | | |
| === OpenWrt Installation === | | === OpenWrt Installation === |
Zeile 7: |
Zeile 17: |
| Opennet-Repository für vorkompiliertes Images und Pakete: http://www.opennet-initiative.de/firmware/kamikaze/ | | Opennet-Repository für vorkompiliertes Images und Pakete: http://www.opennet-initiative.de/firmware/kamikaze/ |
| | | |
− | ==== Kurzanleitung Image bauen ====
| + | Details zum Bauen siehe [[OpenWrt Kamikaze]]. |
− | * OpenWrt Kamikaze Quellen via ''svn'' besorgen, siehe http://dev.openwrt.org
| + | |
− | * ggf. Opennet-kompatibles Makefile von http://www.opennet-initiative.de/firmware/kamikaze/.config übernehmen
| + | |
− | * eigene Dateien für das Image ggf. nach ''trunk/files'' ablegen
| + | |
− | * ''make menuconfig'' -- x86 Plattform, alle weiteren Einstellungen nach Bedarf
| + | |
− | * ''make'' -- OpenWrt Images bauen, sind dann in ''bin/'' zu finden
| + | |
− | * ''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)
| + | |
− | * Hinweis Booten, bei DMA-Problemen via Grub noch ''ide=nodma'' als Bootoption hinzufügen (ggf. bei menuconfig fest vorgeben: Target Images > Extra kernel boot options)
| + | |
− | | + | |
− | ==== Hinweise zum Dateisystem ====
| + | |
− | * *.image-Dateien sind komplette Festplatten-Images incl. Partitionstabelle und MBR mit GRUB
| + | |
− | * *.fs-Dateien sind reine Partitionsimages
| + | |
− | * Wahl zwischen Squashfs+Jffs2 (mit mini_fo Overlay), nur Jffs2 oder Ext2 als Root-Dateisystem
| + | |
− | * 1024 Zylinergrenze beachten, sonst LBA notwendig, ideal -> Partition < 490 MB
| + | |
− | * Jffs2 ist zu bevorzugen, weil journaling und stabiler bei Stromverlust
| + | |
− | | + | |
− | ==== Grundkonfiguration ====
| + | |
− | | + | |
− | Mit Opennet Kamikaze Firmware Image:
| + | |
− | * Passwort mit ''passwd' setzen; ggf. ''/etc/dropbear/authorized_keys'' mit Public-Key versorgen
| + | |
− | * Autostart-Dienste mit ''/etc/init.d/<dienst> enable|disable'' einrichten (z.B. olsrd)
| + | |
− | * Netzwerk in ''/etc/config/network'' konfigurieren
| + | |
− | * Drahtloses Schnittstellen in ''/etc/config/wireless'' konfigurieren
| + | |
− | * WRAP neu starten
| + | |
− | | + | |
− | Siehe auch http://wiki.openwrt.org/OpenWrtDocs/KamikazeConfiguration
| + | |
− | | + | |
− | === OpenWrt Pakete ===
| + | |
− | | + | |
− | ==== Kurzanleitung Pakete bauen ====
| + | |
− | | + | |
− | Eine erste kurze Anleitung, um auf das vielfälltige OpenWrt Paketarchiv zuzugreifen und darauf iPK Pakete zu erstellen.
| + | |
− | | + | |
− | * Sourcen auschecken (liegen dann in openwrt/packages/):
| + | |
− | cd openwrt/
| + | |
− | svn co https://svn.openwrt.org/openwrt/packages
| + | |
− | * Libaries in OpenWrt-Trunk-Baum einbinden (liegt unter openwrt/)
| + | |
− | cd ../trunk/package
| + | |
− | ln -s ../../packages/libs/* .
| + | |
− | * gewünsches Paket einbinden
| + | |
− | ln -s ../packages/<bereich>/<packet> .
| + | |
− | cd .
| + | |
− | | + | |
− | Anschliessend wie gehabt per ''make menuconfig'' das Paket auswählen, "M" drücken (Paket erstellen) und anschliessend OpenWrt mit ''make'' bauen. Die erstellen Pakete werden nach ''bin/packages/'' abgelegt und automatisch in den Index ''bin/packages/Packages'' hinzugefügt.
| + | |
− | | + | |
− | ==== madwifi mit Ad-Hoc Device ====
| + | |
− | | + | |
− | * iPK Paket ''kmod-madwifi'' installieren
| + | |
− | * Wireless-Konfigurationdatei unter ''/etc/config/wireless'' bearbeiten, z.B.:
| + | |
− | config wifi-device wifi0
| + | |
− | option type atheros
| + | |
− | option channel 50
| + | |
− | config wifi-iface
| + | |
− | option device wifi0
| + | |
− | option mode "ad-hoc"
| + | |
− | option ssid "olsr-a.opennet-initiative.de"
| + | |
− | config wifi-device wifi1
| + | |
− | option type atheros
| + | |
− | option channel 50
| + | |
− | config wifi-iface
| + | |
− | option device wifi1
| + | |
− | option mode "ad-hoc"
| + | |
− | option ssid "olsr-a.opennet-initiative.de"
| + | |
− | * IP-Konfiguration in ''/etc/config/network'' anfügen:
| + | |
− | config interface wifi0
| + | |
− | option ifname ath0
| + | |
− | option proto static
| + | |
− | option ipaddr 192.168.33.27
| + | |
− | option netmask 255.255.0.0
| + | |
− | config interface wifi1
| + | |
− | option ifname ath1
| + | |
− | option proto static
| + | |
− | option ipaddr 192.168.33.27
| + | |
− | option netmask 255.255.0.0
| + | |
− | * WRAP neu starten
| + | |
− | | + | |
− | Siehe auch http://madwifi.org/wiki/UserDocs/FirstTimeHowTo
| + | |
− | | + | |
− | ==== ntpclient zur Zeitsyncronisation ====
| + | |
− | | + | |
− | * iPK Paket ''ntpclient'' installieren
| + | |
− | * 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''
| + | |
− | | + | |
− | ==== monit zur Diensteüberwachung ====
| + | |
− | | + | |
− | * iPK Paket ''monit'' installieren
| + | |
− | * Konfigurationsdatei bearbeiten, zur Überwachung von olsrd z.B.
| + | |
− | set daemon 120
| + | |
− | set logfile syslog facility log_daemon
| + | |
− | set httpd port 2812 # and
| + | |
− | allow localhost # allow localhost to connect to the server and
| + | |
− | allow 192.168.0.0/16
| + | |
− | check process olsrd
| + | |
− | with pidfile "/var/run/olsrd.pid"
| + | |
− | start program = "/etc/init.d/olsrd start"
| + | |
− | stop program = "/etc/init.d/olsrd stop"
| + | |
− | * hierzu noch die Erstellung eines pid-Files in ''/etc/init.d/olsrd'' ergänzen
| + | |
− | #!/bin/sh /etc/rc.common
| + | |
− | BIN=olsrd
| + | |
− | DEFAULT=/etc/default/olsrd
| + | |
− | RUN_D=/var/run
| + | |
− | PID_F=$RUN_D/$BIN.pid
| + | |
− | start() {
| + | |
− | [ -f $DEFAULT ] && . $DEFAULT
| + | |
− | mkdir -p $RUN_D
| + | |
− | $BIN $OPTIONS
| + | |
− | pidof $BIN > $PID_F
| + | |
− | }
| + | |
− | stop() {
| + | |
− | [ -f $PID_F ] && kill $(cat $PID_F)
| + | |
− | }
| + | |
− | * monit starten per ''/etc/init.d/monit start''
| + | |
− | * Webzugriff per http://<node-ip>:2812/
| + | |
− | | + | |
− | ==== maradns als DNS-Server ====
| + | |
− | | + | |
− | * iPK Paket ''maradns'' installieren
| + | |
− | * Konfigurationsdatei ''/etc/mararc'' bearbeiten und z.B. für rekursive Namensauflösung über zwei Upstream-Server konfigurieren:
| + | |
− | hide_disclaimer="YES"
| + | |
− | chroot_dir="/etc/maradns"
| + | |
− | bind_address="172.0.0.1""
| + | |
− | maradns_uid=65534
| + | |
− | maxprocs=10
| + | |
− | random_seed_file="/dev/urandom"
| + | |
− | recursive_acl="127.0.0.1/8"
| + | |
− | upstream_servers = {}
| + | |
− | upstream_servers["."] = "192.168.0.250, 192.168.0.254"
| + | |
− | verbose_level=3
| + | |
− | verbose_query=1
| + | |
− | * maradns starte per ''/etc/init.d/maradns start'', dauerhaft per ''maradns enable''
| + | |
− | * Anfragen per ''askmara'' oder wie üblich ''nslookup'' & Co.
| + | |
− | | + | |
− | === OpenWrt Imagebuilder ===
| + | |
− | | + | |
− | Mit Hilfe des Imagebuilders lassen sich komplette Images aus bereits kompilierten Paketen recht einfach zusammenstellen.
| + | |
− | | + | |
− | Doku siehe http://wiki.openwrt.org/ImageBuilderHowTo.
| + | |
Es existieren verschiedene Versionen. Wir setzen vor allem das WRAP 2e ein:
Auf diesem x86-basiertem Board läuft neben zahlreichen Debian/GNU-Linux Deviraten auch OpenWrt Kamikaze, dem aktuellen Entwicklungszweig von http://openwrt.org.