Newmake Build Image -> "No System"

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

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

Beitrag von MPC823 »

Danke werde es morgen probieren heute sehe ich nix mehr.


Ich habe mal den rohfile des u-boot einmal durch den mkflfs des x86 und einmal des ppc gejagt und der output sieht verwirrend aus. Wen es mal jemand anschauen möchte .


Danke für den link :-)

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

Beitrag von MPC823 »

Mit dem fix klappt es :D

Zum testen habe ich nun mal den gleichen file durch die x86 Version und die PPC version gejagt. Beidesmal den selben "Output"

Jetzt muss ich nur noch durchklappern welche der Hostapplicationen das gleiche Problem hat. Dann sollte es funktionieren.

Nun muss ich mir nur noch klar machen warum ein "SWAP_WORD(x) (x)" andere Auswirkungen hat als die "SWAP_WORD(x)" einfach auszukommentieren. :gruebel:

Echt intressant das ganze .

Danke an euch beiden das Ihr mir den roten Faden wieder vor die Füsse gelegt habt.

Martin

Sobald ich die Hostapplicationen durch habe gebe ich mal kurz Bescheid bin leider nicht gerade der schnellste hihi
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

in dem geposteten link gibts noch ein paar weitere Änderungen
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Beitrag von MPC823 »

Bin euch echt zu Dank veplichtet vermutlich hätte es bis zu meiner Rente gedauert bis ich das Problem selbst in den Griff bekommen hätte.

Anbei mal für die Nachwelt den Diif vom Orginalfile zu dem modfizierten Version von Muttersöhnchen

Code: Alles auswählen

--- mkflfs.c.orig	2007-09-06 20:26:41.000000000 +0200
+++ mkflfs.c	2007-09-04 08:02:05.000000000 +0200
@@ -37,11 +37,10 @@
  *
  */
 
-
+#include <endian.h>
 #include <stdio.h>
 #include "mkflfs.h"
 #include <string.h>
-#include <byteswap.h>
 #include "minilzo.h"
 #include "lzoconf.h"
 
@@ -57,12 +56,15 @@
 
 static HEAP_ALLOC(wrkmem,LZO1X_1_MEM_COMPRESS);
 /*-----------------------------------------------------------------------------*/
-
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define SWAP_WORD(x) (x)
+#else
 #define SWAP_WORD(x) \
  temp = x >> 8; \
  temp = temp | (x << 8 ); \
  x = temp;
-
+#include <byteswap.h>
+#endif
 
 u8 input[262144];
 u8 sector_00[131072];
@@ -294,6 +296,7 @@
 	unsigned short s63 = 0x3f;
 	unsigned short blockNR_backup;
 
+
 	if (dummy==1)
 	{
 		blockNR_backup=blockNR + 1;
@@ -412,7 +415,11 @@
 		data_block_header0.datum=0x00;
 		for(i=0;i<4;i++)
 			data_block_header0.garbage[i]=0x00;
+#if __BYTE_ORDER == __BIG_ENDIAN
+		data_block_header0.offset_im_file=offset;
+#else
 		data_block_header0.offset_im_file=bswap_32(offset);
+#endif
 		SWAP_WORD(plen);
 		SWAP_WORD(ulen);
 		data_block_header0.ulen=ulen;
@@ -608,4 +615,3 @@
 	return 0;
 }
 
-
Ich wusste gar nicht das es solchen eine Funktion gibt ist natürlich praktisch das es das gibt.
Über das SWAP_WORD(x) gibts im Web nicht allzuviell zu lesen.



Also Danke nochmal für die Hilfe :-)

Gruss Martin


P.S wäre schön wenn das jemand ins cvs mit einpflegen könnte.