summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-08-02 09:03:11 +0000
committerKoen Kooi <koen@openembedded.org>2008-08-02 09:03:11 +0000
commit796c0d1eae9c63e4d1108f49f3fcfadfa8a3c0e8 (patch)
tree342d6f9ebba499ceeeccb0798ff0110e4db08b40
parent5850aeeb7d0ccf93e6845855ba9a696016ff6fa7 (diff)
x-load: merge x-load recipe and patches from http://www.sakoman.net/cgi-bin/gitweb.cgi?p=org.openembedded.dev-omap3.git;a=tree;f=packages/x-load;hb=d19fc238129e7d515c731916bf3bd964c0a8a098
signgp-native: build our own signing tool
-rw-r--r--packages/x-load/.mtn2git_empty0
-rw-r--r--packages/x-load/files/.mtn2git_empty0
-rw-r--r--packages/x-load/files/signGP.c73
-rw-r--r--packages/x-load/signgp-native.bb14
-rw-r--r--packages/x-load/x-load-git/.mtn2git_empty0
-rw-r--r--packages/x-load/x-load-git/beagleboard/.mtn2git_empty0
-rw-r--r--packages/x-load/x-load-git/beagleboard/armv7-a.patch11
-rw-r--r--packages/x-load/x-load-git/beagleboard/name.patch14
-rw-r--r--packages/x-load/x-load-git/omap3evm/.mtn2git_empty0
-rw-r--r--packages/x-load/x-load-git/omap3evm/armv7-a.patch11
-rw-r--r--packages/x-load/x-load-git/overo/.mtn2git_empty0
-rw-r--r--packages/x-load/x-load-git/overo/armv7-a.patch11
-rw-r--r--packages/x-load/x-load.inc46
-rw-r--r--packages/x-load/x-load_git.bb27
14 files changed, 207 insertions, 0 deletions
diff --git a/packages/x-load/.mtn2git_empty b/packages/x-load/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/x-load/.mtn2git_empty
diff --git a/packages/x-load/files/.mtn2git_empty b/packages/x-load/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/x-load/files/.mtn2git_empty
diff --git a/packages/x-load/files/signGP.c b/packages/x-load/files/signGP.c
new file mode 100644
index 0000000000..0e8ed07f52
--- /dev/null
+++ b/packages/x-load/files/signGP.c
@@ -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
index 0000000000..1cbd001932
--- /dev/null
+++ b/packages/x-load/signgp-native.bb
@@ -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
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/x-load/x-load-git/.mtn2git_empty
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
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/x-load/x-load-git/beagleboard/.mtn2git_empty
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
index 0000000000..3131cda6bb
--- /dev/null
+++ b/packages/x-load/x-load-git/beagleboard/armv7-a.patch
@@ -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
index 0000000000..98dcbae497
--- /dev/null
+++ b/packages/x-load/x-load-git/beagleboard/name.patch
@@ -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
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/x-load/x-load-git/omap3evm/.mtn2git_empty
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
index 0000000000..3131cda6bb
--- /dev/null
+++ b/packages/x-load/x-load-git/omap3evm/armv7-a.patch
@@ -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
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/x-load/x-load-git/overo/.mtn2git_empty
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
index 0000000000..3131cda6bb
--- /dev/null
+++ b/packages/x-load/x-load-git/overo/armv7-a.patch
@@ -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
index 0000000000..01db413b12
--- /dev/null
+++ b/packages/x-load/x-load.inc
@@ -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
index 0000000000..ab926eddca
--- /dev/null
+++ b/packages/x-load/x-load_git.bb
@@ -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}"