diff options
Diffstat (limited to 'recipes/arm-kernel-shim')
-rw-r--r-- | recipes/arm-kernel-shim/arm-kernel-shim_1.5.bb | 85 | ||||
-rw-r--r-- | recipes/arm-kernel-shim/files/config-dsmg600.h | 27 | ||||
-rw-r--r-- | recipes/arm-kernel-shim/files/config-fsg3.h | 28 | ||||
-rw-r--r-- | recipes/arm-kernel-shim/files/config-nas100d.h | 32 | ||||
-rw-r--r-- | recipes/arm-kernel-shim/files/config-nslu2.h | 32 |
5 files changed, 204 insertions, 0 deletions
diff --git a/recipes/arm-kernel-shim/arm-kernel-shim_1.5.bb b/recipes/arm-kernel-shim/arm-kernel-shim_1.5.bb new file mode 100644 index 0000000000..c6761c99b2 --- /dev/null +++ b/recipes/arm-kernel-shim/arm-kernel-shim_1.5.bb @@ -0,0 +1,85 @@ +DESCRIPTION = "ARM Kernel Shim" +SECTION = "" +PRIORITY = "optional" +HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader" +LICENSE = "GPL" +PR = "r2" + +COMPATIBLE_MACHINE = "(ixp4xx|nslu2|fsg3)" + +SRC_URI = "ftp://ftp.buici.com/pub/arm/arm-kernel-shim/arm-kernel-shim-${PV}.tar.gz \ + file://config-nslu2.h \ + file://config-nas100d.h \ + file://config-dsmg600.h \ + file://config-fsg3.h" + +S = ${WORKDIR}/arm-kernel-shim-${PV} + +CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "ttyS0"}" + +CMDLINE_ROOT_DSMG600 = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc" +CMDLINE_ROOT_NAS100D = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc" +CMDLINE_ROOT_NSLU2 = "root=/dev/mtdblock4 rootfstype=jffs2 rw init=/linuxrc" +# CMDLINE is passed correctly on the Freecom FSG-3 from the bootloader. + +EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}" + +oe_runmake() { + mv ${S}/config.h ${S}/config.h.orig + # NSLU2 + if [ ${SITEINFO_ENDIANESS} == "be" ] ; then + sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \ + ${WORKDIR}/config-nslu2.h > ${S}/config.h + else + sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \ + ${WORKDIR}/config-nslu2.h > ${S}/config.h + fi + echo "#define COMMANDLINE \"${CMDLINE_CONSOLE} ${CMDLINE_ROOT_NSLU2} ${CMDLINE_DEBUG}\"" >> ${S}/config.h + rm -f ${S}/main.o + oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 + make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 || die "oe_runmake failed" + # NAS100d + if [ ${SITEINFO_ENDIANESS} == "be" ] ; then + sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \ + ${WORKDIR}/config-nas100d.h > ${S}/config.h + else + sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \ + ${WORKDIR}/config-nas100d.h > ${S}/config.h + fi + echo "#define COMMANDLINE \"${CMDLINE_CONSOLE} ${CMDLINE_ROOT_NAS100D} ${CMDLINE_DEBUG}\"" >> ${S}/config.h + rm -f ${S}/main.o + oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d + make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d || die "oe_runmake failed" + # DSMG-600 + if [ ${SITEINFO_ENDIANESS} == "be" ] ; then + sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \ + ${WORKDIR}/config-dsmg600.h > ${S}/config.h + else + sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \ + ${WORKDIR}/config-dsmg600.h > ${S}/config.h + fi + echo "#define COMMANDLINE \"${CMDLINE_CONSOLE} ${CMDLINE_ROOT_DSMG600} ${CMDLINE_DEBUG}\"" >> ${S}/config.h + rm -f ${S}/main.o + oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 + make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 || die "oe_runmake failed" + # FSG-3 + if [ ${SITEINFO_ENDIANESS} == "be" ] ; then + sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \ + ${WORKDIR}/config-fsg3.h > ${S}/config.h + else + sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \ + ${WORKDIR}/config-fsg3.h > ${S}/config.h + fi + rm -f ${S}/main.o + oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 + make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 || die "oe_runmake failed" + mv ${S}/config.h.orig ${S}/config.h +} + +do_stage() { + install -d ${STAGING_LOADER_DIR} + cp ${S}/arm-kernel-shim-nslu2.bin ${STAGING_LOADER_DIR}/ + cp ${S}/arm-kernel-shim-nas100d.bin ${STAGING_LOADER_DIR}/ + cp ${S}/arm-kernel-shim-dsmg600.bin ${STAGING_LOADER_DIR}/ + cp ${S}/arm-kernel-shim-fsg3.bin ${STAGING_LOADER_DIR}/ +} diff --git a/recipes/arm-kernel-shim/files/config-dsmg600.h b/recipes/arm-kernel-shim/files/config-dsmg600.h new file mode 100644 index 0000000000..ebe53901b8 --- /dev/null +++ b/recipes/arm-kernel-shim/files/config-dsmg600.h @@ -0,0 +1,27 @@ +/* config.h + + written by Marc Singer + 23 Jun 2006 + + Copyright (C) 2006 Marc Singer + + ----------- + DESCRIPTION + ----------- + +*/ + +#if !defined (__CONFIG_H__) +# define __CONFIG_H__ + +#define PHYS_PARAMS 0x00000100 /* Address for the parameter list */ + +#define MACH_TYPE 964 + +#define GUARANTEE_ATAG_CMDLINE + +/* Uncomment one of these to switch the CPU into a specific mode. */ +//#define FORCE_LITTLEENDIAN +//#define FORCE_BIGENDIAN + +#endif /* __CONFIG_H__ */ diff --git a/recipes/arm-kernel-shim/files/config-fsg3.h b/recipes/arm-kernel-shim/files/config-fsg3.h new file mode 100644 index 0000000000..fa894e89ac --- /dev/null +++ b/recipes/arm-kernel-shim/files/config-fsg3.h @@ -0,0 +1,28 @@ +/* config.h + + written by Marc Singer + 23 Jun 2006 + + Copyright (C) 2006 Marc Singer + + ----------- + DESCRIPTION + ----------- + +*/ + +#if !defined (__CONFIG_H__) +# define __CONFIG_H__ + +#define PHYS_PARAMS 0x00000100 /* Address for the parameter list */ + +#define RAM_BANK0_START 0x00000000 +#define RAM_BANK0_LENGTH 0x04000000 + +#define MACH_TYPE 1091 + +/* Uncomment one of these to switch the CPU into a specific mode. */ +//#define FORCE_LITTLEENDIAN +//#define FORCE_BIGENDIAN + +#endif /* __CONFIG_H__ */ diff --git a/recipes/arm-kernel-shim/files/config-nas100d.h b/recipes/arm-kernel-shim/files/config-nas100d.h new file mode 100644 index 0000000000..99bc91fb7a --- /dev/null +++ b/recipes/arm-kernel-shim/files/config-nas100d.h @@ -0,0 +1,32 @@ +/* config.h + + written by Marc Singer + 23 Jun 2006 + + Copyright (C) 2006 Marc Singer + + ----------- + DESCRIPTION + ----------- + +*/ + +#if !defined (__CONFIG_H__) +# define __CONFIG_H__ + +#define PHYS_PARAMS 0x00000100 /* Address for the parameter list */ + +#define RAM_BANK0_START 0x00000000 +#define RAM_BANK0_LENGTH 0x04000000 + +#define MACH_TYPE 865 + +#define CREATE_ATAGS + +#define GUARANTEE_ATAG_CMDLINE + +/* Uncomment one of these to switch the CPU into a specific mode. */ +//#define FORCE_LITTLEENDIAN +//#define FORCE_BIGENDIAN + +#endif /* __CONFIG_H__ */ diff --git a/recipes/arm-kernel-shim/files/config-nslu2.h b/recipes/arm-kernel-shim/files/config-nslu2.h new file mode 100644 index 0000000000..c751d84a44 --- /dev/null +++ b/recipes/arm-kernel-shim/files/config-nslu2.h @@ -0,0 +1,32 @@ +/* config.h + + written by Marc Singer + 23 Jun 2006 + + Copyright (C) 2006 Marc Singer + + ----------- + DESCRIPTION + ----------- + +*/ + +#if !defined (__CONFIG_H__) +# define __CONFIG_H__ + +#define PHYS_PARAMS 0x00000100 /* Address for the parameter list */ + +#define RAM_BANK0_START 0x00000000 +#define RAM_BANK0_LENGTH 0x02000000 + +#define MACH_TYPE 597 + +#define CREATE_ATAGS + +#define GUARANTEE_ATAG_CMDLINE + +/* Uncomment one of these to switch the CPU into a specific mode. */ +//#define FORCE_LITTLEENDIAN +//#define FORCE_BIGENDIAN + +#endif /* __CONFIG_H__ */ |