Newmake Build Image -> "No System"

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Newmake Build Image -> "No System"

Beitrag von MPC823 »

Also ich probiere da schon etliche Tage dran herum. Ich habe mir wie in diversen Anleitungen beschrieben versucht mit "newmake" mal ein Image zu bauen. Es läuft auch alles soweit ich erkennen kann ohne Fehler durch und ein fertiges Image ist liegt dann im durch configure angegebenen Verzeichnis.
Ich dachte schon es liegt an diesen magic bytes jedoch werden die Images nicht bemängelt. Ich habe dann trotzdem wie hier auch beschrieben mal einen Dummy file in eine Verzeichnis reingeschoben jedoch mit gleichem Ergebnis das der BMon bei "No System" stehen bleibt.
Dann habe ich mal versucht über das Netz zu booten. Weil ich das aber unter Windows mit dem Dbox Bootmanager probiert habe, hatte ich hier andere Probleme jedoch wurde der Kernel geladen.
Entweder liegt das nun daran das der BMon an diesen "Magic Bytes" hängenbleibt oder beim Zusammenbau des Images passiert Mist.

Gebaut wird das ganze mit einem Mac Mini also nicht Cross sondern Nativ. Das es daran liegen könnte kann ich fast nicht glauben.

Ich weiss nun gar nicht genau wo ich da anfangen soll zu suchen den ich sehe ja beim bau keine Fehlermeldungen , nur das Ergebnis ist Mist.
schieb doch mal spaßeshalber irgendeine datei in dein ~/dbox2/cdkflash/var-neutrino/, lösche die images in ../cdkflash und dann nochmal make flash-neutrino-squashfs-all

Das hatte ich schon probiert ohne Erfolg.

Martin
dwilx

Beitrag von dwilx »

lösche die images in ../cdkflash und dann nochmal make flash-neutrino-squashfs-all
Wird wohl nicht genug sein, am besten alles in /cdkflash löschen dann make depsclean machen und neu bauen.
Wie sieht denn dein configure aus? Und die Ausgabe an der Konsole?
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

Beitrag von skydiver »

nur die images zu löschen, reicht mit sicherheit nicht, da so der gleiche kram in identischer konstellation zusammengebaut wird.

ich vermute, du hast ein bad-magic-bytes problem.
zur not (wenn du nicht nochmal von vorne anfangen willst): schieb was nach /cdkflash/var-neutrino oder lösch da irgendwas.
danach im cdk-ordner: make flash-neutrino-squashfs-all
nach ner minute hast du dann dein neues image.
wenn auf der konsole was rot ist, kannst du dir die mühe mit dem flashen sparen.

wenn es eine sichere lösung gäbe, die dämlichen bad-m... zu umschiffen, wären vermutlich alles imagebauer um eine sorge ärmer.
edit:
ich depp... meine hinweise wurden ja schon abgearbeitet
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Zuerst sollten wir erstmal schauen, ob es "Bad Magics" sind, oder?

Also: bootlog.
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

Erst mal vielen Dank schon mal für die Hilfe. Ich habe da zuviel rumprobiert und habe da wohl auch was dabei zerschossen. Nun baue ich gerade nochmal neu.
#! /bin/bash
# set -x
### START ###
LOGODIR=$HOME/Logos
CP=$HOME/newmake_tuxbox
DB=$HOME/newmake_dbox2
ARCHIVEDIR=$HOME/Archive
cd $CP/cdk
pwd
./autogen.sh
./configure --prefix="$DB" --with-cvsdir="$CP" --enable-ide --enable-xfs --disable-ext3 --enable-flashrules --with-checkImage=rename
make flash-neutrino-all-all
#***********************************************************************************
exit
So sieht mein klienes scrip aus.

wenn das fertig ist flashe ich mal das fertige image und poste den log. während des bauens habe ich ja genug Zeit mein Nullmodemkabel zu suchen.

Gruss Martin
eule
Erleuchteter
Erleuchteter
Beiträge: 585
Registriert: Mittwoch 10. Oktober 2001, 00:00

Beitrag von eule »

skydiver hat geschrieben: wenn es eine sichere lösung gäbe, die dämlichen bad-m... zu umschiffen, wären vermutlich alles imagebauer um eine sorge ärmer.
Eine sichere Lösung kenn ich zwar nicht, aber eine, die das Leben ungemein erleichtert, da so gut wie nie bad magics auftauchen:

Das FLFS ans Ende des Flashspeichers setzen.
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

:gruebel: Geht Natürlich nicht

çdebug: DDF: Calibrating delay loop... debug: DDF: 67.79 BogoMIPS
debug: BMon V1.2 mID 01
debug: feID dd gtxID 0b
debug: fpID 5a dsID 01-a2.9c.45.07.00.00-82
debug: HWrev 09 FPrev 0.81
debug: B/Ex/Fl(MB) 32/00/08
WATCHDOG reset enabled
dbox2:root> debug:
BOOTP/TFTP bootstrap loader (v0.3)
debug:
debug: Transmitting BOOTP request via broadcast
debug: Given up BOOTP/TFTP boot
boot net failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /root/platform/nokia-dbox2/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /root/platform/mpc8xx-dbox2/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /root/platform/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /root.new/platform/nokia-dbox2/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /root.new/platform/mpc8xx-dbox2/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /root.new/platform/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /lost+found/root/platform/nokia-dbox2/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /lost+found/root/platform/mpc8xx-dbox2/kern


Martin
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

MPC823 hat geschrieben:Geht Natürlich nicht


Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /root/platform/nokia-dbox2/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Flash superblock not ok: Block not allocated
boot flash /root/platform/mpc8xx-dbox2/kernel/os failed
Ich bin da echt kein Spezialist für, aber für mein eher laienhaftes Verständnis sieht das nicht nach "Bad Magics" aus, sondern nach "dein Image ist im Arsch", also hat nicht das benötigte Flash-Filesystem ("superblock not ok") und der bootloader findet deswegen keinen kernel, bzw. den u-boot (der auf der dbox, so wie ich das verstehe, vom BMon als "Betriebssystem" geladen wird, und dann selbst den Linuxkernel nachlädt) nicht.

Achtung: ich kenne mich damit eigentlich nicht wirklich aus :-)
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

:gruebel: Was soll ich sagen ?

Housten wir haben ein Problem


Martin


Hmmmm
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

vielleicht ein 1x/2x Problem?
dwilx

Beitrag von dwilx »

--disable-ext3
Nur nebenbei, --disable brauchts da nicht...
Die Rootpartionsgröße mit angeben, wäre auch ne Idee.
evtl. hilft erst mal ein komplettbauen: make everything.
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

Sodele

also das mit dem disable habe ich deswegen gemacht um platz zu sparen ein filesystem reicht ja normal und xfs ist ja etwas performater.

mit 1x und 2x dürfte ich normal kein Problem haben da ich das ja angegeben habe und mir das mak auch ein img2x ausspuckt.

beim bau von neutrino-all-all habe ich folgende Fehlermeldung bekommen :
make[1]: Leaving directory `/home/martin/newmake_tuxbox/hostapps/checkImage'
/home/martin/newmake_tuxbox/hostapps/flash/flashmanage.pl -i /home/martin/newmake_dbox2/cdkflash/neutrino-cramfs.img1x -o build \
--rootsize=0x660000 \
--part ppcboot=/home/martin/newmake_dbox2/cdkflash/cramfs.flfs1x \
--part root=/home/martin/newmake_dbox2/cdkflash/root-neutrino.cramfs \
--part var=/home/martin/newmake_dbox2/cdkflash/var-neutrino.jffs2
flashmanage fatal error: File /home/martin/newmake_dbox2/cdkflash/root-neutrino.cramfs too large (6946816 > 6684672)
make: *** [/home/martin/newmake_dbox2/cdkflash/neutrino-cramfs.img1x] Fehler 1
Ich habe dann ein flash-neutrino-jffs2-2x bauen lassen und natürlich nach dem Flashen kein System.

Dann bin ich mal auf die Idee gekommen mit den Windowstool "New Tuxbox flash tool" ins image reinzuschauen.
Spasseshalber habe ich das dann mal unter einem anderen Namen abgespeichert und dabei bekam ich die Fehlermeldung "Dateisystem zu gross"

Ich hatte dann mal die ganzen plugins rausgelöscht aber das filesystem war immer noch zu gross.

Aber ich denke da muss ich ansetzten das erst mal die filesystemgrösse stimmt, bzw warum diese bei mir nicht stimmt.

Martin
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

MPC823 hat geschrieben: Dann bin ich mal auf die Idee gekommen mit den Windowstool "New Tuxbox flash tool" ins image reinzuschauen.
Spasseshalber habe ich das dann mal unter einem anderen Namen abgespeichert und dabei bekam ich die Fehlermeldung "Dateisystem zu gross"
die aussage des tools ist leider fast immer falsch..
eule
Erleuchteter
Erleuchteter
Beiträge: 585
Registriert: Mittwoch 10. Oktober 2001, 00:00

Beitrag von eule »

MPC823 hat geschrieben:
fatal error: File /home/martin/newmake_dbox2/cdkflash/root-neutrino.cramfs too large (6946816 > 6684672)
Es steht doch sehr deutlich in der Fehlermeldung, dass das erstellte CRAMFS größer ist als der vorgesehende Platz im Image. Sorge also dafür, dass die Partitionsgrößen stimmen:
barf's newmake howto hat geschrieben: Ändern der Partitionierung
Ab 2006-03-19, kann die Rootpartitionsgröße für cramfs und squashfs Images mit der Configure-Option --with-rootpartitionsize=SIZE angegeben werden. Die Größe des var-Partitions wird automatisch berechnet, um den restlichen Flashspeicher zu benutzen, der nicht durch die anderen Partitionen benutzt wird. Defaultgröße ist 0x660000. Diese Zahl sollte eine Multiple der Erasesize, momentan 0x20000 sein.
Die Partitionsgröße muss bei dir also 0x6A0000 sein.
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

Ich habe nun das configure mit der neuen Grss nochma gestartet
./configure --prefix="$DB" --with-cvsdir="$CP" --enable-ide --enable-xfs --disable-ext3 --enable-flashrules --with-checkImage=rename --with-rootpartitionsize=0x6A0000

Dann habe ich noch das Verzeichnis cdkflash gelöscht und mit "make depsclean" gestartet.

Danach Neutrino neu gebau.

Die nun generierten Datein sind aber auch buggy. -> kein System

Was ich nicht verstehe ist das ich beim Ersten Bau den trotz des Fehlers "root-neutrino.cramfs too large" trotzdem ein gebautes JFFS und Squashfs image bekommen habe . Das Dürfte ja normal nicht passieren oder sehe ich da was falsch ?

Martin
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

Also nachdem ich die "--rootsize=0x6A0000 \" eingestellt habe hat es ja immer noch nicht funktioniert.

Dann habe ich mal nachgerechnet und
lashmanage fatal error: File /home/martin/newmake_dbox2/cdkflash/root-neutrino.cramfs too large (6950912 > 6946816)
mit 6950912 habe ich ja 0x6A1000 was ja immer noch zu klein ist. Danch habe ich wie beschrieben die Rootsize nochmals um 0x2000 erhöht auf 0x6c000. Und leider immer noch das gleiche Problem.

Irgendwie hat newmake wohl auch ein Problem damit, das wenn beim Bau die rootsize falsch ist, nach einem nochmaligen start von make durchzubauen, obwohl es nun normalerweise wieder an der selben Stelle abbrechen sollte, wieder mit der gleichen Fehlermeldung für die Rootsize. Das ist jedoch nicht der Fall.

Ich habe nun mit make depsclean und den gelöschen daten im dbox2 pfad, nochmals mit den neunen configure Einstellungen für die rootsize, gebaut, jedoch ohne Erfolg.

Das gleiche mit "make clean" . Ein ganz neuer build produziert auch nur Imagemüll.


Nun mal eine Frage . Hat schon mal jemand Newmake mit einen PPC gebaut. Meine Vermutung dabei ist, nun das beim zusammenbau des Images nicht berücksichtigt wird, das ich von einer Nativ Plattform baue und somit evt little und big endian verdreht sind.

Weiss auch nicht genau wie ich das rasubekommen kann, evt wenn ich mal das ganze mit den gleichen Daten unter x86 baue und nacher mal die files vergleiche.

Kommt zwei unterschiedliche files raus, ist es eine little/big endian Problem, sind die files gleich hat sich im newmake fürs IDE eine Fehler eingeschlichen


Gruss Martin
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

zur info.. newmake an sich baut zur zeit einwandfrei auf x86
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

Sooooo

also mit soweit ich das verfolgen kann vollkommen gleichen Tools versionen etc unter x86 habe ich nun ein Image was funktioniert. Auf der einen Seite ist das toll auf der anderen Seite wo hat den nun mein Linux PPC sein Problem.

Da ich ein cdk auch "anbooten" konnte (keine symbolischen links mit dem windows bootmanager) denke ich mal das bis zum cdk alles richtig gebaut wird jedoch beim image bau "Mist" passiert.

:gruebel: wie mache ich nun weiter. hmmmmm


Martin
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

ich denke beim Bauen des flfs mit dem uboot drin ist noch keine unterstützung für einen PPC host drin (endianess?).
Ich kann mal einen Blick drauf werfen.
Kannst Du mal dein jffs2-flfs(1 oder 2)x.img und das dazugehörige tftpboot/uboot zur Verfügung stellen?
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

@Houdini Klar kann ich dir die mailen oder irgendwo uppen.

Hier mal ein Auszug nach einem filecompare :


Vergleichen der Dateien neutrino-squashfs.img2x und NEUTRINO-SQUASHFS.IMG2X.PPC
0000000A: 00 3F
0000000B: 3F 00
0000000E: 00 01
0000000F: 01 00
0000002F: 01 70
00000032: 70 01
00000036: 10 00
00000037: 00 10
0000003A: 0B 64
0000003B: 64 0B
000004E1: 00 10
000004E4: 10 00
00000509: 10 00
0000050C: 00 10
0000050D: 02 50
00000510: 50 02
000005FC: 53 41
000005FD: 65 75
00000600: 70 67
00000604: 20 33
00000619: 30 33
00000620: 30 39
00000624: 35 31
00000625: 35 30
000009BD: 00 11
000009C0: 11 00
000009E0: 00 10
000009E1: 10 00
000009E5: 10 00
000009E8: 00 10
000009E9: 00 BD
000009EC: BD 00
00000B74: 00 12
00000B75: 12 00
00000B95: 00 20
00000B98: 20 00
00000B9C: 10 00
00000B9D: 00 10
00000BA0: 0B 93
00000BA1: 93 0B
0000170E: 00 3F
0000170F: 3F 00
00001712: 00 02
00001713: 02 00
00001733: 01 80
00001736: 80 01
0000173A: 10 00
0000173B: 00 10
0000173E: 0C 00
0000173F: 00 0C
000022D5: 00 13
000022D8: 13 00
000022F8: 00 30
000022F9: 30 00
000022FD: 10 00
00002300: 00 10
00002301: 0C 27
00002304: 27 0C
00002F4A: 00 3F
00002F4B: 3F 00
00002F4E: 00 03
00002F4F: 03 00
00002F6F: 01 90
00002F72: 90 01
00002F76: 10 00
00002F77: 00 10
00002F7A: 0B 3F
00002F7B: 3F 0B
00003B60: 00 14
00003B61: 14 00
00003B81: 00 40
00003B84: 40 00
00003B88: 10 00
00003B89: 00 10
00003B8C: 0A 5F
00003B8D: 5F 0A
00004603: 00 3F
00004606: 3F 00
00004607: 00 04
0000460A: 04 00
0000462A: 01 A0
0000462B: A0 01
0000462F: 10 00
00004632: 00 10
00004633: 0B CD
00004636: CD 0B
00005059: 00 15
0000505C: 15 00
0000507C: 00 50
0000507D: 50 00
00005081: 10 00
00005084: 00 10
00005085: 0C 9A
00005088: 9A 0C
00005DDA: 00 3F
00005DDB: 3F 00
00005DDE: 00 05
00005DDF: 05 00
00005DFF: 01 B0
00005E02: B0 01
00005E06: 10 00
00005E07: 00 10
00005E0A: 0C E2
00005E0B: E2 0C
000069C9: 00 16
000069CC: 16 00
000069EC: 00 60
000069ED: 60 00
000069F1: 10 00
000069F4: 00 10
000069F5: 0A E8
000069F8: E8 0A
000077DA: 00 3F
000077DB: 3F 00
000077DE: 00 06
000077DF: 06 00
000077FF: 01 C0
00007802: C0 01
00007806: 10 00
00007807: 00 10
0000780A: 0D 45
0000780B: 45 0D
00007FD5: 00 17
00007FD8: 17 00
00007FF8: 00 70
00007FF9: 70 00
00007FFD: 10 00
00008000: 00 10
00008001: 0A A2
00008004: A2 0A
Für mich sieht das so aus als ob da der Bytecode gewaltig verdreht ist.



Gruss Martin
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

0000000A: 00 3F
0000000B: 3F 00
noch keine unterstützung für einen PPC host drin (endianess?).
sachichdoch :-)
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

was passiert denn wenn du den folgenden Patch reinnimmst?

Code: Alles auswählen

diff -u -r1.4 mkflfs.c
--- a/mkflfs.c	27 May 2004 20:54:34 -0000	1.4
+++ b/mkflfs.c	2 Sep 2007 19:25:13 -0000
@@ -150,8 +150,10 @@
 		exit(2);
 	}
 
-	for(i=0; i< 131072; i++)
+	for(i=0; i< (131072>>1); i++) {
+		putc(sector_00[i+1], pFile);
 		putc(sector_00[i], pFile);
+	}
 	fclose(pFile);
 }
 /*------------------------------------------------------------------*/
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

Erst mal Danke :)

Nachdem ich den patch für das mkflfs eingespielt habe und rausgefunden habe wie man das neu baut (erst "make clean" dann "make all" im Verzeichnis der Sourcen von mkfls) war nachwievor die gebauten files gleich. :gruebel: Nachdem ich kurz vor dem verzweifeln war bin ich mal auf die Idee gekommen zu schaun ob irgendwo nochmal eine mkfls gibt und sieh da im Build verzeichnis liegt nochmal eine natürlich die alte und gebaut hat er immer mit der alten Version . Damit gab das ganze wieder Sinn. Also habe ich kurz die Datei rüberkopiert und sieh da es gibt einen neuen Output. :D


Nur verdreht der nun alles . den ganzen Superblock :( etc

Der Fehler müste daran liegen das der little Endian Word Werte bzw Double Word Werte anders behandelt als der big Endian.

Im source von mkfls gibts ja eine Funktion SWAP_blabla evt ist das die Anpassung um von little Endian Systemen das Filesystem für die Big Endian zu bauen

:gruebel: :gruebel: :gruebel: Martin
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

kannst ja mal mit

Code: Alles auswählen

#define SWAP_WORD(x) x
testen.
Muttersöhnchen
Interessierter
Interessierter
Beiträge: 73
Registriert: Samstag 31. Juli 2004, 18:15

Beitrag von Muttersöhnchen »

Kannst damit versuchen:
http://pastebin.ca/680336