apex: Enabled support for 16MiB NSLU2 support
authorRod Whitby <rod@whitby.id.au>
Sat, 18 Aug 2007 05:22:21 +0000 (05:22 +0000)
committerRod Whitby <rod@whitby.id.au>
Sat, 18 Aug 2007 05:22:21 +0000 (05:22 +0000)
packages/apex/apex-nslu2-16mb_1.5.8.bb [new file with mode: 0644]
packages/apex/apex-nslu2_1.5.8.bb [moved from packages/apex/apex_1.5.8.bb with 92% similarity]
packages/apex/nslu2/defconfig
packages/apex/nslu2/defconfig-16mb [new file with mode: 0644]

diff --git a/packages/apex/apex-nslu2-16mb_1.5.8.bb b/packages/apex/apex-nslu2-16mb_1.5.8.bb
new file mode 100644 (file)
index 0000000..e5bf98a
--- /dev/null
@@ -0,0 +1,69 @@
+DESCRIPTION = "APEX Boot Loader"
+SECTION = ""
+PRIORITY = "optional"
+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://defconfig-16mb"
+S = ${WORKDIR}/apex-${PV}
+
+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() {
+       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"
+}
+
+# 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_TARGET_DESCRIPTION.*/CONFIG_TARGET_DESCRIPTION=\"OpenEmbedded NSLU2\/BE (16MiB Flash)\"/' \
+             -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE_CONSOLE} ${CMDLINE_ROOT} ${CMDLINE_DEBUG}\"|' \
+               ${WORKDIR}/defconfig-16mb > ${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_TARGET_DESCRIPTION.*/CONFIG_TARGET_DESCRIPTION=\"OpenEmbedded NSLU2\/LE (16MiB Flash)\"/' \
+             -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE_CONSOLE} ${CMDLINE_ROOT} ${CMDLINE_DEBUG}\"|' \
+               ${WORKDIR}/defconfig-16mb > ${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-nslu2-16mb.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-nslu2-16mb.bin 'xp $,4'
+       else
+               oefatal do_populate_staging cannot determine endianess
+       fi
+}
similarity index 92%
rename from packages/apex/apex_1.5.8.bb
rename to packages/apex/apex-nslu2_1.5.8.bb
index ccf08ca..6ed2d20 100644 (file)
@@ -10,6 +10,7 @@ LICENSE = "GPL"
 
 SRC_URI = "ftp://ftp.buici.com/pub/apex/apex-${PV}.tar.gz \
           file://defconfig"
+S = ${WORKDIR}/apex-${PV}
 
 CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "ttyS0"}"
 
@@ -35,14 +36,14 @@ 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_TARGET_DESCRIPTION.*/CONFIG_TARGET_DESCRIPTION=\"OpenEmbedded NSLU2 (big endian)\"/' \
+             -e 's/.*CONFIG_TARGET_DESCRIPTION.*/CONFIG_TARGET_DESCRIPTION=\"OpenEmbedded NSLU2\/BE (8MiB Flash)\"/' \
              -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_TARGET_DESCRIPTION.*/CONFIG_TARGET_DESCRIPTION=\"OpenEmbedded NSLU2 (little endian)\"/' \
+             -e 's/.*CONFIG_TARGET_DESCRIPTION.*/CONFIG_TARGET_DESCRIPTION=\"OpenEmbedded NSLU2\/LE (8MiB Flash)\"/' \
              -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE_CONSOLE} ${CMDLINE_ROOT} ${CMDLINE_DEBUG}\"|' \
                ${WORKDIR}/defconfig > ${S}/.config
        else
@@ -58,10 +59,10 @@ do_populate_staging() {
        . ${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
+               cp src/arch-arm/rom/apex.bin ${STAGING_LOADER_DIR}/apex-nslu2.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'
+               devio '<<'src/arch-arm/rom/apex.bin >${STAGING_LOADER_DIR}/apex-nslu2.bin 'xp $,4'
        else
                oefatal do_populate_staging cannot determine endianess
        fi
index 9bdbef2..3c8522e 100644 (file)
@@ -17,7 +17,7 @@ CONFIG_EXPERIMENTAL=y
 #
 # General Setup
 #
-CONFIG_TARGET_DESCRIPTION="SlugOS NSLU2 (bigendian)"
+CONFIG_TARGET_DESCRIPTION="SlugOS NSLU2/BE (8MiB Flash)"
 CONFIG_CROSS_COMPILE=""
 CONFIG_AEABI=y
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -46,7 +46,6 @@ CONFIG_NOR_BUSWIDTH=16
 CONFIG_NOR_BANK0=y
 CONFIG_NOR_BANK0_START=0x50000000
 CONFIG_NOR_BANK0_LENGTH=0x00800000
-CONFIG_ENV_STARTUP=""
 CONFIG_MACH="ixp42x"
 CONFIG_MACH_NSLU2=y
 # CONFIG_MACH_NAS100D is not set
@@ -116,7 +115,7 @@ CONFIG_USES_IXP4XX_NPE_ETH=y
 CONFIG_ENV=y
 CONFIG_ENV_LINK=y
 CONFIG_ENV_MUTABLE=y
-CONFIG_ENV_REGION="nor:0x7f8000+16k"
+CONFIG_ENV_REGION="nor:0x7c000+16k"
 # CONFIG_ENV_SAVEATONCE is not set
 CONFIG_ENV_CHECK_LEN=1024
 # CONFIG_VARIATIONS is not set
diff --git a/packages/apex/nslu2/defconfig-16mb b/packages/apex/nslu2/defconfig-16mb
new file mode 100644 (file)
index 0000000..c9688e3
--- /dev/null
@@ -0,0 +1,156 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 
+# Fri Jun  1 17:35:34 2007
+#
+CONFIG_ARM=y
+CONFIG_CPU_ARMV5=y
+CONFIG_CPU_XSCALE=y
+# CONFIG_ARCH_LH7952X is not set
+# CONFIG_ARCH_LH7A40X is not set
+CONFIG_ARCH_IXP42X=y
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_MX3 is not set
+CONFIG_EXPERIMENTAL=y
+# CONFIG_SMALL is not set
+
+#
+# General Setup
+#
+CONFIG_TARGET_DESCRIPTION="SlugOS NSLU2/BE (16MiB Flash)"
+CONFIG_CROSS_COMPILE=""
+CONFIG_AEABI=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
+# CONFIG_CC_NO_OPTIMIZATION is not set
+CONFIG_STARTUP_UART=y
+# CONFIG_DEBUG_LL is not set
+CONFIG_SPINNER=y
+CONFIG_ATAG=y
+CONFIG_MMU=y
+# CONFIG_FORCE_WRITETHROUGH_DCACHE is not set
+CONFIG_DISABLE_MMU_AT_BOOT=y
+# CONFIG_INTERRUPTS is not set
+CONFIG_SDRAMBOOT_REPORT=y
+CONFIG_STACK_SIZE=0x1000
+CONFIG_STACKLIMIT=y
+# CONFIG_BOOTSTRAP_MEMTEST is not set
+CONFIG_ATAG_PHYS=0x00000100
+CONFIG_ARCH_NUMBER=597
+CONFIG_APEX_VMA=0x00200000
+CONFIG_KERNEL_LMA=0x00008000
+# CONFIG_USE_RAMDISK is not set
+CONFIG_SDRAM_BANK0=y
+# CONFIG_SDRAM_BANK1 is not set
+CONFIG_NOR_BUSWIDTH=16
+CONFIG_NOR_BANK0=y
+CONFIG_NOR_BANK0_START=0x50000000
+CONFIG_NOR_BANK0_LENGTH=0x01000000
+CONFIG_MACH="ixp42x"
+CONFIG_MACH_NSLU2=y
+# CONFIG_MACH_NAS100D is not set
+# CONFIG_MACH_DSMG600 is not set
+# CONFIG_MACH_AVILA2347 is not set
+# CONFIG_USER_DEFAULTENDIAN is not set
+# CONFIG_USER_BIGENDIAN is not set
+# CONFIG_USER_LITTLEENDIAN is not set
+
+#
+# Platform Setup
+#
+CONFIG_SDRAM_BANK_LENGTH=0x02000000
+# CONFIG_DISABLE_SECOND_UART_INIT is not set
+CONFIG_ARCH_IXP420=y
+
+#
+# Commands
+#
+CONFIG_ALLHELP=y
+CONFIG_ALPHABETIZE_COMMANDS=y
+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
+CONFIG_CMD_COMPARE=y
+CONFIG_CMD_DRVINFO=y
+CONFIG_CMD_DUMP=y
+CONFIG_CMD_ENV=y
+CONFIG_CMD_SETENV=y
+CONFIG_CMD_ERASE=y
+CONFIG_CMD_FILL=y
+CONFIG_CMD_GO=y
+CONFIG_CMD_INFO=y
+# CONFIG_CMD_PAUSE is not set
+CONFIG_CMD_WAIT=y
+CONFIG_CMD_XRECEIVE=y
+CONFIG_CMD_MEMLIMIT=y
+CONFIG_CMD_MEMSCAN=y
+
+#
+# Generic Drivers
+#
+# CONFIG_DRIVER_FAT is not set
+# CONFIG_DRIVER_EXT2 is not set
+# CONFIG_DRIVER_JFFS2 is not set
+CONFIG_DRIVER_FIS=y
+CONFIG_DRIVER_FIS_BLOCKDEVICE="nor:0xfe0000+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
+CONFIG_USES_IXP4XX_NPE_ETH=y
+
+#
+# Environment
+#
+CONFIG_ENV=y
+CONFIG_ENV_LINK=y
+CONFIG_ENV_MUTABLE=y
+CONFIG_ENV_REGION="nor:0x7c000+16k"
+# CONFIG_ENV_SAVEATONCE is not set
+CONFIG_ENV_CHECK_LEN=1024
+# 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
+
+#
+#    Default Startup
+#
+CONFIG_AUTOBOOT=y
+CONFIG_AUTOBOOT_DELAY=10
+CONFIG_ENV_STARTUP_KERNEL_COPY=y
+# CONFIG_ENV_REGION_KERNEL_SWAP is not set
+# CONFIG_ENV_STARTUP_PREFIX_P is not set
+
+#
+#    Regions
+#
+CONFIG_ENV_REGION_KERNEL="fis://kernel"
+
+#
+#    Overrides
+#
+CONFIG_ENV_DEFAULT_CMDLINE_OVERRIDE=y
+CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/mtdblock4 rootfstype=jffs2 console=ttyS0,115200"
+# CONFIG_ENV_DEFAULT_STARTUP_OVERRIDE is not set
+CONFIG_USES_NOR_BOOTFLASH=y
+CONFIG_RELOCATE_SIMPLE=y
+CONFIG_INLINE_PLATFORM_INITIALIZATION=y
+CONFIG_INLINE_PLATFORM_INITIALIZATION_SDRAM_PRE_OVERRIDE=y
+# CONFIG_BIGENDIAN is not set
+# CONFIG_LITTLEENDIAN is not set
+CONFIG_CLEAR_STACKS=y
+CONFIG_ALIASES=y