x-load: merge x-load recipe and patches from http://www.sakoman.net/cgi-bin/gitweb...
authorKoen Kooi <koen@openembedded.org>
Sat, 2 Aug 2008 09:03:11 +0000 (09:03 +0000)
committerKoen Kooi <koen@openembedded.org>
Sat, 2 Aug 2008 09:03:11 +0000 (09:03 +0000)
signgp-native: build our own signing tool

14 files changed:
packages/x-load/.mtn2git_empty [new file with mode: 0644]
packages/x-load/files/.mtn2git_empty [new file with mode: 0644]
packages/x-load/files/signGP.c [new file with mode: 0644]
packages/x-load/signgp-native.bb [new file with mode: 0644]
packages/x-load/x-load-git/.mtn2git_empty [new file with mode: 0644]
packages/x-load/x-load-git/beagleboard/.mtn2git_empty [new file with mode: 0644]
packages/x-load/x-load-git/beagleboard/armv7-a.patch [new file with mode: 0644]
packages/x-load/x-load-git/beagleboard/name.patch [new file with mode: 0644]
packages/x-load/x-load-git/omap3evm/.mtn2git_empty [new file with mode: 0644]
packages/x-load/x-load-git/omap3evm/armv7-a.patch [new file with mode: 0644]
packages/x-load/x-load-git/overo/.mtn2git_empty [new file with mode: 0644]
packages/x-load/x-load-git/overo/armv7-a.patch [new file with mode: 0644]
packages/x-load/x-load.inc [new file with mode: 0644]
packages/x-load/x-load_git.bb [new file with mode: 0644]

diff --git a/packages/x-load/.mtn2git_empty b/packages/x-load/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/x-load/files/.mtn2git_empty b/packages/x-load/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/x-load/files/signGP.c b/packages/x-load/files/signGP.c
new file mode 100644 (file)
index 0000000..0e8ed07
--- /dev/null
@@ -0,0 +1,73 @@
+//
+// signGP.c
+// Read the x-load.bin file and write out the x-load.bin.ift file.
+// The signed image is the original pre-pended with the size of the image
+// and the load address.  If not entered on command line, file name is
+// assumed to be x-load.bin in current directory and load address is
+// 0x40200800.
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <string.h>
+#include <malloc.h>
+
+
+main(int argc, char *argv[])
+{
+       int     i;
+       char    ifname[FILENAME_MAX], ofname[FILENAME_MAX], ch;
+       FILE    *ifile, *ofile;
+       unsigned long   loadaddr, len;
+       struct stat     sinfo;
+
+
+       // Default to x-load.bin and 0x40200800.
+       strcpy(ifname, "x-load.bin");
+       loadaddr = 0x40200800;
+
+       if ((argc == 2) || (argc == 3))
+               strcpy(ifname, argv[1]);
+
+       if (argc == 3)
+               loadaddr = strtol(argv[2], NULL, 16);
+
+       // Form the output file name.
+       strcpy(ofname, ifname);
+       strcat(ofname, ".ift");
+
+       // Open the input file.
+       ifile = fopen(ifname, "rb");
+       if (ifile == NULL) {
+               printf("Cannot open %s\n", ifname);
+               exit(0);
+       }
+
+       // Get file length.
+       stat(ifname, &sinfo);
+       len = sinfo.st_size;
+
+       // Open the output file and write it.
+       ofile = fopen(ofname, "wb");
+       if (ofile == NULL) {
+               printf("Cannot open %s\n", ofname);
+               fclose(ifile);
+               exit(0);
+       }
+
+       // Pad 1 sector of zeroes.
+       //ch = 0x00;
+       //for (i=0; i<0x200; i++)
+       //      fwrite(&ch, 1, 1, ofile);
+
+       fwrite(&len, 1, 4, ofile);
+       fwrite(&loadaddr, 1, 4, ofile);
+       for (i=0; i<len; i++) {
+               fread(&ch, 1, 1, ifile);
+               fwrite(&ch, 1, 1, ofile);
+       }
+
+       fclose(ifile);
+       fclose(ofile);
+}
diff --git a/packages/x-load/signgp-native.bb b/packages/x-load/signgp-native.bb
new file mode 100644 (file)
index 0000000..1cbd001
--- /dev/null
@@ -0,0 +1,14 @@
+LICENSE = "unknown"
+DESCRIPTION = "Tool to sign omap3 x-loader images"
+
+inherit native 
+SRC_URI = "file://signGP.c"
+
+do_compile() {
+       ${CC} ${WORKDIR}/signGP.c -o signGP
+}
+
+do_stage() {
+       install -d ${STAGING_BINDIR_NATIVE}
+       install -m 0755 signGP ${STAGING_BINDIR_NATIVE}
+}
diff --git a/packages/x-load/x-load-git/.mtn2git_empty b/packages/x-load/x-load-git/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/x-load/x-load-git/beagleboard/.mtn2git_empty b/packages/x-load/x-load-git/beagleboard/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/x-load/x-load-git/beagleboard/armv7-a.patch b/packages/x-load/x-load-git/beagleboard/armv7-a.patch
new file mode 100644 (file)
index 0000000..3131cda
--- /dev/null
@@ -0,0 +1,11 @@
+--- git/cpu/omap3/config.mk-orig       2008-05-27 16:46:45.000000000 -0700
++++ git/cpu/omap3/config.mk    2008-05-29 12:50:49.000000000 -0700
+@@ -23,7 +23,7 @@
+ PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8 \
+       -msoft-float
+-PLATFORM_CPPFLAGS += -march=armv7a
++PLATFORM_CPPFLAGS += -march=armv7-a
+ # =========================================================================
+ #
+ # Supply options according to compiler version
diff --git a/packages/x-load/x-load-git/beagleboard/name.patch b/packages/x-load/x-load-git/beagleboard/name.patch
new file mode 100644 (file)
index 0000000..98dcbae
--- /dev/null
@@ -0,0 +1,14 @@
+--- git/Makefile-orig  2008-07-29 22:31:03.000000000 -0700
++++ git/Makefile       2008-07-29 22:34:36.000000000 -0700
+@@ -152,9 +152,9 @@ omap3evm_config :  unconfig
+ overo_config :        unconfig
+       @./mkconfig $(@:_config=) arm omap3 overo
+-omap3530beagle_config :    unconfig
++beagleboard_config :    unconfig
+-      @./mkconfig $(@:_config=) arm omap3 omap3530beagle
++      @./mkconfig omap3530beagle arm omap3 omap3530beagle
+ #########################################################################
diff --git a/packages/x-load/x-load-git/omap3evm/.mtn2git_empty b/packages/x-load/x-load-git/omap3evm/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/x-load/x-load-git/omap3evm/armv7-a.patch b/packages/x-load/x-load-git/omap3evm/armv7-a.patch
new file mode 100644 (file)
index 0000000..3131cda
--- /dev/null
@@ -0,0 +1,11 @@
+--- git/cpu/omap3/config.mk-orig       2008-05-27 16:46:45.000000000 -0700
++++ git/cpu/omap3/config.mk    2008-05-29 12:50:49.000000000 -0700
+@@ -23,7 +23,7 @@
+ PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8 \
+       -msoft-float
+-PLATFORM_CPPFLAGS += -march=armv7a
++PLATFORM_CPPFLAGS += -march=armv7-a
+ # =========================================================================
+ #
+ # Supply options according to compiler version
diff --git a/packages/x-load/x-load-git/overo/.mtn2git_empty b/packages/x-load/x-load-git/overo/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/x-load/x-load-git/overo/armv7-a.patch b/packages/x-load/x-load-git/overo/armv7-a.patch
new file mode 100644 (file)
index 0000000..3131cda
--- /dev/null
@@ -0,0 +1,11 @@
+--- git/cpu/omap3/config.mk-orig       2008-05-27 16:46:45.000000000 -0700
++++ git/cpu/omap3/config.mk    2008-05-29 12:50:49.000000000 -0700
+@@ -23,7 +23,7 @@
+ PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8 \
+       -msoft-float
+-PLATFORM_CPPFLAGS += -march=armv7a
++PLATFORM_CPPFLAGS += -march=armv7-a
+ # =========================================================================
+ #
+ # Supply options according to compiler version
diff --git a/packages/x-load/x-load.inc b/packages/x-load/x-load.inc
new file mode 100644 (file)
index 0000000..01db413
--- /dev/null
@@ -0,0 +1,46 @@
+DESCRIPTION = "x-load bootloader loader"
+SECTION = "bootloaders"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+DEPENDS = "signgp-native"
+
+PARALLEL_MAKE=""
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+
+XLOAD_MACHINE ?= "${MACHINE}_config"
+
+XLOAD_IMAGE ?= "x-load-${MACHINE}-${PV}-${PR}.bin.ift"
+XLOAD_SYMLINK ?= "x-load-${MACHINE}.bin.ift"
+MLO_IMAGE ?= "MLO-${MACHINE}-${PV}-${PR}"
+MLO_SYMLINK ?= "MLO-${MACHINE}"
+
+do_compile () {
+       unset LDFLAGS
+       unset CFLAGS
+       unset CPPFLAGS
+       oe_runmake distclean
+       oe_runmake ${XLOAD_MACHINE}
+       oe_runmake
+}
+
+do_deploy () {
+       signGP ${S}/x-load.bin
+       install -d ${DEPLOY_DIR_IMAGE}
+       install ${S}/x-load.bin.ift ${DEPLOY_DIR_IMAGE}/${XLOAD_IMAGE}
+       install ${S}/x-load.bin.ift ${DEPLOY_DIR_IMAGE}/${MLO_IMAGE}
+       package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${XLOAD_IMAGE}
+       package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${MLO_IMAGE}
+
+       cd ${DEPLOY_DIR_IMAGE}
+       rm -f ${XLOAD_SYMLINK}
+       ln -sf ${XLOAD_IMAGE} ${XLOAD_SYMLINK}
+       rm -f ${MLO_SYMLINK}
+       ln -sf ${MLO_IMAGE} ${MLO_SYMLINK}
+       package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${XLOAD_SYMLINK}
+       package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${MLO_SYMLINK}
+}
+do_deploy[dirs] = "${S}"
+addtask deploy before do_build after do_compile
+
diff --git a/packages/x-load/x-load_git.bb b/packages/x-load/x-load_git.bb
new file mode 100644 (file)
index 0000000..ab926ed
--- /dev/null
@@ -0,0 +1,27 @@
+require x-load.inc
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/x-load-git/${MACHINE}"
+
+SRCREV = "04ad40d5c8bca196aa4a5dfe945a007e21f1b149"
+
+PV = "1.41+${PR}+git${SRCREV}"
+PR="r6"
+
+SRC_URI = "git://www.sakoman.net/git/x-load-omap3.git;branch=master;protocol=git"
+
+SRC_URI_append_beagleboard = " \
+                              file://name.patch;patch=1 \
+                              file://armv7-a.patch;patch=1 \
+                             "
+
+SRC_URI_append_omap3evm = " \
+                              file://armv7-a.patch;patch=1 \
+                             "
+
+SRC_URI_append_overo = " \
+                              file://armv7-a.patch;patch=1 \
+                             "
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"