summaryrefslogtreecommitdiff
path: root/packages/apex
diff options
context:
space:
mode:
Diffstat (limited to 'packages/apex')
-rw-r--r--packages/apex/apex_1.2.19.bb28
-rw-r--r--packages/apex/apex_1.4.7.bb58
-rw-r--r--packages/apex/apex_1.5.4.bb (renamed from packages/apex/apex_1.4.11.bb)21
-rw-r--r--packages/apex/files/.mtn2git_empty0
-rw-r--r--packages/apex/files/fix-compiler-inlining.patch28
-rw-r--r--packages/apex/nslu2/defconfig25
6 files changed, 60 insertions, 100 deletions
diff --git a/packages/apex/apex_1.2.19.bb b/packages/apex/apex_1.2.19.bb
deleted file mode 100644
index 027dfaa194..0000000000
--- a/packages/apex/apex_1.2.19.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "APEX Boot Loader"
-SECTION = ""
-PRIORITY = "optional"
-HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
-LICENSE = "GPL"
-PR = "r0"
-
-SRC_URI = "ftp://ftp.buici.com/pub/apex/apex-${PV}.tar.gz \
- file://defconfig"
-
-EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}"
-
-oe_runmake() {
- #FIXME: /home/slug/openslug/tmp/cross/bin/armeb-linux- is incorrect, but
- # the cross bin directory should be on the PATH
- oenote make ${PARALLEL_MAKE} CROSS_COMPILE=/home/slug/openslug/tmp/cross/bin/armeb-linux- "$@"
- make ${PARALLEL_MAKE} LDFLAGS= CROSS_COMPILE=/home/slug/openslug/tmp/cross/bin/armeb-linux- "$@" || die "oe_runmake failed"
-}
-
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config
- oe_runmake oldconfig
-}
-
-do_populate_staging() {
- install -d ${STAGING_LOADER_DIR}
- install -m 0755 src/arch-arm/rom/apex.bin ${STAGING_LOADER_DIR}/apex.bin
-}
diff --git a/packages/apex/apex_1.4.7.bb b/packages/apex/apex_1.4.7.bb
deleted file mode 100644
index 713cc833fd..0000000000
--- a/packages/apex/apex_1.4.7.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-DESCRIPTION = "APEX Boot Loader"
-SECTION = ""
-PRIORITY = "optional"
-HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
-LICENSE = "GPL"
-PR = "r1"
-
-SRC_URI = "ftp://ftp.buici.com/pub/apex/apex-${PV}.tar.gz \
- file://defconfig"
-
-EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}"
-
-oe_runmake() {
- oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} "$@"
- make ${PARALLEL_MAKE} LDFLAGS= CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} "$@" || die "oe_runmake failed"
-}
-
-# FIXME - make this the same as the distro kernel compilation
-CMDLINE="console=ttyS0,115200 rootfstype=jffs2 root=/dev/mtdblock4 rw init=/linuxrc noirqdebug"
-
-# Set the correct CONFIG_USER_xxx_ENDIAN and CONFIG_CMDLINE at the head
-# of the .config file and remove any settings in defconfig then append
-# defconfig to .config
-do_configure() {
- rm -f ${S}/.config
- . ${CONFIG_SITE}
- if [ "x$ac_cv_c_bigendian" = "xyes" -o "x$ac_cv_c_littleendian" = "xno" ]; then
- sed -e 's/.*CONFIG_USER_BIGENDIAN.*/CONFIG_USER_BIGENDIAN=y/' \
- -e 's/.*CONFIG_BIGENDIAN.*/CONFIG_BIGENDIAN=y/' \
- -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE}\"|' \
- ${WORKDIR}/defconfig > ${S}/.config
- elif [ "x$ac_cv_c_littleendian" = "xyes" -o "x$ac_cv_c_bigendian" = "xno" ]; then
- sed -e 's/.*CONFIG_USER_LITTLEENDIAN.*/CONFIG_USER_LITTLEENDIAN=y/' \
- -e 's/.*CONFIG_LITTLEENDIAN.*/CONFIG_LITTLEENDIAN=y/' \
- -e 's/.*CONFIG_ENV_REGION_KERNEL_SWAP.*/CONFIG_ENV_REGION_KERNEL_SWAP=y/' \
- -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE}\"|' \
- ${WORKDIR}/defconfig > ${S}/.config
- else
- oefatal do_configure cannot determine endianess
- fi
- oe_runmake oldconfig
-}
-
-DEPENDS += "devio-native"
-
-do_populate_staging() {
- install -d ${STAGING_LOADER_DIR}
- . ${CONFIG_SITE}
- if [ "x$ac_cv_c_bigendian" = "xyes" -o "x$ac_cv_c_littleendian" = "xno" ]; then
- # FIXME - arch-arm should not be hard-coded
- cp src/arch-arm/rom/apex.bin ${STAGING_LOADER_DIR}/apex.bin
- elif [ "x$ac_cv_c_littleendian" = "xyes" -o "x$ac_cv_c_bigendian" = "xno" ]; then
- # FIXME - arch-arm should not be hard-coded
- devio '<<'src/arch-arm/rom/apex.bin >${STAGING_LOADER_DIR}/apex.bin 'xp $,4'
- else
- oefatal do_populate_staging cannot determine endianess
- fi
-}
diff --git a/packages/apex/apex_1.4.11.bb b/packages/apex/apex_1.5.4.bb
index 713cc833fd..de6ecdf0ea 100644
--- a/packages/apex/apex_1.4.11.bb
+++ b/packages/apex/apex_1.5.4.bb
@@ -5,9 +5,21 @@ HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
LICENSE = "GPL"
PR = "r1"
+# Note that this recipe only works for the NSLU2 at the moment.
+# Patches to make it more generic are welcome.
+
SRC_URI = "ftp://ftp.buici.com/pub/apex/apex-${PV}.tar.gz \
+ file://fix-compiler-inlining.patch;patch=1 \
file://defconfig"
+CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "ttyS0"}"
+
+CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2 rw"
+
+CMDLINE_ROOT_nslu2 = "root=/dev/mtdblock4 rootfstype=jffs2 rw init=/linuxrc"
+CMDLINE_ROOT_dsmg600 = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc"
+CMDLINE_ROOT_nas100d = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc"
+
EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}"
oe_runmake() {
@@ -15,9 +27,6 @@ oe_runmake() {
make ${PARALLEL_MAKE} LDFLAGS= CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} "$@" || die "oe_runmake failed"
}
-# FIXME - make this the same as the distro kernel compilation
-CMDLINE="console=ttyS0,115200 rootfstype=jffs2 root=/dev/mtdblock4 rw init=/linuxrc noirqdebug"
-
# Set the correct CONFIG_USER_xxx_ENDIAN and CONFIG_CMDLINE at the head
# of the .config file and remove any settings in defconfig then append
# defconfig to .config
@@ -27,13 +36,15 @@ do_configure() {
if [ "x$ac_cv_c_bigendian" = "xyes" -o "x$ac_cv_c_littleendian" = "xno" ]; then
sed -e 's/.*CONFIG_USER_BIGENDIAN.*/CONFIG_USER_BIGENDIAN=y/' \
-e 's/.*CONFIG_BIGENDIAN.*/CONFIG_BIGENDIAN=y/' \
- -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE}\"|' \
+ -e 's/.*CONFIG_TARGET_DESCRIPTION.*/CONFIG_TARGET_DESCRIPTION=\"OpenEmbedded NSLU2 (big endian)\"/' \
+ -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE_CONSOLE} ${CMDLINE_ROOT} ${CMDLINE_DEBUG}\"|' \
${WORKDIR}/defconfig > ${S}/.config
elif [ "x$ac_cv_c_littleendian" = "xyes" -o "x$ac_cv_c_bigendian" = "xno" ]; then
sed -e 's/.*CONFIG_USER_LITTLEENDIAN.*/CONFIG_USER_LITTLEENDIAN=y/' \
-e 's/.*CONFIG_LITTLEENDIAN.*/CONFIG_LITTLEENDIAN=y/' \
-e 's/.*CONFIG_ENV_REGION_KERNEL_SWAP.*/CONFIG_ENV_REGION_KERNEL_SWAP=y/' \
- -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE}\"|' \
+ -e 's/.*CONFIG_TARGET_DESCRIPTION.*/CONFIG_TARGET_DESCRIPTION=\"OpenEmbedded NSLU2 (little endian)\"/' \
+ -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE_CONSOLE} ${CMDLINE_ROOT} ${CMDLINE_DEBUG}\"|' \
${WORKDIR}/defconfig > ${S}/.config
else
oefatal do_configure cannot determine endianess
diff --git a/packages/apex/files/.mtn2git_empty b/packages/apex/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/apex/files/.mtn2git_empty
diff --git a/packages/apex/files/fix-compiler-inlining.patch b/packages/apex/files/fix-compiler-inlining.patch
new file mode 100644
index 0000000000..427068dab2
--- /dev/null
+++ b/packages/apex/files/fix-compiler-inlining.patch
@@ -0,0 +1,28 @@
+--- apex-1.5.4/src/arch-arm/entry/apex.lds.S~ 2007-05-31 14:54:41.000000000 +0930
++++ apex-1.5.4/src/arch-arm/entry/apex.lds.S 2007-06-02 14:26:51.000000000 +0930
+@@ -48,8 +48,8 @@
+ }
+ .reset.post : { /* Post-SDRAM init code.*/
+ *(.reset.post)
+- *(.reset.postfn)
+- *(.reset.postex)
++ *(.reset.post.func)
++ *(.reset.post.exit)
+ }
+ .rlocate : { /* Final/only relocation of APEX to SDRAM */
+ *(.rlocate)
+--- apex-1.5.4/src/arch-arm/entry/reset.c~ 2007-05-31 14:54:41.000000000 +0930
++++ apex-1.5.4/src/arch-arm/entry/reset.c 2007-06-02 14:27:20.000000000 +0930
+@@ -292,10 +292,10 @@
+ // __asm volatile ("mov sp, %0" :: "r" (&APEX_VMA_STACK_START));
+
+ __asm volatile ("mov r0, %0" :: "r" (offset));
+- __asm volatile ("b reset_post_2");
++ __asm volatile ("b reset_post_exit");
+ }
+
+-void __naked __section (.reset.post) reset_post_2 (void)
++void __naked __section (.reset.post.exit) reset_post_exit (void)
+ {
+ }
+
diff --git a/packages/apex/nslu2/defconfig b/packages/apex/nslu2/defconfig
index ccec463e98..560d2e2e51 100644
--- a/packages/apex/nslu2/defconfig
+++ b/packages/apex/nslu2/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version:
-# Tue Jan 9 22:31:18 2007
+# Wed May 30 22:29:37 2007
#
CONFIG_ARM=y
CONFIG_CPU_ARMV5=y
@@ -17,6 +17,7 @@ CONFIG_EXPERIMENTAL=y
#
# General Setup
#
+CONFIG_TARGET_DESCRIPTION="SlugOS NSLU2 (bigendian)"
CONFIG_CROSS_COMPILE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
@@ -70,6 +71,7 @@ CONFIG_DEL_IS_BS=y
CONFIG_ANSI_KEYS=y
CONFIG_COMMAND_HISTORY=y
CONFIG_COMMAND_EDITING=y
+# CONFIG_TIME_COMMANDS is not set
CONFIG_CMD_ALIAS=y
CONFIG_CMD_CHECKSUM=y
CONFIG_CMD_COPY=y
@@ -85,7 +87,8 @@ CONFIG_CMD_INFO=y
# CONFIG_CMD_PAUSE is not set
CONFIG_CMD_WAIT=y
CONFIG_CMD_XRECEIVE=y
-# CONFIG_CMD_MEMLIMIT is not set
+CONFIG_CMD_MEMLIMIT=y
+CONFIG_CMD_MEMSCAN=y
#
# Generic Drivers
@@ -97,6 +100,10 @@ CONFIG_DRIVER_FIS=y
CONFIG_DRIVER_FIS_BLOCKDEVICE="nor:0x7e0000+4k"
CONFIG_DRIVER_NOR_CFI=y
# CONFIG_DRIVER_NOR_CFI_NO_BUFFERED is not set
+# CONFIG_DRIVER_NOR_CFI_USE_CACHE is not set
+CONFIG_DRIVER_NOR_CFI_TYPE_INTEL=y
+# CONFIG_DRIVER_NOR_CFI_TYPE_SPANSION is not set
+# CONFIG_DRIVER_ONENAND is not set
# CONFIG_DRIVER_IXP4XX_NPE_ETH is not set
CONFIG_USES_NOR_CFI=y
CONFIG_USES_PATHNAME_PARSER=y
@@ -108,13 +115,13 @@ CONFIG_USES_IXP4XX_NPE_ETH=y
CONFIG_ENV=y
CONFIG_ENV_MUTABLE=y
CONFIG_ENV_LINK=y
-CONFIG_ENV_REGION="nor:0x7fc000+15k"
+CONFIG_ENV_REGION="nor:0x7f8000+16k"
CONFIG_ENV_CHECK_LEN=1024
-CONFIG_VARIATIONS=y
-CONFIG_VARIATION_SUFFIX="-alt"
+# CONFIG_VARIATIONS is not set
# CONFIG_NO_BOOTSTRAP is not set
CONFIG_NOR_BOOT=y
# CONFIG_NAND_BOOT is not set
+# CONFIG_ONENAND_BOOT is not set
# CONFIG_COMPANION_EVT1_BOOT is not set
# CONFIG_COMPANION_EVT2_BOOT is not set
@@ -130,16 +137,16 @@ CONFIG_ENV_STARTUP_KERNEL_COPY=y
# Regions
#
CONFIG_ENV_REGION_KERNEL="fis://kernel"
-# CONFIG_ENV_REGION_KERNEL_ALT_P is not set
#
# Overrides
#
CONFIG_ENV_DEFAULT_CMDLINE_OVERRIDE=y
-CONFIG_ENV_DEFAULT_CMDLINE="console=ttyS0,115200 rootfstype=jffs2 root=/dev/mtdblock4 rw init=/linuxrc noirqdebug"
-# CONFIG_ENV_DEFAULT_CMDLINE_ALT_P is not set
+CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/mtdblock4 rootfstype=jffs2 console=ttyS0,115200"
# CONFIG_ENV_DEFAULT_STARTUP_OVERRIDE is not set
-# CONFIG_ENV_DEFAULT_STARTUP_ALT_P is not set
CONFIG_USES_NOR_BOOTFLASH=y
+CONFIG_RELOCATE_SIMPLE=y
+# CONFIG_BIGENDIAN is not set
+# CONFIG_LITTLEENDIAN is not set
CONFIG_CLEAR_STACKS=y
CONFIG_ALIASES=y