Ursache für 'Kein System'

Diskussionen um Bootloader, Kernel, Busybox
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

@ Kroki

habe auch nochmal ein paar Tests gemacht:

--> Es wird der komplette flash gescanned

--> Richtige Ziffernfolgen bewirken auch in einer jffs2 Partition den Fehler

--> Entscheident sind die letzten 4 Byte an den 128 KB Grenzen

Folgende Ziffernfolgen in Analogie zur BR Signatur habe ich bisher analysiert:

C3 BE, C3 CE, C3 FE

Wie gesagt entscheident sind die letzten 4 Byte, z.B:

C3 BE XX XX oder XX XX C3 BE ---> lösen den Fehler aus

e46ti
Zuletzt geändert von e46ti am Samstag 26. Februar 2005, 11:38, insgesamt 1-mal geändert.
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

e46ti hat geschrieben:@ Kroki

habe auch nochmal ein paar Tests gemacht:

--> Es wird der komplette flash gescanned

--> Richtige Ziffernfolgen bewirken auch in einer jffs2 Partition den Fehler

--> Entscheident sind die letzten 4 Byte an der 128 KB Grenze

Folgende Ziffernfolgen in Analogie zur BR Signatur habe ich bisher analysiert:

C3 BE, C3 CE, C3 FE

Wie gesagt entscheident sind die letzten 4 Byte, z.B:

C3 BE XX XX oder XX XX C3 BE ---> lösen den Fehler aus

e46ti
Interessant, ich schik dir gerne snapshots die nicht laufen... zum analysieren das Problem hab ich ja auch öfters...
Man sollte villeicht ein tool schreiben was die betreffenden stellen ausgibt dann - ist sicher leichter zum zusammentragen.

Gruß Riker
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

Hallo Riker,

schick mir doch mal bitte einen dieser snapshots. Ja das mit dem tool würde die Sache sich vereinfachen. aber natürlich nicht lösen...
Ich arbeite zur Zeit mit der kleineren block_size, mal sehen wie lange es dauert bis da der Fehler auftritt?

e46ti
Zuletzt geändert von e46ti am Freitag 4. März 2005, 10:56, insgesamt 1-mal geändert.
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

@all

Ich habe mal den Gedanken von Riker aufgegriffen und mir Gedanken über ein Analysetool gemacht. Es bietet sich ja an, dies direkt im mksquashfs code zu machen:

Code: Alles auswählen

	int v, w = 0, x, y, z;
	unsigned char value[4];

	printf("\n");
	printf("*** Checking for magic bytes at 128 KB sector ends ***\n");

	z = (int) (bytes / 131072);

	printf("%d sectors must be checked...\n", z);


	for(y = 1; y <= z; y++) {
	
	    x = (y * 131072) - 4;
	    
	    if(lseek(fd, x, SEEK_SET) == -1) {
		perror("Lseek on destination failed");
		EXIT_MKSQUASHFS();
	    }
	    if(read(fd, value, 4) == -1) {
		perror("Read on destination failed");
		EXIT_MKSQUASHFS();
	    }

	    if((value[0] == 0xC3)||(value[2] == 0xC3)) {
	        printf("Suspicious end bytes at 0x%x found: 0x%x 0x%x 0x%x 0x%x\n", x, value[0], value[1], value[2], value[3]);
		
		while(w <= 15) {	
		    w++;
		    v = w * 16 + 14;
		    if((value[1] == v)||(value[3] == v))
		    goto err;
		}
	    }

	}
	
	printf("*** No magic bytes found ***\n");				
	close(fd);
	return 0;

	err:
	    printf("*** If you flash this image these bytes cause 'no system' ***");
	    close(fd);
	    return 0;
e46ti

PS: Diesen code einfach am Ende von main() in mksquashfs.c einfügen :wink:
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Und was ist bei cramfs ? - das Tool sollte unabhängig nach dem jffs2 / cramfs / squashfs aufruf aufrufbar sein, denn es gibt ja auch noch andere Dateisysteme für die Box

Zumindest setze ich beim JTG Image noch Cramfs ein.

Gruß Riker
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Ich wäre auch eher für ein Tool, das mach Erstellung eines beliebigen FS dieses auf entsprechende Magics überprüft. Ist einfach universeller und benötigt auch keine weitere gepatche Software (mksquashfs, mkcramfs, mkblafoofs)
There are 10 types of people in the world: those who know binary and those who don't
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

Ich habe aus dem Code gestern mal ein rudimentäres Tool gebastelt.

Soweit ich folgen konnte, sollte das ja für alle Filesysteme gültig sein oder?
Wie verhält es sich, wenn man ein Komplettimage mit mehreren Filesystemen hat, geht das dann auch?

Ich kann es heute Abend ja mal einchecken. Dann können alle daran rumbasteln. ;)

Gruß
mogway
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Bei einem Komplettimage sollte man die ersten 128K überspringen können - wäre sonst irgendwie unsinnig ;)
There are 10 types of people in the world: those who know binary and those who don't
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

@all

der o.g. code ist natürlich auf alle Dateisysteme anwendbar. Macht aber bei jffs2 Partitionen nur eingeschränkt Sinn.

e46ti

PS: Neuen Benutzer gegenüber ist der Ton hier überaus freundlich :(
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Hi,

klasse das es jetzt ein Tool gibt....
Das mit dem ersten Block überspringen währe nicht schlecht, lässt sich sicher über einen Parameter machen. Gut wäre es aber wenn man den Block angeben könnte, denn einige haben ja das FLFS hinten liegen.
Oder man prüft den Superblock(FLFS) vom 128K-Block, wenn dieser auftaucht, dann wird der Block übersprungen.

Wenn trotz Prüfung 'kein System' kommt, sollten wir hier dann die Debug-Ausagabe posten ?? Dann kann man hieraus sicherlich noch fehlende 'Bad Magics' zufügen, oder ?


Gruß Kroki
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

Hallo Kroki,

Du benutzt doch auch squashfs??. Modifiziere Dir einfach das mksquashfs ist die sauberste Lösung, dann brauchst Du auch nichts überspringen.

Wenn dann ein Fehler angezeigt wird, einfach nochmal mksquashfs zusätzlich mit -b 32768 und fertig.

Das ist aber nur eine Zwischenlösung, optimal wird das ganze erst mit einem squashfs/mksquashfs das die 128 KB Grenzen nicht benutzt. Da bin ich im Moment dran. Ich werde dies hier aber nicht mehr public machen.

e46ti
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

e46ti:

Warum möchtest Du Deine Ergebnisse hier nicht mehr veröffentlichen?

Ist Dir im Laufe dieses Thread jemand auf den Schlips getreten?

Ich kann eigentlich nur eine konstruktive Diskussion erkennen :gruebel:
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

@DieMade,

wenn ich mir jetzt den code in checkImage.c vom cvs so ansehe, stelle ich fest, daß dort viel weitergehend analysiert wird. Dies setzt sehr detaillierte Kenntnisse über dieses Problem voraus. Ich frage mich jetzt, warum ich hier sowenig bei der Analyse dieses Problems unterstützt wurde, obwohl das know how dafür ja schon länger vorhanden zu sein scheint?

Ich fände es auch sinnvoll, wenn mal jemand beschreiben könnte, warum die Analyse jetzt genau so und nicht anders erfolgt.

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

Beitrag von dietmarw »

e46ti hat geschrieben:...
PS: Neuen Benutzer gegenüber ist der Ton hier überaus freundlich :(
wer oder was ihm da auch immer über die leber gelaufen ist??
ich verfolge dieses thema ja auch, aber habe nichts von entgleisungen gemerkt..
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

@dietmarw
...
PS: Neuen Benutzer gegenüber ist der Ton hier überaus freundlich :(
War wohl ein wenig unglücklich ausgedrückt, besser wäre gewesen:

PS: Neuen Benutzer gegenüber ist die Unterstützung hier, sofern es sich nicht um Standardfragen handelt, sehr zurückhaltend bis nicht vorhanden.

e46ti
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

e46ti hat geschrieben:Neuen Benutzer gegenüber ist die Unterstützung hier, sofern es sich nicht um Standardfragen handelt, sehr zurückhaltend bis nicht vorhanden.
Hi,

Standardfragen können halt vom normalen Benutzer beantwortet werden (in der Regel redseliger), hingegen der eine oder andere Know-How-Träger entweder noch nie/grundsätzlich nicht bzw. nur bei konkreter Direktanfrage per PN Auskunft gibt.

Das kann man natürlich als neuer Benutzer so nicht wissen, das stellt sich aber früher oder später ein.

Gruß
mash

P.S. Nach meiner Erfahrung ist die Resonanz auf den Thread "normal".
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

Hi,

'wir haben verstanden...' :D

so bevor ich jetzt aber wieder Tage/Abende damit verbringe die squashfs sourcen umzuschreiben, hier doch nochmal die Frage an die Experten:

Ist es sinnvoll diesen Weg zu gehen, also die 128 KB Grenzen auszusparen oder gibt es noch eine elegantere Lösung??

Gern auch PN.

e46ti
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

@all

Warum wurde checkimage wieder aus dem CVS genommen ??

->Logic (c) bei alexW .... :gruebel: .... kann ich nicht so ganz nachvollziehen....

Gruß Kroki
amiga23
Einsteiger
Einsteiger
Beiträge: 238
Registriert: Sonntag 14. November 2004, 23:44

Beitrag von amiga23 »

Keine Macht den Softwarepatenten :evil:

Ist alexW etwa ein Ire ;-)

http://www.nosoftwarepatents.com/phpBB2 ... .php?t=390
e46ti
Interessierter
Interessierter
Beiträge: 74
Registriert: Montag 14. Februar 2005, 10:10

Beitrag von e46ti »

@amiga23,

bei solche Kommentaren kann man AlexW vielleicht sogar verstehen :gruebel:

Er möchte offensichtlich nicht, daß dies public wird. Ich denke, man sollte dies einfach respektieren und vielleicht mal selber forschen. Manchmal hilft dies ungemein und die anderen hier hätten vielleicht auch etwas davon :D

e46ti
alexW
Developer
Beiträge: 631
Registriert: Donnerstag 24. Januar 2002, 12:21

Beitrag von alexW »

e46ti hat geschrieben:Er möchte offensichtlich nicht, daß dies public wird.
Das einzige was ich nicht will, ist dass meine Arbeit geklaut und unerlaubt veroeffentlicht wird.
Wie du ja selbst schon festgestellt hat, wurde ueber Nacht die Erkennung scheinbar um ein grosses Wissen erweitert. Da dies aber nicht durch eigene Forschung desjenigen, sondern durch Kopie aus meinem Quellcode geschah, ist das nicht erlaubt. Der Quellcode meines Programms steht unter (c) und ich habe keinem die Erlaubnis dazu gegeben ihn zu veroeffentlichen.
Aber falls jemanden das Historische interessiert.. das Herausfinden der Magics hat mich ca. 2-3 Tage und Naechte gekostet und ist jetzt schon fast 1,5 Jahre her. Achja, der BL sucht nicht nur nach einer FLFS Magic.

Wie und woher nun Teile aus meinem Code ins CVS kamen spielen jetzt keine Rolle und sollen hier auch keiner Diskussion wert sein. Der Code, der in der Lage ist das entsprechende FS aber zu fixen, gelangt garantiert nicht an die Oeffentlichkeit, das kann ich versprechen.

P.S.: Die Idee mit dem "sperren" der letzten Bytes des Sektorenendes hatte ich auch mal ;)
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

hi,
alexW hat geschrieben:Da dies aber nicht durch eigene Forschung desjenigen, sondern durch Kopie aus meinem Quellcode geschah, ist das nicht erlaubt. Der Quellcode meines Programms steht unter (c) und ich habe keinem die Erlaubnis dazu gegeben ihn zu veroeffentlichen.
..sorry ich verstehe das nicht. Nehmen wir mal an ich besorge mir einen Disassembler und nehme den Bootloader or whatever auseinander ('eigene Forschung') und schreib ein paar Komentare dazu...kann ich das dann unter mein (c) stellen? Fuer mich ist das stinknormales Reverse Engineering fuer das ich nach meinem Verstaendnis hoechstens eine Klage des Rechteinhaber an den Hals bekomme wenn ich das unter mein (c) stelle.

just my 2c,
peter
alexW
Developer
Beiträge: 631
Registriert: Donnerstag 24. Januar 2002, 12:21

Beitrag von alexW »

petgun hat geschrieben:Nehmen wir mal an ich besorge mir einen Disassembler und nehme den Bootloader or whatever auseinander ('eigene Forschung') und schreib ein paar Komentare dazu...
Genau auf diese Art und Weise sind die Werte nicht in Erfahrung gebracht worden und das kann ich auch beweisen.
alexW
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Hi,
danke fuer Deine Antwort! Ich sagte ja, das ich es nicht verstanden habe!

cu,
peter
Dirch
Senior Member
Beiträge: 394
Registriert: Freitag 9. November 2001, 00:00

Beitrag von Dirch »

alexW hat geschrieben:Das einzige was ich nicht will, ist dass meine Arbeit geklaut und unerlaubt veroeffentlicht wird.
Wie du ja selbst schon festgestellt hat, wurde ueber Nacht die Erkennung scheinbar um ein grosses Wissen erweitert. Da dies aber nicht durch eigene Forschung desjenigen, sondern durch Kopie aus meinem Quellcode geschah, ist das nicht erlaubt. Der Quellcode meines Programms steht unter (c) und ich habe keinem die Erlaubnis dazu gegeben ihn zu veroeffentlichen.
Aber falls jemanden das Historische interessiert.. das Herausfinden der Magics hat mich ca. 2-3 Tage und Naechte gekostet und ist jetzt schon fast 1,5 Jahre her. Achja, der BL sucht nicht nur nach einer FLFS Magic.

Wie und woher nun Teile aus meinem Code ins CVS kamen spielen jetzt keine Rolle und sollen hier auch keiner Diskussion wert sein. Der Code, der in der Lage ist das entsprechende FS aber zu fixen, gelangt garantiert nicht an die Oeffentlichkeit, das kann ich versprechen.

P.S.: Die Idee mit dem "sperren" der letzten Bytes des Sektorenendes hatte ich auch mal ;)
Sorry Alex, aber irgendwie kann ich das nicht nachvollziehen. Ja, deine arbeit, deine lorbeeren.

Und das du ein paar tage investiert hast um das rauszufinden is ja super. Ich denke hier haben sehr viele leute zeit investiert. Nur ganz wenige sind aber auf ihrere arbeit hocken geblieben wie eine eifersuechtige henne auf ihrem ei. Was haelt dich eigentlich davon ab das tool einzuchecken, ruhig unter deinem (c)?

Also wenn du dich so anstellst darfst du dich imho nicht wundern wenn ein anderer sich noch mal die arbeit macht (sehr schade um die zeitverschwendung) oder deine arbeit reversed und das dann allen zur verfuegung stellt.

Also welchen vorteil hast du denn dadurch das nicht public zu machen? :gruebel:

Wenn sich alle so anstellen wuerden dann gaebe es diese projekt gar nicht und DU waerst auch gar nicht in der lage gewesen dieses tool zu basteln. Also denk doch mal etwas weiter . . . .

Just my two cents

\D