diff options
author | Koen Kooi <koen@openembedded.org> | 2008-08-02 09:03:11 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2008-08-02 09:03:11 +0000 |
commit | 796c0d1eae9c63e4d1108f49f3fcfadfa8a3c0e8 (patch) | |
tree | 342d6f9ebba499ceeeccb0798ff0110e4db08b40 /packages/x-load | |
parent | 5850aeeb7d0ccf93e6845855ba9a696016ff6fa7 (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
Diffstat (limited to 'packages/x-load')
-rw-r--r-- | packages/x-load/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/x-load/files/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/x-load/files/signGP.c | 73 | ||||
-rw-r--r-- | packages/x-load/signgp-native.bb | 14 | ||||
-rw-r--r-- | packages/x-load/x-load-git/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/x-load/x-load-git/beagleboard/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/x-load/x-load-git/beagleboard/armv7-a.patch | 11 | ||||
-rw-r--r-- | packages/x-load/x-load-git/beagleboard/name.patch | 14 | ||||
-rw-r--r-- | packages/x-load/x-load-git/omap3evm/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/x-load/x-load-git/omap3evm/armv7-a.patch | 11 | ||||
-rw-r--r-- | packages/x-load/x-load-git/overo/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/x-load/x-load-git/overo/armv7-a.patch | 11 | ||||
-rw-r--r-- | packages/x-load/x-load.inc | 46 | ||||
-rw-r--r-- | packages/x-load/x-load_git.bb | 27 |
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}" |