Makefile frage...
-
- Interessierter
- Beiträge: 20
- Registriert: Montag 26. August 2002, 09:57
Makefile frage...
Hallo an alle devs.. und alle anderen...
Ich habe mittlerweile das Makefile schon fast im kopf... so oft wie ich es gelesen habe
Ich habe mir mittlerweile das CDK bei mir kompiliert bekommen...
mit anfänglichen problemen... naja jedenfalls habe ich dann mal
make rebuild-flash gemacht.. läuft auch supi durch... make compress-flash scheint auch zu gehen... (habe dann cramfs und jffs2) aber was muss ich eingeben um die ppcboot-flfs.img zu erhalten und dann zu mischen??? make mix-cramfs-jffs2.img geht nicht... *grübel*
bitte um ein wenig hilfe...
Ich habe mittlerweile das Makefile schon fast im kopf... so oft wie ich es gelesen habe
Ich habe mir mittlerweile das CDK bei mir kompiliert bekommen...
mit anfänglichen problemen... naja jedenfalls habe ich dann mal
make rebuild-flash gemacht.. läuft auch supi durch... make compress-flash scheint auch zu gehen... (habe dann cramfs und jffs2) aber was muss ich eingeben um die ppcboot-flfs.img zu erhalten und dann zu mischen??? make mix-cramfs-jffs2.img geht nicht... *grübel*
bitte um ein wenig hilfe...
-
- Interessierter
- Beiträge: 62
- Registriert: Freitag 1. Februar 2002, 15:42
-
- Interessierter
- Beiträge: 24
- Registriert: Dienstag 16. Juli 2002, 16:12
Hi Leute,
vergleicht mal ein fertiges Image mit dem erzeugten cramfs und jffs2 mit einem Hexeditor. Danach ist es ganz einfach mit dem Hexeditor die beiden Dateisysteme zu einer Datei zusammenzufügen. Habe es selber so gemacht, und funzte problemlos. Mit ein wenig Übung, geht das dann auch sehr flott
mfg
Woodelf
vergleicht mal ein fertiges Image mit dem erzeugten cramfs und jffs2 mit einem Hexeditor. Danach ist es ganz einfach mit dem Hexeditor die beiden Dateisysteme zu einer Datei zusammenzufügen. Habe es selber so gemacht, und funzte problemlos. Mit ein wenig Übung, geht das dann auch sehr flott
mfg
Woodelf
-
- Interessierter
- Beiträge: 20
- Registriert: Montag 26. August 2002, 09:57
Evtl... Lösung...
Also ich habe mich erst vor kurzem im Channel #dbox2
mit jemanden drüber unterhalten... und wenn ich es richtig verstanden
habe gehört es wohl noch zu dem Thema "Bug" das es zu diversen Fehlern
kommt wenn man eine flfs, cramfs & jffs2 erstellt und diese dann ein spielt... wobei der hauptteil des Fehler an der jffs2 liegt, da diese sich wohl nicht ganz mit dem treiber der im Kernel eingebauten Jffs2 übereinstimmt... Wie dem auch sei habe ich erstmal drüber nachgedacht und bin zu dem lösungweg gekommen:
1. flfs.img (kann man sich aus der dbox auslesen...)
2. cramfs erstellen...
3. dann (z.B. AlexW) auf die Dbox Spielen und die benötigten verzeichnise per FTP & Telnet im /var erstellen.
4. jffs2 von der dbox auslesen und dann das ganze mit dem Flashmanage.pl zusammen fügen....
Also diese Methode hat bei mir jetzt schon mehrmals funktioniert...
Jetzt bleibt mir halt nur noch das Problem wie ich die Yadd auf eine brauchbare größe bringe... einfach nur Strippen ist ja wohl irgendwie nicht... hat jemand eine ahnung wie ich das python script mklibs.py anwende ???
mit jemanden drüber unterhalten... und wenn ich es richtig verstanden
habe gehört es wohl noch zu dem Thema "Bug" das es zu diversen Fehlern
kommt wenn man eine flfs, cramfs & jffs2 erstellt und diese dann ein spielt... wobei der hauptteil des Fehler an der jffs2 liegt, da diese sich wohl nicht ganz mit dem treiber der im Kernel eingebauten Jffs2 übereinstimmt... Wie dem auch sei habe ich erstmal drüber nachgedacht und bin zu dem lösungweg gekommen:
1. flfs.img (kann man sich aus der dbox auslesen...)
2. cramfs erstellen...
3. dann (z.B. AlexW) auf die Dbox Spielen und die benötigten verzeichnise per FTP & Telnet im /var erstellen.
4. jffs2 von der dbox auslesen und dann das ganze mit dem Flashmanage.pl zusammen fügen....
Also diese Methode hat bei mir jetzt schon mehrmals funktioniert...
Jetzt bleibt mir halt nur noch das Problem wie ich die Yadd auf eine brauchbare größe bringe... einfach nur Strippen ist ja wohl irgendwie nicht... hat jemand eine ahnung wie ich das python script mklibs.py anwende ???
-
- Interessierter
- Beiträge: 24
- Registriert: Dienstag 16. Juli 2002, 16:12
@Blackice2999,
habe mich auch schonmal mit der Funktion "make flash-compress" im CVS beschäftigt. Funktioniert leider nicht korrekt
Wie es mit dem ganz neuen CVS-Stand aussieht weis ich nicht, da ich das schon länger nicht mehr gecheckt habe.
Es haben ganz einfach zuviele Dateien im cramfs gefehlt, ausserdem wurden die init dateien für ne yadd angelegt. Damit klappt das schonmal mit einem Image nicht Allerdings hat das Python - Script bei mir seine Arbeit relativ gut erledigt. Den Rest hab ich mir dann per Hand zusammenkopiert, und die init dateien für ein Flash angepasst. Das ganze hat auch anschliessend Funktioniert Nur versteh ich nicht, warum das ganze im Makefile.am nicht korrigiert wird. So muss man sich das ganze Zeitaufwändig zusammenbasteln. Schaut fast so aus, das man von der dev Seite her bewusst die Sache mit dem Imagebasteln unterbinden will Wenn man hier fragen liest, die irgendwas mit Imagebasteln zu tun haben, gibts dazu immer keine oder eine unbrauchbare Antwort.
Aber gerade als Anfänger, der was dazulernen will, ist man auf brauchbare Antworten angewiesen.
mfg
Woodelf
habe mich auch schonmal mit der Funktion "make flash-compress" im CVS beschäftigt. Funktioniert leider nicht korrekt
Wie es mit dem ganz neuen CVS-Stand aussieht weis ich nicht, da ich das schon länger nicht mehr gecheckt habe.
Es haben ganz einfach zuviele Dateien im cramfs gefehlt, ausserdem wurden die init dateien für ne yadd angelegt. Damit klappt das schonmal mit einem Image nicht Allerdings hat das Python - Script bei mir seine Arbeit relativ gut erledigt. Den Rest hab ich mir dann per Hand zusammenkopiert, und die init dateien für ein Flash angepasst. Das ganze hat auch anschliessend Funktioniert Nur versteh ich nicht, warum das ganze im Makefile.am nicht korrigiert wird. So muss man sich das ganze Zeitaufwändig zusammenbasteln. Schaut fast so aus, das man von der dev Seite her bewusst die Sache mit dem Imagebasteln unterbinden will Wenn man hier fragen liest, die irgendwas mit Imagebasteln zu tun haben, gibts dazu immer keine oder eine unbrauchbare Antwort.
Aber gerade als Anfänger, der was dazulernen will, ist man auf brauchbare Antworten angewiesen.
mfg
Woodelf
-
- Senior Member
- Beiträge: 1282
- Registriert: Montag 12. November 2001, 00:00
- groessenreduziert uebersetzen dauert ewig, macht die dbox auch nicht schneller und macht debuggen nahezu unmoeglich.
- der grossteil der entwickler, mich eingeschlossen, hat garkein interesse an flashimages, weil die 15-16 MByte, die da reinpassen irgendwie nicht vergleichbar sind mit dem was in ein nfs root passt.
- um in flashimages neuerungen zu testen ist der zeitaufwand viel hoeher, als das ueber nfs zu erledigen.
- die flashimage-erstellung im cdk hat waldi eingebaut. wenn er gerade keine lust hat, das (so weit ueberhaupt moeglich) fertigzustellen - ich kenne den aktuellen stand davon garnicht - dann ist das noch lange kein grund, verhinderung zu unterstellen. seid doch froh, dass waldi ueberhaupt das ganze schon so weit gebracht hat, wie es ist.
- wenn jemand von euch konkrete (und getestete) bugfixes hat, dann soll er sich nicht genieren, diese an einen entwickler weiterzuleiten, da diejenigen, die an der software entwickeln wohl in der regel mehr spass daran haben, diese zu erweitern, als sie mundgerecht zu verpacken.
- der grossteil der entwickler, mich eingeschlossen, hat garkein interesse an flashimages, weil die 15-16 MByte, die da reinpassen irgendwie nicht vergleichbar sind mit dem was in ein nfs root passt.
- um in flashimages neuerungen zu testen ist der zeitaufwand viel hoeher, als das ueber nfs zu erledigen.
- die flashimage-erstellung im cdk hat waldi eingebaut. wenn er gerade keine lust hat, das (so weit ueberhaupt moeglich) fertigzustellen - ich kenne den aktuellen stand davon garnicht - dann ist das noch lange kein grund, verhinderung zu unterstellen. seid doch froh, dass waldi ueberhaupt das ganze schon so weit gebracht hat, wie es ist.
- wenn jemand von euch konkrete (und getestete) bugfixes hat, dann soll er sich nicht genieren, diese an einen entwickler weiterzuleiten, da diejenigen, die an der software entwickeln wohl in der regel mehr spass daran haben, diese zu erweitern, als sie mundgerecht zu verpacken.
-
- Interessierter
- Beiträge: 20
- Registriert: Montag 26. August 2002, 09:57
Re: Obi
Hallo Obi,
1. vertrete ich nicht unbedingt die meinung von dem vorreiter der Nachricht.
2. bewundere ich immer noch eure arbeit und auch ein lob an waldi das er schon so weit geschaft hat das Makefile zu bearbeiten für das Flash erstellen.
aber trozdem muss ich leider auch immer wieder feststellen das die fragen rund um das flash erstellen nicht gerne beantwortet werden. Was ich allerdings auf der einen seite auch verstehen kann...
Ok aber das ganze weicht mittlerweile ganz schön vom Thema ab...
Also sicher ist es nicht unbedingt im interesse der devs das ganze als image zu testen... ist ja auch eigendlich zu stressig bei der entwicklung ständig zu flashen... aber man muss denke ich auch mal an die leute denken die nicht unbedingt jeden tag die lust haben etwas zu testen...
Hauptsache es läuft und das Standalone...
Kommen wir doch einfach nochmal zum thema mklibs.py zurück...
1. wie benutzt man es???
2. wie benutz ich die fakeroot umgebung...???
mfg
Blackice
1. vertrete ich nicht unbedingt die meinung von dem vorreiter der Nachricht.
2. bewundere ich immer noch eure arbeit und auch ein lob an waldi das er schon so weit geschaft hat das Makefile zu bearbeiten für das Flash erstellen.
aber trozdem muss ich leider auch immer wieder feststellen das die fragen rund um das flash erstellen nicht gerne beantwortet werden. Was ich allerdings auf der einen seite auch verstehen kann...
Ok aber das ganze weicht mittlerweile ganz schön vom Thema ab...
Also sicher ist es nicht unbedingt im interesse der devs das ganze als image zu testen... ist ja auch eigendlich zu stressig bei der entwicklung ständig zu flashen... aber man muss denke ich auch mal an die leute denken die nicht unbedingt jeden tag die lust haben etwas zu testen...
Hauptsache es läuft und das Standalone...
Kommen wir doch einfach nochmal zum thema mklibs.py zurück...
1. wie benutzt man es???
2. wie benutz ich die fakeroot umgebung...???
mfg
Blackice
-
- Interessierter
- Beiträge: 24
- Registriert: Dienstag 16. Juli 2002, 16:12
@obi
wollte dir und den anderen devs keinesfalls auf dem Schlips treten. Ich schätze eure Arbeit auch sehr, und würde nicht mehr auf Linux in der Box verzichten wollen
War gestern net gut drauf, hoffe ihr nehmt mir das nicht allzu übel. Hab mich halt fürchterlich geärgert, das es nicht funktioniert hat.
Hab schon einiges im Makefile geändert, das auch nachher funktioniert hat. Vielleicht bekomm ich das ganze brauchbar hin. Ist halt für einen Anfänger wie ich es bin, net so leicht zu checken.
mfg
Woodelf
wollte dir und den anderen devs keinesfalls auf dem Schlips treten. Ich schätze eure Arbeit auch sehr, und würde nicht mehr auf Linux in der Box verzichten wollen
War gestern net gut drauf, hoffe ihr nehmt mir das nicht allzu übel. Hab mich halt fürchterlich geärgert, das es nicht funktioniert hat.
Hab schon einiges im Makefile geändert, das auch nachher funktioniert hat. Vielleicht bekomm ich das ganze brauchbar hin. Ist halt für einen Anfänger wie ich es bin, net so leicht zu checken.
mfg
Woodelf
-
- Interessierter
- Beiträge: 20
- Registriert: Montag 26. August 2002, 09:57
Schlechter Tag...
HI hi,
einen schlechten Tag hat ja jeder mal von uns...
Frage: ist es überhaupt möglich eine Yadd noch zu verkleinern?
Und davon mal abgesehen... wie benutze ich die Mkliby.py
oder ist es besser mklibs.sh zu benutzen ???
einen schlechten Tag hat ja jeder mal von uns...
Frage: ist es überhaupt möglich eine Yadd noch zu verkleinern?
Und davon mal abgesehen... wie benutze ich die Mkliby.py
oder ist es besser mklibs.sh zu benutzen ???
-
- Interessierter
- Beiträge: 57
- Registriert: Freitag 15. Februar 2002, 18:24
Jungs so schwer ist das doch nun wirklich nicht oder
Ihr holt von euer Box das cdk.cramfs ( mtd2 ) über die Experten Funktion ( einzelne Partiotion auslesen ) runter ( liegt dann in /var/tmp/mtd2.img
ab auf eure Linuxkiste damit
cramfsck -x <verzeichnis> mtd2.img
dann könnt Ihr im <verzeichnis> nach belieben rumfummeln, z.B. Dateinen aus eurem gestripen Yadd reinkopieren
dann mittels mkcramfs -n "0106`date +%Y%m%d1548`" <verzeichnis> mtd2.img wieder einpacken
zurück auf die Box nach /var/tmp ( das alte mtd2.img überschreiben oder vorher löschen )
über Expertenfunktion wieder einspielen ( einzelne Partition )
Fertig
Tip auf die Größe achten, nicht das es zu groß wird !
Ihr holt von euer Box das cdk.cramfs ( mtd2 ) über die Experten Funktion ( einzelne Partiotion auslesen ) runter ( liegt dann in /var/tmp/mtd2.img
ab auf eure Linuxkiste damit
cramfsck -x <verzeichnis> mtd2.img
dann könnt Ihr im <verzeichnis> nach belieben rumfummeln, z.B. Dateinen aus eurem gestripen Yadd reinkopieren
dann mittels mkcramfs -n "0106`date +%Y%m%d1548`" <verzeichnis> mtd2.img wieder einpacken
zurück auf die Box nach /var/tmp ( das alte mtd2.img überschreiben oder vorher löschen )
über Expertenfunktion wieder einspielen ( einzelne Partition )
Fertig
Tip auf die Größe achten, nicht das es zu groß wird !
-
- Interessierter
- Beiträge: 57
- Registriert: Freitag 15. Februar 2002, 18:24
Und das Stripen auch noch
mklibs.py einfach ins /tuxbox-cvs/cdk kopieren
und dann das Skript von Homar verwenden achja vorher mit Ruleset-Flash Compilieren versteht sich
mklibs.py einfach ins /tuxbox-cvs/cdk kopieren
und dann das Skript von Homar verwenden achja vorher mit Ruleset-Flash Compilieren versteht sich
Code: Alles auswählen
#!/bin/sh
mkdir $HOME/yadd
cd $HOME/yadd
mkdir $HOME/cdkroot
mkdir $HOME/tftpboot
cp /dbox2/cdkroot/* $HOME/yadd/cdkroot/ -r
cp /dbox2/tftpboot/* $HOME/yadd/tftpboot/ -r
cd $HOME/yadd/cdkroot
find . -name *.la -exec rm \{} \;
find . -name *.a -exec rm \{} \;
find . -name *.h -exec rm \{} \;
rm include -r
rm lib/gconv -r
rm lib/kaffe -r
rm lib/ldscripts -r
rm lib/modules/pcmcia -r
rm info -r
rm lib/nof -r
rm man -r
rm libexec -r
rm share/empty -r
rm share/i18n -r
rm share/kaffe -r
rm share/locale -r
rm share/zoneinfo -r
find . -name *kaffe* -exec rm \{} \;
# !!! Bei Linux !!!
find . -type f -perm -100 -exec /dbox2/cdk/bin/powerpc-tuxbox-linux-gnu-strip \{} \;
# !!! Bei cygwin !!!
cd bin
find . -type f -exec /dbox2/cdk/bin/powerpc-tuxbox-linux-gnu-strip \{} \;
cd ..
# !!! nur eine der beiden Optionen benutzen !!!
cd ..
tar -cvf yadd.tar cdkroot tftpboot
rm yadd.tar.gz
gzip -9 yadd.tar
echo
echo ...das war es
Zuletzt geändert von 2xi am Sonntag 1. September 2002, 18:29, insgesamt 1-mal geändert.
-
- Interessierter
- Beiträge: 24
- Registriert: Dienstag 16. Juli 2002, 16:12
@2xi,
aus einer gestrippten yadd ein cramfs zu machen ist ansich kein grosses problem. Nur ist das rumkopieren der einzelnen dateien relativ zeitaufwendig. In der compilierten Yadd ist doch für ein cramfs einiges zuviel drin. Habe daher mal das Makefile.am etwas modifiziert. Es werden jetzt die benötigten Dateien kopiert Leider hab ich aber noch das Problem, das sich die Mklibs.py jetzt beim verkleinern der Libraries einen "Wolf" läuft. Das Teil kommt bei 89 Symbols unresolved nicht mehr weiter, und läuft ewig so weiter. Habs dann mal bei 100 Passes abgebrochen. Hab dann das Python-Script etwas geändert, so das es bei 89 Symbols unresolved aufhört. Hatte danach auch schöne verkleinerte libs für ein cramfs, aber etliche davon funzten nachher nicht korrekt Irgendwas mach ich da anscheinend noch falsch. Vielleicht kannst du mir da noch ein paar Tipps geben.
mfg
Woodelf
aus einer gestrippten yadd ein cramfs zu machen ist ansich kein grosses problem. Nur ist das rumkopieren der einzelnen dateien relativ zeitaufwendig. In der compilierten Yadd ist doch für ein cramfs einiges zuviel drin. Habe daher mal das Makefile.am etwas modifiziert. Es werden jetzt die benötigten Dateien kopiert Leider hab ich aber noch das Problem, das sich die Mklibs.py jetzt beim verkleinern der Libraries einen "Wolf" läuft. Das Teil kommt bei 89 Symbols unresolved nicht mehr weiter, und läuft ewig so weiter. Habs dann mal bei 100 Passes abgebrochen. Hab dann das Python-Script etwas geändert, so das es bei 89 Symbols unresolved aufhört. Hatte danach auch schöne verkleinerte libs für ein cramfs, aber etliche davon funzten nachher nicht korrekt Irgendwas mach ich da anscheinend noch falsch. Vielleicht kannst du mir da noch ein paar Tipps geben.
mfg
Woodelf
-
- Interessierter
- Beiträge: 57
- Registriert: Freitag 15. Februar 2002, 18:24
-
- Einsteiger
- Beiträge: 182
- Registriert: Donnerstag 1. November 2001, 00:00
Ich versuche mich ebenfalls (zur zeit noch vergeblich) ein image zu erstellen. (aus dem CVS ohne Basisimage von AlexW)
Es hakt an dem 'ppcboot-flfs.img'. So wie es scheint gibt es im makefile weder ein target noch rules dafuer. und fuer das 'mix-cramfs-jffs2.img', das dann wohl das flfs, cramfs und jffs2 enthalten wuerde (ueber 'flashmanage.pl'), existieren zwar rules aber kein target. habe nun ein target fuer 'mix-cramfs-jffs2.img' eingebaut, aber ich kenne die rules fuer 'ppcboot-flfs.img' nicht.
any ideas?
P.S. Kann natuerlich auch sein das ich mich kraeftig irre ...
Es hakt an dem 'ppcboot-flfs.img'. So wie es scheint gibt es im makefile weder ein target noch rules dafuer. und fuer das 'mix-cramfs-jffs2.img', das dann wohl das flfs, cramfs und jffs2 enthalten wuerde (ueber 'flashmanage.pl'), existieren zwar rules aber kein target. habe nun ein target fuer 'mix-cramfs-jffs2.img' eingebaut, aber ich kenne die rules fuer 'ppcboot-flfs.img' nicht.
any ideas?
Code: Alles auswählen
$(flashprefix)/mix-cramfs-jffs2.img: $(flashprefix)/ppcboot-flfs.img $(flashprefix)/root-cramfs.img $(flashpref
@rm -f $(flashprefix)/mix.img
$(hostappsdir)/flash/flashmanage.pl -i $(flashprefix)/mix-cramfs-jffs2.img -o build \
--part ppcboot=$(flashprefix)/ppcboot-flfs.img \
--part root=$(flashprefix)/root-cramfs.img \
--part var=$(flashprefix)/var-jffs2.img
-
- Neugieriger
- Beiträge: 7
- Registriert: Donnerstag 24. Januar 2002, 11:42
Diese gibt es ja auch gar nicht.Belgarad hat geschrieben:
aber ich kenne die rules fuer 'ppcboot-flfs.img' nicht
Einfach ein anderes (z.b: von AlexW) nehmen.
Thema: mklibs.py
Das Script läuft bei mir bis 0 unresolved Symbols durch,
nur leider sind die Binaries danach (fast ?) alle kaputt.
Init (sprich busybox) startet nach dem Kernel nicht.
(Die entprechende Meldung reiche ich noch nach,
Modul binfmt-4c46 oder so kann er nicht finden.)
Nach dem Austausch der Binaries läuft die Sache zwar,
bleibt aber noch die Frage, warum ?
Wurde das eventuell schon gefixt? Liegt das an meiner Phyton Vesion?
Code: Alles auswählen
wst:~# python -V
Python 2.1.3
wst:~#
Vielleicht hat Waldi da schon etwas, ich denke er ist dafür zuständig.
thx, base
Nokia 2xIntel AVIA500
-
- Interessierter
- Beiträge: 48
- Registriert: Donnerstag 10. Oktober 2002, 02:18
ich hatte das selbe problem und es liegt nicht an dem phytonscript, sondern am strip-aufruf. dieser macht, zumindest bei mir, die binarys unbrauchbar.
ich habe nun ganz einfach in der Datei 'cdk/Makefile' die zeile:gegen diese getauscht:
und schon wird sauber gestripped und das yadd, dass dann in 'cdkflash/root' ist, läuft einwandfrei.
ich habe nun ganz einfach in der Datei 'cdk/Makefile' die zeile:
Code: Alles auswählen
@strip --remove-section=.comment --remove-section=.note `find $(flashprefix)/root/bin/ -path "*bin/?*"` 2>/dev/null || /bin/true
Code: Alles auswählen
@find $(flashprefix)/root/ -type f -perm -100 -exec $(hostprefix)/bin/powerpc-tuxbox-linux-gnu-strip \{} \;
typed by genial