summaryrefslogtreecommitdiff
path: root/packages/cetools
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cetools')
-rw-r--r--packages/cetools/.mtn2git_empty0
-rw-r--r--packages/cetools/cetools-native_0.3.bb7
-rw-r--r--packages/cetools/cetools_0.3.bb13
-rw-r--r--packages/cetools/files/.mtn2git_empty0
-rw-r--r--packages/cetools/files/sean-hsieh.patch97
5 files changed, 117 insertions, 0 deletions
diff --git a/packages/cetools/.mtn2git_empty b/packages/cetools/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/cetools/.mtn2git_empty
diff --git a/packages/cetools/cetools-native_0.3.bb b/packages/cetools/cetools-native_0.3.bb
index e69de29bb2..4e5408cb85 100644
--- a/packages/cetools/cetools-native_0.3.bb
+++ b/packages/cetools/cetools-native_0.3.bb
@@ -0,0 +1,7 @@
+SECTION = "console/network"
+include cetools_${PV}.bb
+inherit native
+
+do_stage() {
+ install -m 0755 rom2files rom2bin bin2rom dump2bin ${STAGING_BINDIR}
+}
diff --git a/packages/cetools/cetools_0.3.bb b/packages/cetools/cetools_0.3.bb
index e69de29bb2..aa97ec5527 100644
--- a/packages/cetools/cetools_0.3.bb
+++ b/packages/cetools/cetools_0.3.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Ethload for Linux is a tool to send ROM images over ethernet using tftp."
+SECTION = "console/network"
+LICENSE = "GPL"
+SRC_URI = "http://linuxsh.free.fr/tools/cetools-${PV}.tar.gz \
+ file://sean-hsieh.patch;patch=1"
+S = "${WORKDIR}/cetools-${PV}"
+PR = "r1"
+
+inherit autotools
+
+do_configure() {
+ oe_runconf
+}
diff --git a/packages/cetools/files/.mtn2git_empty b/packages/cetools/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/cetools/files/.mtn2git_empty
diff --git a/packages/cetools/files/sean-hsieh.patch b/packages/cetools/files/sean-hsieh.patch
index e69de29bb2..ce1b4965af 100644
--- a/packages/cetools/files/sean-hsieh.patch
+++ b/packages/cetools/files/sean-hsieh.patch
@@ -0,0 +1,97 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- cetools-0.3/bin2rom.c~sean-hsieh
++++ cetools-0.3/bin2rom.c
+@@ -14,6 +14,12 @@
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++ History:
++ 07/14/2000 Sean Hsieh
++ Clear padding bytes of the input buffer when
++ "blockSize < BLOCKSIZE" to avoid the checksum
++ error
+ */
+ #include <stdio.h>
+ #include <sys/stat.h>
+@@ -28,7 +34,7 @@
+
+ #define min(a, b) (a<b)?(a):(b)
+
+-int bin2rom( char * inputName, char * outputName, long start, long boot )
++int bin2rom( char * inputName, char * outputName, long start, long boot, long record )
+ {
+ int input;
+ int output;
+@@ -48,7 +54,7 @@
+
+ int reste;
+
+- printf("bin2rom : input filename = %s, output filename = %s, start = 0x%lx, boot=0x%lx\n", inputName, outputName, start, boot );
++ printf("bin2rom : input filename = %s, output filename = %s, start = 0x%08lx, boot=0x%08lx, record=0x%08lx\n", inputName, outputName, start, boot, record );
+
+ input = open( inputName, O_RDONLY );
+ if( input == -1 )
+@@ -247,7 +253,14 @@
+ while( reste > 0 )
+ {
+ blockSize = min( BLOCKSIZE, reste );
+-
++ /**********************************************************************/
++ /* Modified by Sean Hsieh */
++ /* Clear the padding bytes to zero, this can avoid the checksum error */
++ /**********************************************************************/
++ if ( blockSize != BLOCKSIZE ) {
++ memset( inStart, 0, BLOCKSIZE );
++ //printf( "adding padding bytes\n" );
++ }
+ read( input, inStart, blockSize );
+
+ #ifdef MAP_OUTPUT
+@@ -285,7 +298,8 @@
+
+ write( output, &boot, 4);
+
+- write( output, &nullData, 4);
++ //write( output, &nullData, 4);
++ write( output, &record, 4);
+
+ #endif
+
+@@ -339,17 +353,26 @@
+ {
+ long start;
+ long boot;
++ long record;
+
+- if( argc < 5 )
++ if ( argc < 5 )
+ {
+- printf("bin2rom: <input file> <output file> <start address> <boot address>\n");
+- exit( -1 );
++ printf("bin2rom: <input file> <output file> <start address> <boot address> [<record address>] [-s] [-c]\n");
++ exit( -1 );
+ }
+
+ sscanf( argv[3], "%lx", &start );
+ sscanf( argv[4], "%lx", &boot );
+-
+- bin2rom( argv[1], argv[2], start, boot );
++ if ( argc >= 6 )
++ {
++ sscanf( argv[5], "%lx", &record );
++ }
++ else
++ {
++ record = 0xffffffff;
++ }
++
++ bin2rom( argv[1], argv[2], start, boot, record );
+
+ return 0;
+ }
+\ No newline at end of file