openmoko-session2: add RDEPENDS openmoko-panel-memory and oe-stylize
[vuplus_openembedded] / packages / arm-kernel-shim / arm-kernel-shim_1.5.bb
1 DESCRIPTION = "ARM Kernel Shim"
2 SECTION = ""
3 PRIORITY = "optional"
4 HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
5 LICENSE = "GPL"
6 PR = "r2"
7
8 COMPATIBLE_MACHINE = "(ixp4xx|nslu2|fsg3)"
9
10 SRC_URI = "ftp://ftp.buici.com/pub/arm/arm-kernel-shim/arm-kernel-shim-${PV}.tar.gz \
11            file://config-nslu2.h \
12            file://config-nas100d.h \
13            file://config-dsmg600.h \
14            file://config-fsg3.h"
15
16 S = ${WORKDIR}/arm-kernel-shim-${PV}
17
18 CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "ttyS0"}"
19
20 CMDLINE_ROOT_DSMG600 = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc"
21 CMDLINE_ROOT_NAS100D = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc"
22 CMDLINE_ROOT_NSLU2   = "root=/dev/mtdblock4 rootfstype=jffs2 rw init=/linuxrc"
23 # CMDLINE is passed correctly on the Freecom FSG-3 from the bootloader.
24
25 EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}"
26
27 oe_runmake() {
28         mv ${S}/config.h ${S}/config.h.orig
29         # NSLU2
30         if [ ${SITEINFO_ENDIANESS} == "be" ] ; then
31                 sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \
32                         ${WORKDIR}/config-nslu2.h > ${S}/config.h
33         else
34                 sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
35                         ${WORKDIR}/config-nslu2.h > ${S}/config.h
36         fi
37         echo "#define COMMANDLINE \"${CMDLINE_CONSOLE} ${CMDLINE_ROOT_NSLU2} ${CMDLINE_DEBUG}\"" >> ${S}/config.h
38         rm -f ${S}/main.o
39         oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2
40         make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 || die "oe_runmake failed"
41         # NAS100d
42         if [ ${SITEINFO_ENDIANESS} == "be" ] ; then
43                 sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \
44                         ${WORKDIR}/config-nas100d.h > ${S}/config.h
45         else
46                 sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
47                         ${WORKDIR}/config-nas100d.h > ${S}/config.h
48         fi
49         echo "#define COMMANDLINE \"${CMDLINE_CONSOLE} ${CMDLINE_ROOT_NAS100D} ${CMDLINE_DEBUG}\"" >> ${S}/config.h
50         rm -f ${S}/main.o
51         oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d
52         make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d || die "oe_runmake failed"
53         # DSMG-600
54         if [ ${SITEINFO_ENDIANESS} == "be" ] ; then
55                 sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \
56                         ${WORKDIR}/config-dsmg600.h > ${S}/config.h
57         else
58                 sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
59                         ${WORKDIR}/config-dsmg600.h > ${S}/config.h
60         fi
61         echo "#define COMMANDLINE \"${CMDLINE_CONSOLE} ${CMDLINE_ROOT_DSMG600} ${CMDLINE_DEBUG}\"" >> ${S}/config.h
62         rm -f ${S}/main.o
63         oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600
64         make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 || die "oe_runmake failed"
65         # FSG-3
66         if [ ${SITEINFO_ENDIANESS} == "be" ] ; then
67                 sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \
68                         ${WORKDIR}/config-fsg3.h > ${S}/config.h
69         else
70                 sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
71                         ${WORKDIR}/config-fsg3.h > ${S}/config.h
72         fi
73         rm -f ${S}/main.o
74         oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3
75         make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 || die "oe_runmake failed"
76         mv ${S}/config.h.orig ${S}/config.h
77 }
78
79 do_populate_staging() {
80         install -d ${STAGING_LOADER_DIR}
81         cp ${S}/arm-kernel-shim-nslu2.bin ${STAGING_LOADER_DIR}/
82         cp ${S}/arm-kernel-shim-nas100d.bin ${STAGING_LOADER_DIR}/
83         cp ${S}/arm-kernel-shim-dsmg600.bin ${STAGING_LOADER_DIR}/
84         cp ${S}/arm-kernel-shim-fsg3.bin ${STAGING_LOADER_DIR}/
85 }