|
|
Mounten der SD Karte ins Root Verzeichniss
Damit wird erreicht, dass der WRT54GL zwar von seinem internen Speicher (gerade mal 4 MB) startet,
ein init Script ausführt, dass ihn die SD Karte als / einbinden lässt und ab dann von dort aus läuft, falls eine
SD Karte mit den erforderlichen Daten eingelet ist. Das hat den Vorteil, dass man weiterhin Packete "ganz normal"
installieren kann ohne das spezielle Installationsverzeichniss immer angeben zu müssen. Das erspart einem viele Nerven,
wenn man Programme, wie z.B. asterisk (ein Telefonanlagenserver) installiert die in den installierten Dateien
die Standard Installationspfade stehen haben. Anderenfalls müsste man die überall von Hand ändern. Ich habe das
bei asterisk versucht habe aber nach einer Stunde verzweifelt aufgegeben und mich entschlossen es mit der hier beschriebenen
Technik zu machen.
Allerdings müsst ihr aufpassen, wenn Ihr mal ohne SD Karte startet. Was Ihr dann installiert ist nicht vorhanden, wenn Ihr
dann wieder mit SD Karte startet und umgekehrt. Das kann natürlich auch Vorteile haben: Wenn mal unerwartet Besuch kommt
könnt ihr die SD Karte abziehen und verschwinden lassen und der WRT54GL scheint dann nur die Grunddaten von OpenWRT
und die dort installierten Programme zu haben.
Ihr könnt euch natürlich auch mehrere SD Karten einrichten. Zum Beispiel für den einfachen Wechsel zwischen
verschiedene VPNs, für den Wechsel zwischen WLAN AccessPoint und Sniffer Modus.
Es gibt da sicher viele gute Ideen.
Vorbereiten der SD Karte
Um die SD Karte mit den dafür wichtige Daten auszustatten, gebt folgendes auf der ssh Komandozeile auf eurem WRT54GL ein:
mkdir /tmp/root
mount -o bind /rom /tmp/root
mount -o bind / /tmp/root
cp /tmp/root/* /mmc -a
automatische Initialisierung der SD Karte
rm /sbin/init
So jetzt müssen wir die gerade gelöschte /sbin/init mit unserer
/sbin/init ersetzen.
Dazu gibt es zwei Möglichkeiten,
entweder über FTP direkt ins Verzeichnis /sbin/ schieben.
Oder mit dem vi Befehl eine neue Datei mit dem Namen erstellen und dann mit cut&paste arbeiten.
Der Weg mit FTP ist der leichtere. Falls der aus irgendwelchen Gründen nicht gehen sollte machts mit vi; dazu gebt ihr ein:
vi /sbin/init
Dann drückt Ihr die Taste i.
Dann macht ihr die Datei init auf eurem Rechner mit einem Texteditor auf,
markiert alles,
drückt auf bearbeiten->kopieren,
geht auf das erminal Programm mit dem ihr die ssh-Verbindung geöffnet habt
(unter Windows putty, die anderen wissen was ich meine)
und drückt auf bearbeiten->einfügen
jetzt noch die Escape Taste drücken (für Windows Benutzer: das ist die links oben) solange das Fenster markiert ist,
dann gebt ihr
:wq
ein (so bedient man den editor vi) und drückt Enter.
Geschafft. Solltet ihr jetzt noch nicht zurück auf der Kommandozeile sein, sondern immer noch im vi, und sollte im Text :wq stehen,
löscht das, drückt Escape und wenn ihr jetzt :wq eingebt muss das in der untersten Zeile auftauchen.
Nachdem Ihr die Datei /sbin/init per FTP oder vi kopiert habt müsst ihr sie noch ausführbar machen. Das geht mit:
chmod a+x /sbin/init
Jetzt ist es zeit das ganze mal auszuprobieren; startet den WRT54GL neu mit dem Befehl:
reboot
Gebt dem Router ein wenig Zeit (eine Minute sollte reichen) und loggt euch wieder per ssh ein.
Wenn Ihr jetzt df -h eingebt seht Ihr, dass /dev/mmc/disc0/part1 nach / gemounted ist.
Euer WRT54GL ist jetzt (mehr oder weniger) ein 200MHz Rechner auf dem ein SSH Server und ein FTP Server laufen,
der als Router, Firewall, Wlan Access Point dient.
Ausserdem hat er jetzt mehr als das 400fache an Speicher wie vorher, falls ihr euch für eine 2GB Karte entschieden habt.
Weiter gehts mit dem Einstellen einer DynDns Verbindung.
|