PDA

Bekijk de volledige versie : [HowTo]Automatisch Firmware konfigurieren und Optware installieren



newbiefan
26-10-2009, 17:14
Wengis HowTo ist hervorragend gut gemacht und immer auf dem neuesten Stand. Es erklaert in einer fuer den Laien verstaendlichen Weise wie man den Asus-Router konfiguriert. Es ermoeglicht dem Linux-Einsteiger wie dem erfahrenen User ohne Gefahr seinen Router richtig zu konfigurieren.
Nun, dennoch muss man Geduld haben, eine komplette Wengi Installation kann schon ein paar Stunden in Anspruch nehmen. Darueber hinaus ist echt Handarbeit angesagt - ein kleiner Konzentrationsfehler und nichts geht mehr.
Wengis Konzept folgend, wurde Autoinstall gemacht um dem Linux-Einsteiger auch die Moeglichkeit zu geben, eine vollwertige Linux-Maschine auf den Router zu bringen. Aber auch fuer erfahrene User ist Autoinstall eine grosse Vereinfachung - keine Handarbeit ist mehr notwendig!
Es gibt nun Autoinstall!

Da Autoinstall streng nach Wengi installiert, ist Wengi's HowTo nach wie vor erste Anlaufstelle.

Was macht Autoinstall?
Autoinstall installiert entweder nur den Router-Part im Flash, oder eine Wengi-Installation, oder eine vollwertige Linuxinstallation (nach Wengi und viel mehr) und je nach Wunsch, den fertig konfigurierten Webserver lighttpd. Lediglich Transmission und Swat wird nicht installiert, da es zu viele Transmissions gibt und Swat ohnehin nur auf dem Optware-Samba funktioniert.

Vorbedingungen:
-Telnet oder ssh (dropbear) Zugang zum Router
-bestehende, funktionierende Internetverbindung
-Stick oder HDD mit mindestens 1 GB
-alle Laufwerke unbedingt unmounten (umount -l /opt ; umount -l /tmp/mnt/disc0_3 usw.)
-falls ein swap aktiv ist: swapoff -a
-Falls alte Prozesse von /opt laufen: killall prozess (ist aber lazy umount, deshalb keine Gefahr)
-Samba, Ftp, NFS Server im Webif disablen.

Hinweise: Autoinstall loescht bis zu 4 bestehende Partitionen und erstellt neue Partitionen in Abhaengigkeit vom Speicherplatz. Bitte Daten vorher sichern, falls notwendig!! (Alles nach Wengi)

Was wird an Software installiert, bzw. konfiguriert?
-Dropbear mit Directory, Keys und post-boot, falls notwendig
-Startfiles in /tmp/local/sbin werden nach Wengis HowTo angelegt, Ausfuehrungsrechte vergeben
-fstab wird in Abhaengigkeit zur Speichergroesse erstellt und in .files eingetragen
-die alten Partitionen werden geloescht und neue Partitionen erstellt.
Eine 64 MB Swap Partition bei <= 1GB ; 256MB Swap > 1 GB ; opt Partition 1GB (oder Rest)
und falls mehr vorhanden ist, der gesamte restliche Speicher als Datenpartition
-Die Partitionen werden formatiert, der Swap eingebunden, sowie die Partition(en) gemountet (nach Wengi)
-Der Startscript rc.unslung wird auf /opt nach Wengi angelegt
-Der ipkg-opt und die uclibc wird installiert, update durchgefuehrt
-mc, coreutils, findutils, findutils-doc, diffutils, screen, nano
,procps, less, unzip, hdparm, man, man-pages, lynx, nload ,logrotate
und cron werden installiert (nach Wengi)
-cron startfile wird erstellt (nach Wengi)
-logrotate.conf sowie der startfile fuer den syslog wird erstellt (nach Wengi)
-profile wird erstellt (nach Wengi)
-------------bei full & webserver -------------------
-cmdftp (ftpclient)
-pwgen (Passwortgenerator)
-whois (DNS query)
-which (Path to prgm. X)
-adduser
-arpwatch
-bash mit Fehlerbehebung und Erweiterung (bashrc)
-rsync
-dnstracer
-iperf (Bandbreitenbestimmung)
-minicom
-microperl
-netcat
-lighttpd webserver Version 1.4.22-1 (1.4.24-1 hat Fehler!)
Der Download erfolgt aus einem alternativen Verzeichnis
-lighhtp.conf fertig konfiguriert auf Port 80
-Webinterface (Router) Umstellung auf Port 88
-wput (ftp client fuer uploads)
-util-linux (umfangreiche Erweiterungen/Ergaenzungen)
-usbutils
-tcpflow
-tcpdump
-setserial
-psutils
-psmisc

Installation, wenn kein Laufwerk gemountet ist: (siehe vorher - umount -l)


cd /tmp/local/root
wget http://www.irauschek.net/asus/autoinstall
chmod 755 autoinstall
./autoinstall

Waehle im Menue deine gewuenschten Einstellungen und starte mit der 6 und Enter.
Den Router nun stehen lassen, es dauert etwas......Reboot unbedingt abwarten!!!
Falls etwas schief geht, nochmals von vorne beginnen.
Als Abschluss die Kontrolle im Browser: http://Deine.IP.vom.Router
Du wirst die Ausgabe "lighttpd server running" sehen, speichere Deine Webseiten
unter /opt/share/www
Falls Du im Internet sichtbar sein willst, Port 80 im Webif oeffnen und Dyndns benutzen.
ACHTUNG: DEIN ROUTER IST AB SOFORT AUF PORT 88 ERREICHBAR!
Also: http://192.168.x.x:88
Wird kein Webserver installiert, bleibt das Webinterface vom Router auf Port 80.
FTP und Samba oder NFS Server kann wieder im Webif enabled werden.
Falls mir viele brauchbare Configs zugesandt werden, baue ich diese in Autoinstall ein.
Vorschlaege und Verbesserungen, Berichte und Fehlemeldungen sind erwuenscht.
Bei Fehlerbehebung usw. bitte unbedingt Wengis HowTo vorher lesen.
Credit to: Wengi

Viel Spass
Euer Newbiefan

P.S.: Natuerlich kann man im Menue ein Exit ohne jede Installation ebenfalls waehlen!!

carterb
27-10-2009, 13:27
Hi,

klasse Arbeit, kenne das Script ja schon ;)

Ich trete der Sache jedoch mit Vorsicht gegenüber. Jedem Newbie (der die ersten Erfahrungen mit Custom Firmware sammelt) empfehle ich dringlichst Wengi's How-To zu verwenden (hat Newbiefan in dieser Weise ja auch schon erwähnt). Ich spreche hier aus eigener Erfahrung, beim ersten Aufsetzen nach Wengi, lernt man so viel über Custom FW und deren Struktur (optware, Paketverwaltung), was man im späteren Umgang mit dem Router täglich braucht.

Also meine Empfehlung: Fürs "erste Mal" wengi's How-To, danach immer das Autoscript (alleine schon wegen der Zeitersparnis :D

Fazit: Wirklich ne gute Sache!!!

PS.: Habe es auch schon getestet. Also die Grundeinstellungen mit Partitionierung etc. funktionieren. Die Pakete installiere ich eh lieber von Hand ;) Ich verwende halt einfach auch andere Software.

FastJack
28-10-2009, 09:17
Hi Newbiefan,

danke für das super Script! Da ich meinen Router sowieso mal neu aufsetzen wollte habe ich das gestern gleich mal getestet. Hat auch alles soweit geklappt. Nur beim Lighttpd hat er Probleme gemacht und diesen nicht installiert.
Ich weis leider den genauen Fehler nicht mehr, wäre geschickt wenn Dein Script evtl. die ganzen ausgaben in ne Logdatei schreibt?

Gruß FastJack

newbiefan
28-10-2009, 10:10
Hi Newbiefan,

danke für das super Script! Da ich meinen Router sowieso mal neu aufsetzen wollte habe ich das gestern gleich mal getestet. Hat auch alles soweit geklappt. Nur beim Lighttpd hat er Probleme gemacht und diesen nicht installiert.
Ich weis leider den genauen Fehler nicht mehr, wäre geschickt wenn Dein Script evtl. die ganzen ausgaben in ne Logdatei schreibt?

Gruß FastJack

Danke für den Vorschlag mit der Logdatei, werde ich prompt umsetzen.

Wegen lighttpd: Der neue lighttpd im Repository lässt sich nicht starten,
deshalb wird ein etwas älterer installliert. Dabei fehlt mit Sicherheit eine
Ordnerstruktur, deshalb als Workaround:
Füge im Script autoinstall als ersten Eintrag nach if ; then für den webserver (ist extra markiert) folgende Zeilen ein, dann geht es:
ipkg install lighttpd
ipkg remove lighttpd

Erst danach darf der download vom alternativen (älteren) Webserver erfolgen, so geht es bei mir.

Danke für den Hinweis, werde ich heute Abend in den Script einbauen.
Hoffentlich wird der lighhtpd im nslu2 Repository bald geändert.

Viel Spass
Helmut

FastJack
28-10-2009, 13:44
jo ich hatte Ihn dann von Hand installiert in dem ich einfach den von Deinem Webspace runtergeladen hatte und mit ipkg install installiert hab. Ich meine das er das in Deinem Script nicht automatisch macht hing mit dem ipkg.sh zusammen. Müsste man sich nochmal anschauen.

Gruß FastJack

newbiefan
28-10-2009, 23:29
Müsste man sich nochmal anschauen.
Gruß FastJack

Danke Fastjack für deinen Hinweis.
Full install läuft jetzt fehlerfrei - nun werde ich am Wochenende mit der Logausgabe beginnen. Soeben getestet mit Koppel 1.71 und USB Modem E220
(Lediglich die Mirrors sind noch nicht up to date, Lima-City aber schon)
LG
Newbiefan

FastJack
04-11-2009, 08:38
Hi newbiefan,

super Sache, freu mich schon auf die neue Version.

Ich hab Dein aktuelles Script in die Firmware mit reinkompiliert, so das man es nicht erst runterladen muss.
Ist ja alles gleich ausser das ich Dein Script unter /usr/bin hinzugefügt habe.
Hatte nen weilchen gebraucht um mich da rienzufuxen wie das geht.

Da er unter /usr/bin aber nicht schreiben kann, hab ich die Ausgabe der parttable geändert, so das diese unter /tmp/parttable erstellt werden.

Wäre toll wenn Du das bei dem Orginal Script mit aufnehmen kannst.
Am besten auch die Ausgabe der Logdatei dort hinlenken.

Will dann noch unter /etc/ ne motd hinzufügen die dann beim Login anzeigt das man den Router mit autoinstall.sh aufsetzen kann.

Vielleicht können wir das so weit entwickeln, das man mehrere Programme wie lighttpd, pyload etc. auswählen kann. So halt das meistgenutzte :)

Gruß FastJack

newbiefan
04-11-2009, 22:44
super Sache, freu mich schon auf die neue Version.

Ich werde versuchen am kommenden WE pyload in den Script zu integrieren. Muss jedoch mehrere Configs beruecksichtigen, IP, AP, Gateway Mode.....


Ich hab Dein aktuelles Script in die Firmware mit reinkompiliert, so das man es nicht erst runterladen muss.
Ist ja alles gleich ausser das ich Dein Script unter /usr/bin hinzugefügt habe.
Hatte nen weilchen gebraucht um mich da rienzufuxen wie das geht.

Da er unter /usr/bin aber nicht schreiben kann, hab ich die Ausgabe der parttable geändert, so das diese unter /tmp/parttable erstellt werden.

Wäre toll wenn Du das bei dem Orginal Script mit aufnehmen kannst.
Am besten auch die Ausgabe der Logdatei dort hinlenken.

Will dann noch unter /etc/ ne motd hinzufügen die dann beim Login anzeigt das man den Router mit autoinstall.sh aufsetzen kann.

Fastjack, das ist ein Hammer - Custom FW mit integrierter, kompletter Autoconfig und Autoinstall der am meisten benutzten Programme.
Selbstverstaendlich aendere ich das am WE (parttable), no Problem at all....Einzig die Aufbereitung von sinnhaften Logeintraegen bereitet mir noch etwas Kopfweh - oder weiss jemand zufaellig wie man beliebige Ausgaben einmal in einen Logfile schreibt und gleichzeitig auf der Console ausgibt (ohne Umleitung ">" und dann "cat")?
Fehlerausgaben in in einen extra Logfile sind kein Problem.


Vielleicht können wir das so weit entwickeln, das man mehrere Programme wie lighttpd, pyload etc. auswählen kann. So halt das meistgenutzte :)

Ja, Fastjack - ich wuerde mich riesig freuen, wenn jemand mitmacht.
Wizd habe ich am laufen, das werde ich mit Config Files auch noch einbinden. Ja und ushare habe ich auch schon probiert, das ist mir aber noch zu instabil. VLC werde ich versuchen, wenn ich etwas Zeit habe und je nach Bedarf einbinden.
Welche Progis sollen wir noch integrieren?
Transmission habe ich nicht, nehme ich aber gerne auf - nur welches ist besser?
PHP, mysql, perl usw. sind extrem User-spezifisch, deshalb kann man es zwar installieren, aber kaum fertig konfigurieren.
Ich habe auch ueber ein eigenes cgi-Webinterface nachgedacht (vom integrierten Webserver) - vom Script zum cgi ist es ja bekanntlich nicht weit.........
Denn wenn schon Custom FW, koennte man das ganz einfach integrieren.
Jedenfalls ist das aber insgesamt ein sehr grosses Projekt, haette jedoch einen unheimlichen Vorteil - Configuration und Install mit Auswahl im normalen Webinterface.
Naja wir werden sehen.....wpte macht uebrigens auch mit......
Mitmachen kann natuerlich gerne jeder!

Im uebrigen bin ich der Meinung, dass ein easy Webif-Install im Zusammenhang mit Ily's Sprung in Richtung 2.6er Kernel endlich Olegs FW unglaublich aufwertet und viele User (zurueck) bringen wuerde. Das gibt es bei keiner Open-Source FW - mit automatischer Konfiguration!

LG
Helmut

FastJack
05-11-2009, 08:40
Hi Helmut,

ja sehe ich auch so, deswegen hab ich mich ja da drangemacht. War ansich auch gar nicht so schwer. Mann uss nur das Makefile anpassen um weitere Dateien reinzunehmen.



oder weiss jemand zufaellig wie man beliebige Ausgaben einmal in einen Logfile schreibt und gleichzeitig auf der Console ausgibt (ohne Umleitung ">" und dann "cat")?

Probiers mal mit
>/log.txt 2>&1 Das müsste die ausgabe in die Datei log.txt und gleichzeitig in die Console geben.
Edit: Mist gerade aufm router getestet, geht leider nicht. Schade bei Unix hier im Geschäft geht das :(
Edit2: man könnte die ausgabe mit
autoinstall > log.txt | tail -f log.txt machen. Dann wird alles vom Bildschirm in die Datei geloggt aber auch gleichzeitig angezeit. wie wäre das?

Klar, würde mich auf jedenfall beteiligen bei so einem Project.
Vielleicht können wir das über Google Code aufziehen.
Müsste man mal ne Umfrage machen was die Meistgenutzten Programme sind.
Wenn dann das mit so nem Webinterface gehen würde wäre das ja der Hammer :) Das wäre dann echt ne geile Firmware und auch viel einfacher zu händeln da wir nicht alles in die Firmware reinklatschen sondern erst extra installieren :D

Gruß Tobias aka FastJack

wengi
05-11-2009, 09:13
oder weiss jemand zufaellig wie man beliebige Ausgaben einmal in einen Logfile schreibt und gleichzeitig auf der Console ausgibt (ohne Umleitung ">" und dann "cat")?Mach Dir mal in Ruhe einen TEE und denk über das hier nach:
[admin@blechbuechse root]$ tee --help
Usage: tee [OPTION]... [FILE]...
Copy standard input to each FILE, and also to standard output.

-a, --append append to the given FILEs, do not overwrite
-i, --ignore-interrupts ignore interrupt signals
--help display this help and exit
--version output version information and exit

If a FILE is -, copy again to standard output.

Report tee bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
[admin@blechbuechse root]$wengi

newbiefan
05-11-2009, 19:59
Mach Dir mal in Ruhe einen TEE und denk über das hier nach:


Hi Wengi, vielen Dank - sieht gut aus.
Ich denke du hast ja noch deine WL-HDD: kannst du bitte einmal nachsehen ob in Olegs 9er FW tee unter /usr/bin/tee vorkommt? - Danke

In Ily's ist es von Haus aus drinnen, jetzt muss ich sicherstellen, dass der Tee in der 9er und 10er FW drinnen ist.
Weisst du wo Olegs changelog steht?


@Tobias
ich wollte die Umleitung vermeiden, um Fehler leichter auswerten zu koennen wie z.Bspl. im Script snf_antizock4asusrouter (http://autoinstall.lima-city.de/snf_antizock4asusrouter) err=$0, if err..... aber mit der Umleitung muss ich noch experimentieren - nur tee scheint in Echtzeit zu laufen inkl. Fehlerausgabe. Dann kann ich z.Bspl. reagieren und einen zweiten Server (Mirror) ansprechen, falls der erste nicht mehr erreichbar ist usw...
Naja, vielleicht denke ich auch noch zu kompliziert - notfalls geht es auch ohne....

LG Newbiefan

akbor
05-11-2009, 20:53
Weisst du wo Olegs changelog steht?

Hier: http://oleg.wl500g.info/#latest

Gru&#223;

Robert

newbiefan
05-11-2009, 21:24
Hier: http://oleg.wl500g.info/#latest
Gruß
Robert

Danke Robert!

akbor
05-11-2009, 22:03
Ich glaube aber nicht, dass solche Sachen wie tee im Changelog auftauchen... Steckt tee in der Busybox? Dann musst du die Changelogs von der Busybox durchsuchen!

Laut FW changelog hat sich die Busybox-Version von 9er auf die 10er FW nicht ge&#228;ndert. Naja... wer weiss es schon so gneau.

Gru&#223;

newbiefan
05-11-2009, 22:26
Ich glaube aber nicht, dass solche Sachen wie tee im Changelog auftauchen... Steckt tee in der Busybox? Dann musst du die Changelogs von der Busybox durchsuchen!

Laut FW changelog hat sich die Busybox-Version von 9er auf die 10er FW nicht geändert. Naja... wer weiss es schon so gneau.

Gruß

jaja,ich suche ja in der busybox, nur die haengt wieder von uclibc ab, da werde ich zum Elch mit der endlosen Sucherei...:mad:
Ich werde einfach alles ausprobieren, ist einfacher.......Danke...

wengi
06-11-2009, 09:22
kannst du bitte einmal nachsehen ob in Olegs 9er FW tee unter /usr/bin/tee vorkommt?
[admin@blechbuechse root]$ ls -lh /usr/bin/ | grep -i tee
lrwxrwxrwx 1 admin root 17 Mar 14 2008 /usr/bin/tee -> ../../bin/busybox
[admin@blechbuechse root]$Firmware 1.9.2.7-9.

wengi

newbiefan
07-11-2009, 19:26
Danke Wengi

newbiefan
09-11-2009, 21:20
Ich habe eine Bitte:

Um die Entwicklung voran zu bringen, benoetige ich die Ausgaben von verschiedenen Geraeten und Modes als Gateway und/oder AP

nvram show > nvram.txt
Bitte wenn moeglich FW, Geraet, Mode (AP/Gateway) und verwendete IP vom LAN angeben. Falls jemand Geheimnisse wie ftpuser, password usw hat, natuerlich loeschen oder x-en.
Ich habe Probleme die richtigen Nvram vars zu finden und muss dabei sicher stellen, dass diese bei allen FW gleich ist (oder abfragen).
Vielen Dank
Newbiefan

wengi
10-11-2009, 09:36
WL-HDD mit -9er Firmware
AP Mode 192.168.201.253

FastJack
10-11-2009, 17:46
Wl500gP - Home Gateway

Firmware -> http://code.google.com/p/wl500g/

5631

newbiefan
11-11-2009, 23:00
@Wengi & FastJack

Danke!
LG Helmut

N3m3515
09-12-2009, 22:44
wie schaffe ich es zu verhindern das er mir nach ipkg update und ipkg upgrade immer die neue kaputte version von lighttpd installiert?

newbiefan
10-12-2009, 00:18
wie schaffe ich es zu verhindern das er mir nach ipkg update und ipkg upgrade immer die neue kaputte version von lighttpd installiert?

Eigentlich ganz einfach: autoinstall installiert einen etwas älteren lighttpd. Dieser läuft bei mir und nach der Installation mit autoinstall problemlos, sofern ausgewählt. Dazu musst du das alte Autoinstall löschen und einfach nochmals installieren.

Es geht aber auch per Hand relativ einfach:

ipkg remove lighttpd
cd /opt/tmp/ipkg
mkdir -p /opt/etc/lighttpd
wget http://autoinstall.lima-city.de/lighttpd_1.4.22-1_mipsel.ipk
ipkg install lighttpd_1.4.22-1_mipsel.ipk
wget http://autoinstall.lima-city.de/libuclibc++_0.2.2-8_mipsel.ipk
ipkg install libuclibc++_0.2.2-8_mipsel.ipk
wget http://autoinstall.lima-city.de/lighttpd.conf -O /opt/etc/lighttpd/lighttpd.conf

Das ist der Lighttpd vom April 2009, der geht.
Nicht vergessen: den Port in der lighttpd.conf an deine Verhältnisse anpassen, per default ist lighttpd in dieser Datei auf Port 80 gestellt.
Wenn du Lighhtpd auf Port 80 belassen willst, das Asuswebif umstellen!

nvram set http_lanport=88
nvram commit
flashfs save && flashfs commit && flashfs enable && reboot


Dann ist dein Webif auf Port 88 erreichbar.

Viel Spass, Newbiefan

N3m3515
10-12-2009, 00:21
ja das weiss ich.
hab ich jetzt auch schon 3 mal gemacht weil er mir nach ipkg update && ipkg upgrade immer wieder die neue installiert hat.
ich wollt halt wissen obs ne möglichkeit gibt zu verhindern das er die neuere installiert

newbiefan
10-12-2009, 00:38
ja das weiss ich.
hab ich jetzt auch schon 3 mal gemacht weil er mir nach ipkg update && ipkg upgrade immer wieder die neue installiert hat.
ich wollt halt wissen obs ne möglichkeit gibt zu verhindern das er die neuere installiert

Naja, wieso machst du überhaupt ein upgrade?
Wenn alles läuft, macht das keinen Sinn.
Du kannst dir den Ablauf von vorher in ein Script packen und nach einem Upgrade aufrufen.
Komisch ist jedenfalls, dass lighttpd schon länger nicht mehr geht und niemand repariert das.

Auf die Schnelle habe ich auch keine andere Lösung, man müsste sich den ipkg etwas genauer ansehen, dazu habe ich aber momentan zu wenig Zeit.

LG