summaryrefslogtreecommitdiff
path: root/packages/arm-kernel-shim
diff options
context:
space:
mode:
Diffstat (limited to 'packages/arm-kernel-shim')
-rw-r--r--packages/arm-kernel-shim/arm-kernel-shim_1.3.bb77
-rw-r--r--packages/arm-kernel-shim/arm-kernel-shim_1.5.bb (renamed from packages/arm-kernel-shim/arm-kernel-shim_1.4.bb)14
-rw-r--r--packages/arm-kernel-shim/files/cmdline_if_none.patch45
-rw-r--r--packages/arm-kernel-shim/files/config-dsmg600.h6
-rw-r--r--packages/arm-kernel-shim/files/config-fsg3.h2
-rw-r--r--packages/arm-kernel-shim/files/config-nas100d.h4
-rw-r--r--packages/arm-kernel-shim/files/config-nslu2.h4
-rw-r--r--packages/arm-kernel-shim/files/passthrough-atags.patch20
8 files changed, 16 insertions, 156 deletions
diff --git a/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb b/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb
deleted file mode 100644
index 339f663e25..0000000000
--- a/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb
+++ /dev/null
@@ -1,77 +0,0 @@
-DESCRIPTION = "ARM Kernel Shim"
-SECTION = ""
-PRIORITY = "optional"
-HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
-LICENSE = "GPL"
-PR = "r5"
-
-COMPATIBLE_MACHINE = "(ixp4xx|nslu2)"
-
-SRC_URI = "ftp://ftp.buici.com/pub/arm/arm-kernel-shim/arm-kernel-shim-${PV}.tar.gz \
- file://passthrough-atags.patch;patch=1 \
- file://cmdline_if_none.patch;patch=1 \
- file://config-nslu2.h \
- file://config-nas100d.h \
- file://config-dsmg600.h \
- file://config-fsg3.h"
-
-S = ${WORKDIR}/arm-kernel-shim-${PV}/${PV}
-
-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
- 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
- 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
- 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_populate_staging() {
- 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/packages/arm-kernel-shim/arm-kernel-shim_1.4.bb b/packages/arm-kernel-shim/arm-kernel-shim_1.5.bb
index 2b285f3b90..4bdf7a86e3 100644
--- a/packages/arm-kernel-shim/arm-kernel-shim_1.4.bb
+++ b/packages/arm-kernel-shim/arm-kernel-shim_1.5.bb
@@ -3,26 +3,24 @@ SECTION = ""
PRIORITY = "optional"
HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
LICENSE = "GPL"
-PR = "r2"
+# PR = "r1"
COMPATIBLE_MACHINE = "(ixp4xx|nslu2)"
SRC_URI = "ftp://ftp.buici.com/pub/arm/arm-kernel-shim/arm-kernel-shim-${PV}.tar.gz \
- file://passthrough-atags.patch;patch=1 \
- file://cmdline_if_none.patch;patch=1 \
file://config-nslu2.h \
file://config-nas100d.h \
file://config-dsmg600.h \
file://config-fsg3.h"
-S = ${WORKDIR}/arm-kernel-shim-${PV}/1.3
+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"
-CMDLINE_ROOT_NAS100D = "root=/dev/mtdblock2 rootfstype=jffs2 rw"
-CMDLINE_ROOT_NSLU2 = "root=/dev/mtdblock4 rootfstype=jffs2 rw"
-CMDLINE_ROOT_FSG3 = "root=/dev/mtdblock2 rootfstype=jffs2 rw"
+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_ROOT_FSG3 = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc"
EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}"
diff --git a/packages/arm-kernel-shim/files/cmdline_if_none.patch b/packages/arm-kernel-shim/files/cmdline_if_none.patch
deleted file mode 100644
index 460f7be090..0000000000
--- a/packages/arm-kernel-shim/files/cmdline_if_none.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- arm-kernel-shim-1.3/main.c.orig 2007-02-14 19:05:35.000000000 -0600
-+++ arm-kernel-shim-1.3/main.c 2007-02-14 22:48:06.000000000 -0600
-@@ -153,6 +153,42 @@
- p->hdr.tag = ATAG_NONE;
- p->hdr.size = 0;
-
-+#else
-+
-+#ifdef CMDLINE_IF_NONE
-+
-+ /* Walk over the ATAG list, we need to find the end of the list.
-+ * If we find a command line tag, stash away the pointer to the
-+ * actual command line itself. Note that the implementation
-+ * below assumes a single ATAG_CMDLINE passed in from the
-+ * bootloader, which may not be a good assumption in all cases.
-+ */
-+ {
-+ char *c = 0;
-+ for_each_tag(p, (struct tag*) PHYS_PARAMS)
-+ if (p->hdr.tag == ATAG_CMDLINE) c = p->u.cmdline.cmdline;
-+
-+ /* p -> final tag (ATAG_NONE), and c -> command line if found */
-+ /* if no ATAG_CMDLINE, or command line is empty, add the default one. */
-+
-+ if ((c == 0) || (*c == 0)) {
-+ p->hdr.tag = ATAG_CMDLINE;
-+ p->hdr.size = tag_size (tag_cmdline)
-+ + (sizeof (cmdline)+3)/4 - 1;
-+ {
-+ const char* sz = cmdline + offset;
-+ int i;
-+ for (i = 0; i < sizeof (cmdline); ++i)
-+ p->u.cmdline.cmdline[i] = sz[i];
-+ }
-+ p = tag_next (p);
-+ p->hdr.tag = ATAG_NONE;
-+ p->hdr.size = 0;
-+ }
-+ }
-+
-+#endif
-+
- #endif
-
- /* Pass control to the kernel */
diff --git a/packages/arm-kernel-shim/files/config-dsmg600.h b/packages/arm-kernel-shim/files/config-dsmg600.h
index c320dc1b3b..eda1e9c264 100644
--- a/packages/arm-kernel-shim/files/config-dsmg600.h
+++ b/packages/arm-kernel-shim/files/config-dsmg600.h
@@ -18,12 +18,6 @@
#define MACH_TYPE 964
-/* The DSM-G600 RedBoot sets up the ATAGs correctly */
-#define PASSTHROUGH_ATAGS
-
-/* but if the command line passed in is empty, use the default. */
-#define CMDLINE_IF_NONE
-
/* Uncomment one of these to switch the CPU into a specific mode. */
//#define FORCE_LITTLEENDIAN
//#define FORCE_BIGENDIAN
diff --git a/packages/arm-kernel-shim/files/config-fsg3.h b/packages/arm-kernel-shim/files/config-fsg3.h
index fa894e89ac..9b88462e89 100644
--- a/packages/arm-kernel-shim/files/config-fsg3.h
+++ b/packages/arm-kernel-shim/files/config-fsg3.h
@@ -21,6 +21,8 @@
#define MACH_TYPE 1091
+#define CREATE_ATAGS
+
/* Uncomment one of these to switch the CPU into a specific mode. */
//#define FORCE_LITTLEENDIAN
//#define FORCE_BIGENDIAN
diff --git a/packages/arm-kernel-shim/files/config-nas100d.h b/packages/arm-kernel-shim/files/config-nas100d.h
index 90f5520e7d..99bc91fb7a 100644
--- a/packages/arm-kernel-shim/files/config-nas100d.h
+++ b/packages/arm-kernel-shim/files/config-nas100d.h
@@ -21,6 +21,10 @@
#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
diff --git a/packages/arm-kernel-shim/files/config-nslu2.h b/packages/arm-kernel-shim/files/config-nslu2.h
index 73566d061d..c751d84a44 100644
--- a/packages/arm-kernel-shim/files/config-nslu2.h
+++ b/packages/arm-kernel-shim/files/config-nslu2.h
@@ -21,6 +21,10 @@
#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
diff --git a/packages/arm-kernel-shim/files/passthrough-atags.patch b/packages/arm-kernel-shim/files/passthrough-atags.patch
deleted file mode 100644
index 194279df89..0000000000
--- a/packages/arm-kernel-shim/files/passthrough-atags.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- arm-kernel-shim-1.3/main.c~ 2007-02-11 05:52:32.000000000 +1030
-+++ arm-kernel-shim-1.3/main.c 2007-02-14 16:39:40.000000000 +1030
-@@ -100,6 +100,8 @@
- : "+r" (offset)
- :: "lr", "cc");
-
-+#if !defined (PASSTHROUGH_ATAGS)
-+
- p = (struct tag*) PHYS_PARAMS;
-
- /* Always start with the CORE tag */
-@@ -151,6 +153,8 @@
- p->hdr.tag = ATAG_NONE;
- p->hdr.size = 0;
-
-+#endif
-+
- /* Pass control to the kernel */
- boot (0, MACH_TYPE, PHYS_PARAMS);
- }