diff options
Diffstat (limited to 'packages/apex')
-rw-r--r-- | packages/apex/apex_1.2.19.bb | 28 | ||||
-rw-r--r-- | packages/apex/apex_1.4.7.bb | 58 | ||||
-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_empty | 0 | ||||
-rw-r--r-- | packages/apex/files/fix-compiler-inlining.patch | 28 | ||||
-rw-r--r-- | packages/apex/nslu2/defconfig | 25 |
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 |