"We are back" « oc.at

Hat schon mal wer die Firmware von einem Router selbst compiliert?

XXL 22.10.2008 - 17:13 3005 16
Posts

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
Ein Schulkollege von mir hat einen linksys wrt 350n, und da der kein dlna unterstützt will er das selber kompilieren, und ich will ihm dabei helfen :D

also erstmal eine übersicht wie weit das ganze ist, wir haben ubuntu server 8.04 als host-system in einer vmware, alle packages die man so braucht für make, den source-code vom router und den router

als erstes wollten wir mal schauen ob sich das ganze überhaupt so kompilieren lässt, also bevor wir was ändern ...

das make-file haut ziemlich viele errors raus, wenns was hilft post ich nachher das log-file, also dürfte irgendwas nicht ganz funktionieren, und ich hoffe hier kennt sich irgendwer besser aus beim compilieren von sowas :D

edit:
hier der auszug vom log den ich meine
Code:
./src/alter.c: In function `reloadTableSchema':
./src/alter.c:229: error: `OP_DropTrigger' undeclared (first use in this function)
./src/alter.c:229: error: (Each undeclared identifier is reported only once
./src/alter.c:229: error: for each function it appears in.)
./src/alter.c:234: error: `OP_DropTable' undeclared (first use in this function)
./src/alter.c:239: error: `OP_ParseSchema' undeclared (first use in this function)
make[2]: *** [alter.lo] Error 1
make[2]: Leaving directory `/home/offspring/Desktop/WRT350N-EU_V2.00.17/source_code/apps/sqlite-3.3.13'
make[1]: *** [sqlite-3.3.13] Error 2
make[1]: Leaving directory `/home/offspring/Desktop/WRT350N-EU_V2.00.17/source_code/apps'
make: *** [apps] Error 2
Bearbeitet von XXL am 22.10.2008, 17:29

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25520
Ich denke die Linux-Leute können dir hierbei besser helfen.

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12133
Wenn der Router keine x86-CPU hat (was ich stark annehme), wirs tdu eine Crosscompiler-Toolchain brauchen. In der Regel stellen dir die Distributoren der Firmware-Tarballs auch eine Anleitung zur Verfuegung, wie du dir eine zu den Sourcen passende Toolchain zulegen kannst. Deshalb wuerde ich zuerst mal im Dunstkreis der Downloadseite der Firmware-Sourcen zu suchen beginnen, bevor ich hier im Forum eine so spezifische Frage stelle :)

deftenski

mit barockfelgen
Avatar
Registered: May 2002
Location: back home
Posts: 1241

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
Zitat von COLOSSUS
Wenn der Router keine x86-CPU hat (was ich stark annehme), wirs tdu eine Crosscompiler-Toolchain brauchen. In der Regel stellen dir die Distributoren der Firmware-Tarballs auch eine Anleitung zur Verfuegung, wie du dir eine zu den Sourcen passende Toolchain zulegen kannst. Deshalb wuerde ich zuerst mal im Dunstkreis der Downloadseite der Firmware-Sourcen zu suchen beginnen, bevor ich hier im Forum eine so spezifische Frage stelle :)

die toolchain ist dabei, wusste allerdings nicht das ich die brauche, das readme ist eher spärlich, da steht nur drinnen man soll in das verzeichnis gehen und make ausführen, irgendwelche genauen details gibts auf der linksys seite nicht ...

Zitat von deftenski
http://downloads.openwrt.org/kamika...l#x1-540002.3.2
http://www.dd-wrt.com/wiki/index.php/Development
http://www.dd-wrt.com/wiki/index.php/DD-WRT_compilieren

nur mal so als startpunkte

thx werd ich mir mal durchlesen, hab aber keine ahnung wie man erkennt ob die source gpl-konform ist oder nicht? :D

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Zitat von XXL
thx werd ich mir mal durchlesen, hab aber keine ahnung wie man erkennt ob die source gpl-konform ist oder nicht? :D
Dem Compiler ist die Lizenz herzlich egal ;) Ansonsten muss für GPL-konform releasten Code - glaube ich - nur die Lizenz beiliegen.
Bearbeitet von jives am 23.10.2008, 23:57

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
das ganze hat sich einfach erledigt, nachdem wir heute opensuse installiert haben, hats einwandfrei funktioniert => nie wieder ubuntu bei sowas ...

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Komisch, hätte ich nicht gedacht.
Haben bei Ubuntu vielleicht doch Packages gefehlt, oder war die falsche Version installiert?

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
Zitat von jives
Komisch, hätte ich nicht gedacht.
Haben bei Ubuntu vielleicht doch Packages gefehlt, oder war die falsche Version installiert?

war die 8.04 LTS, packages waren alte oben, nur irgendwie verwendet die 8.04 anscheinend zu alter versionen davon, wir haben zwar bei opensuse auch nur die 10.3er verwendet, nur dürften da die passenden versionen installiert werden ....

auf das sind wir nur gekommen weils c't bei sowas ähnlichem wie dem was wir vor haben eben opensuse verwendet hat ....

gcc gibts bei ubuntu als package nur bis version 2.4 wobei die aktuelle 3.1 ist ...

ubuntu kann einiges, ist auch ein einfaches linux, nur für den verwendungszwecke für den wir es verwenden wollen reichts einfach nicht ;)

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
8.04 LTS steht für Long Time Support, es ist klar, dass sie da nicht die neuesten unstable/beta versionen von jedem Programm draufhauen.

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
jup ist aber trotzdem die aktuellste stable ...

ich mein die 8.10er hätte ich auch probieren können, nur die ist noch net stable ....

naja als nächstes werden wir probieren wie wir jetzt den dlna-medienserver ins image integrieren und dann müssen wir noch schauen das das image kleiner als 8mb bleibt :D

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11342
Zitat von XXL
gcc gibts bei ubuntu als package nur bis version 2.4 wobei die aktuelle 3.1 ist ...

Gibts nicht, aktuell ist 4.3.2 und Ubuntu verwendet schon seit Jahren 4.x.

Zitat von XXL
ubuntu kann einiges, ist auch ein einfaches linux, nur für den verwendungszwecke für den wir es verwenden wollen reichts einfach nicht ;)

Man muss nur die richtigen Packages installieren. Reiner Zufall, dass bei OpenSuse genau die dabei waren, die du brauchst.

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
ja, aber genau die packages sind die probleme, weil dir keiner genau sagen kann welches du nehmen sollst und was es kann ^^

und bei den versions-nummern hab ich mich geirrt, bzw die 4 weggelassen :D

sollt net nach nur 5 stunden schlaf was vom vorabend bzw. nacht posten ^^

XXL

insomnia
Avatar
Registered: Feb 2001
Location: /dev/null
Posts: 15703
so da wir das image fertig haben haben wir heute den 2ten schritt versucht, nämlich den media server ...

dabei sind einige probleme aufgetreten, er kompiliert ihn sauber, jedoch für x86, also sind wir da sicher auf einen cross-compiler angewissen, kennt sich wer damit besser aus als irgendwelche leute denen das ganze bis vor kurzem kein begriff war? :D

aber nachdem der source-code von dem cross-compiler das das make des image-tools verwendet dabei ist denk ich mal man muss den dann mal compilieren, im makefile vom media server steht sogar drinnen ob man einen crosscompiler verwendet, die arm-cpu steht auch drinnen, nur irgendwie stehen wir jetzt teilweise an bei der frage wie man das jetzt genau anstellt ;)

also er will den prefix vom cross-compiler, der dürfte arm-linux sein, nur meint die config-file vom make dann das der kein c compilieren kann?

ich weiss es klingt nach linux-noob, aber was anderes sind wir leider im mom nicht, aber wir haben immerhin schon einige lichter am ende des tunnels erblickt ^^

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Meiner Erfahrung nach ist das von hand compilieren einer crosstoolchain eine sehr zeitraubende Angelegenheit. Wie wärs, wenn ihr einfach http://www.handhelds.org/~pb/deb-toolchain.html oä verwendet.

Nur so nebenbei was genau hast du eigentlich vor mit deinem router?
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz