TableOfContents


Die folgende Doku beschreibt die Installation der Distribution openwrt auf einem Linksys-WRT54G.

der leichte Weg

Vorbereitung

Programme auf dem Host installieren

Unter [http://debian.org debian] genügt: apt-get install tftp telnet

Falls du das Image selbst bauen willst, dann brauchst du noch ein paar mehr Pakete, unter anderem:

gcc binutils patch bzip2 flex bison make gettext unzip zlib1g-dev libc6-dev

boot_wait aktivieren

Die einfache Methode, ein neues Image hochzuladen, ist per tftp während des Bootvorgangs.

Dafür musst du das boot_wait-Flag des Routers aktivieren. DAS IST SEHR WICHTIG!

(Infos: http://openwrt.org/OpenWrtDocs/Installing#head-76921c79e7c7ed3b03d3bc9a40b1a2c792c215b0)

Folgendes Kommando nutzt einen Bug des Linksys-APs aus, um das boot_wait-Flag zu setzen, während er noch die originales Firmware enthält:

for PING_IP in '%3Btrue' '%3Bcp%24%7BIFS%7D*%2F*%2Fnvram%24%7BIFS%7D%2Ftmp%2Fn' '%3B*%2Fn%24%7BIFS%7Dset%24%7BIFS%7Dboot_wait%3Don' '%3B*%2Fn%24%7BIFS%7Dcommit' '%3B%2Fsbin%2Freboot'
#for PING_IP in '%3B%2F*%2Fcp%24%7BIFS%7D%2F*%2F*%2Fnv*%24%7BIFS%7D%2Ftmp%2Fn' '%3B%2F*%2Fn%24%7BIFS%7Dset%24%7BIFS%7Dboot_wait%3Don' '%3B%2F*%2Fn%24%7BIFS%7Dcommit' # '%3B%2Fsbin%2Freboot'
                        do
                        POST_DATA='submit_button=Ping&submit_type=start&action=Apply&change_action=gozila_cgi&ping_ip='"$PING_IP"'&ping_times=5'
    #echo "Aktion: $PING_IP"
    #echo -e "$POST_DATA\n---" | lynx -auth=admin:admin -post_data http://192.168.1.1/apply.cgi > /dev/null
                        wget -q -O /dev/null --http-user=admin --http-passwd=admin --post-data="$POST_DATA" http://192.168.1.1/apply.cgi
                        [ $? != 0 ] && {
                                        echo -e '\nFehler beim Aktivieren von boot_wait!'
                                        exit 1
                        }
                        echo -n "."
                done 

Vorher musst du dem WAN-Interface eine IP-Adresse geben.

Das Original-Skript zum setzen des boot_wait-Flags findest du unter: http://aachen.uni-dsl.de/download/wrt/Releases/rev90/buildroot-rev90/takeover

ROM-Image

Entweder installierst du ein fertiges Image - das geht schön schnell.

Oder du baust dir dein eigenes: dauert zwei Stunden länger und ist flexibler.

fertiges Image verwenden

Unter http://openwrt.org/downloads/experimental/bin/ liegen fertige Images.

Welches der beiden Dateisysteme (jffs2 oder squashfs) du wählst, ist meines Wissens nach egal. Ich habe jffs2 genommen.

Das Hochladen des Images ist unter http://openwrt.org/GettingStartedTips sehr gut beschrieben.

selberbauen

Das ist ziemlich einfach geworden - also keine Angst :)

Das Quellen-Paket (tar.bz2) liegt unter http://openwrt.org/downloads/experimental/.

  1. auspacken: tar xjf experimental.tar.bz2

  2. konfigurieren: cd openwrt; make menuconfig

Die Voreinstellungen sind schon ziemlich sinnvoll. Falls du Veränderungen vornehmen willst, dann solltest du auf folgende Punkte achten:

Zum Erstellen der Pakete tippe einfach make. Beim ersten Mal werden dabei die Quellen der gewählten Pakete aus dem Netz geholt.

Die fertigen Pakete liegen anschließend unter bin/.

Das Skript zum Hochladen ist scripts/flash.sh:

cd bin; ../scripts/flashs.sh openwrt-wrt54g-jffs2.bin linksys ; cd .. 

Hinweise:

Die genaue Anleitung für den Upload findest du unter: http://openwrt.org/GettingStartedTips.

Spezial-Zeug

PPTP

PPTP ist für mache DSL-Modems erforderlich.

Es ist als Teil des openwrt-Pakets im boot-ROM auswählbar.

mehr Handarbeit

Dieser Abschnitt ist etwas älter (Mitte 02004) - damals war noch etwas mehr Handarbeit erforderlich. Also es ist wahrscheinlich nur noch als Referenz für spezielle Probleme geeignet.

BEWARE: selbst nochmal die docs lesen, sonst ist das Teil schnell Schrott!

Ich habs selbst geschafft, als ich versucht hab, das Ganze auf ppc zu compilen -> siehe naechsten Ansatz.

auf dem host

compilieren

installieren

Administration

kismet

config-Beispiele

allgemeine URLS

misc


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.