diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2006-01-12 04:08:13 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-01-12 04:08:13 +0000 |
commit | 3b2516ec9080182a8dcf7fcbd39b36db9cf55139 (patch) | |
tree | 21c1073994381acea418257a4a5f55f3092f0bcf /conf/machine | |
parent | 685b95cae8516570c7e445910b026b576d281808 (diff) |
slugos: extract common parts of machine conf in slugos.conf
- conf/machine/include/ixp4xx.conf now provides generic
configuration for nslu2 and nas100d (+ future ixp4xx based
machines), the kernel image fixup is made generic, all
kernel packages have a generic name. ipkg search rules
changed to look for the generic packages too.
Diffstat (limited to 'conf/machine')
-rw-r--r-- | conf/machine/include/ixp4xx.conf | 153 | ||||
-rw-r--r-- | conf/machine/nas100d.conf | 144 | ||||
-rw-r--r-- | conf/machine/nslu2.conf | 155 |
3 files changed, 162 insertions, 290 deletions
diff --git a/conf/machine/include/ixp4xx.conf b/conf/machine/include/ixp4xx.conf new file mode 100644 index 0000000000..5005f581ff --- /dev/null +++ b/conf/machine/include/ixp4xx.conf @@ -0,0 +1,153 @@ +#@TYPE: Machine configuration +#@NAME: ixp4xx +#@DESCRIPTION: genric machine configuration for ixp4xx platforms + +#------------------------------------------------------------------------------- +# INPUTS +#------------------------------------------------------------------------------- +# conf/${DISTRO}.conf is included after this file and should be used to modify +# variables identified as 'INPUTS' to the required values for the DISTRO, this +# will cause the board specific settings (which depend for the most part on the +# exact CPU used) to be set correctly within this file. The results are the +# variables identifies here as 'OUTPUTS' +# +#variable = "default" +# <possible values> +# description + +ARCH_BYTE_SEX = "be" +# "be" "le" +# The memory byte sex and (on correctly implemented hardware - the IXP4XX is +# correct) the byte sex of the buses within the system. 'be' (big-endian) +# means that the first byte is the most significant byte on a bus, 'le' +# (little-endian) means that the first byte is the least significant byte. + +ARM_INSTRUCTION_SET = "arm" +# "arm" "thumb" +# The instruction set the compiler should use when generating application +# code. The kernel is always compiled with arm code at present. arm code +# is the original 32 bit ARM instruction set, thumb code is the 16 bit +# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size) +# but requires more instructions (140% for 70% smaller code) so may be +# slower. + +THUMB_INTERWORK = "yes" +# "yes" "no" +# Whether to compile with code to allow interworking between the two +# instruction sets. This allows thumb code to be executed on a primarily +# arm system and vice versa. It is strongly recommended that DISTROs not +# turn this off - the actual cost is very small. + +DISTRO_BASE = "" +# "" ":<base>" +# If given this must be the name of a 'distro' to add to the bitbake OVERRIDES +# after ${DISTRO}, this allows different distros to share a common base of +# overrides. The value given must include a leading ':' or chaos will result. + +IXP4XX_SUFFIX = "${MACHINE_ARCH}" +# <string> +# Kernel suffix - 'ixp4xxb' or 'ixp4xxl' for a truely generic image, controls +# the suffix on the name of the generated zImage, override in the DISTRO +# configuration if patches or defconfig are changed for the DISTRO. + +#------------------------------------------------------------------------------- +# OUTPUTS +#------------------------------------------------------------------------------- + +#OVERRIDES +# The standard ':' separated list of overrides used by bitbake - see the +# basic setting in bitbake.conf. This list is based on that used for the +# standard setting however :<base>, :thumb and :thumb-interwork will be +# inserted at appropriate points if a base distro, default use of thumb or +# arm/thumb interworking are enabled in the inputs. +OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" +OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" +OVERRIDES = "local:${MACHINE}:ixp4xx:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}:build-${BUILD_OS}" + +# TARGET_CC_ARCH +# TARGET_CC_KERNEL_ARCH +# TARGET_LD_ARCH +# TARGET_LD_KERNEL_ARCH +# Compiler and linker options for application code and kernel code. These +# options ensure that the compiler has the correct settings for the selected +# instruction set and interworking. +ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" +ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" +# +TARGET_CC_ARCH = "-march=armv5te -mtune=xscale ${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}" +TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale -mno-thumb-interwork -mno-thumb" +TARGET_LD_ARCH = "" +TARGET_LD_KERNEL_ARCH = "" + +# FULL_OPTIMIZATION +# Optimization settings. Os works fine and is significantly better than O2. +# The other settings are somewhat arbitrary. The optimisations chosen here +# include the ones which 'break' symbolic debugging (because the compiler does +# not include enough information to allow the debugger to know where given +# values are.) The -fno options are an attempt to cancel explicit use of space +# consuming options found in some packages (this isn't a complete list, this is +# just the ones which package writers seem to know about and abuse). +FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \ + -fno-unroll-loops -fno-inline-functions \ + -fweb -funit-at-a-time" + +# TARGET_ARCH +# The correct setting for the system endianness (ARCH_BYTE_SEX). This will +# be arm (le) or armeb (be) - it is difficult to be more precise in the +# setting because of the large number of ways it is used within OpenEmbedded. +TARGET_ARCH = "${@['armeb', 'arm'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}" + +# PACKAGE_ARCH +# The correct setting for the generated packages. This corresponds to the +# -march flag passed to the compiler because that limits the architectures +# on which the generated code will run. +BYTE_SEX_CHAR = "${@['b', 'l'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}" +PACKAGE_ARCH_BASE = "${@['armv5te', 'thumbv5t'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" +PACKAGE_ARCH = "${PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}" + +# MACHINE_ARCH +# The correct setting for packages which are specific to the machine, this +# defaults to ${MACHINE} in bitbake.conf, however it is set to ixp4xx here +# because everything built here is no more specific than that. +MACHINE_ARCH = "ixp4xx${BYTE_SEX_CHAR}" + +# IPKG_ARCHS +# The full list of package architectures which should run on the system. +# This takes into account both the board level issues and the INPUTS set +# by the distro. The arm list is derived from the architecture settings +# known to gcc, the thumb list is then derived from that (only the 't' +# architectures of course). +ARM_ARCHITECTURES = "${TARGET_ARCH} armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}" +THUMB_ARCHITECTURES = "thumbe${BYTE_SEX_CHAR} thumbv4t${BYTE_SEX_CHAR} thumbv5t${BYTE_SEX_CHAR}" + +# NOTE: this list contains just the things which rootfs_ipk.bbclass does +# not add, rootfs_ipk.bbclass evaluates: +# +# ipkgarchs="all any noarch ${TARGET_ARCH} ${IPKG_ARCHS} ${MACHINE}" +# +# This is a priority ordered list - most desireable architecture at the end, +# so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if +# THUMB_INTERWORK precede this with the other architectures. +IPKG_ARCHS = "${@(lambda arch_thumb, arch_arm, is_arm, interwork: \ + (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \ + + (is_arm and arch_arm or arch_thumb)) \ + (bb.data.getVar('THUMB_ARCHITECTURES', d, 1), \ + bb.data.getVar('ARM_ARCHITECTURES', d, 1), \ + bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) != 'thumb', \ + bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')} ${MACHINE_ARCH}" + +#------------------------------------------------------------------------------- +# Package versions +#------------------------------------------------------------------------------- +# Warning: these are shared across the different machine and distro +# configurations but can be overridden therein if required. +SRCDATE_ipkg-utils ?= "20060106" +SRCDATE_ipkg-utils-native ?= "20060106" +SRCDATE_ipkg-link ?= "20060106" +SRCDATE_irssi ?= "20050930" + +CVS_TARBALL_STASH = "http://sources.nslu2-linux.org/sources/" +INHERIT += "nslu2-mirrors" + +PREFERRED_VERSION_ipkg ?= "0.99.155" +PREFERRED_VERSION_ipkg-native ?= "0.99.154" diff --git a/conf/machine/nas100d.conf b/conf/machine/nas100d.conf index 45df317bac..02a59d6045 100644 --- a/conf/machine/nas100d.conf +++ b/conf/machine/nas100d.conf @@ -2,148 +2,12 @@ #@NAME: Iomega NAS 100d #@DESCRIPTION: Machine configuration for the Iomega NAS 100d product -#------------------------------------------------------------------------------- -# INPUTS -#------------------------------------------------------------------------------- -# conf/${DISTRO}.conf is included after this file and should be used to modify -# variables identified as 'INPUTS' to the required values for the DISTRO, this -# will cause the board specific settings (which depend for the most part on the -# exact CPU used) to be set correctly within this file. The results are the -# variables identifies here as 'OUTPUTS' -# -#variable = "default" -# <possible values> -# description +include conf/machine/include/ixp4xx.conf -ARCH_BYTE_SEX = "be" -# "be" "le" -# The memory byte sex and (on correctly implemented hardware - the NAS100D is -# correct) the byte sex of the buses within the system. 'be' (big-endian) -# means that the first byte is the most significant byte on a bus, 'le' -# (little-endian) means that the first byte is the least significant byte. - -ARM_INSTRUCTION_SET = "arm" -# "arm" "thumb" -# The instruction set the compiler should use when generating application -# code. The kernel is always compiled with arm code at present. arm code -# is the original 32 bit ARM instruction set, thumb code is the 16 bit -# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size) -# but requires more instructions (140% for 70% smaller code) so may be -# slower. - -THUMB_INTERWORK = "yes" -# "yes" "no" -# Whether to compile with code to allow interworking between the two -# instruction sets. This allows thumb code to be executed on a primarily -# arm system and vice versa. It is strongly recommended that DISTROs not -# turn this off - the actual cost is very small. - -DISTRO_BASE = "" -# "" ":<base>" -# If given this must be the name of a 'distro' to add to the bitbake OVERRIDES -# after ${DISTRO}, this allows different distros to share a common base of -# overrides. The value given must include a leading ':' or chaos will result. - -#------------------------------------------------------------------------------- -# OUTPUTS -#------------------------------------------------------------------------------- - -#OVERRIDES -# The standard ':' separated list of overrides used by bitbake - see the -# basic setting in bitbake.conf. This list is based on that used for the -# standard setting however :<base>, :thumb and :thumb-interwork will be -# inserted at appropriate points if a base distro, default use of thumb or -# arm/thumb interworking are enabled in the inputs. -OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" -OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" -OVERRIDES = "local:${MACHINE}:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}:build-${BUILD_OS}" - -# TARGET_CC_ARCH -# TARGET_CC_KERNEL_ARCH -# TARGET_LD_ARCH -# TARGET_LD_KERNEL_ARCH -# Compiler and linker options for application code and kernel code. These -# options ensure that the compiler has the correct settings for the selected -# instruction set and interworking. -ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" -ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" -# -TARGET_CC_ARCH = "-march=armv5te -mtune=xscale ${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}" -TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale -mno-thumb-interwork -mno-thumb" -TARGET_LD_ARCH = "" -TARGET_LD_KERNEL_ARCH = "" - -# FULL_OPTIMIZATION -# Optimization settings. Os works fine and is significantly better than O2. -# The other settings are somewhat arbitrary. The optimisations chosen here -# include the ones which 'break' symbolic debugging (because the compiler does -# not include enough information to allow the debugger to know where given -# values are.) The -fno options are an attempt to cancel explicit use of space -# consuming options found in some packages (this isn't a complete list, this is -# just the ones which package writers seem to know about and abuse). -FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \ - -fno-unroll-loops -fno-inline-functions \ - -fweb -funit-at-a-time" - -# TARGET_ARCH -# The correct setting for the system endianness (ARCH_BYTE_SEX). This will -# be arm (le) or armeb (be) - it is difficult to be more precise in the -# setting because of the large number of ways it is used within OpenEmbedded. -TARGET_ARCH = "${@['armeb', 'arm'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}" - -# PACKAGE_ARCH -# The correct setting for the generated packages. This corresponds to the -# -march flag passed to the compiler because that limits the architectures -# on which the generated code will run. -BYTE_SEX_CHAR = "${@['b', 'l'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}" -PACKAGE_ARCH_BASE = "${@['armv5te', 'thumbv5t'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" -PACKAGE_ARCH = "${PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}" - -# IPKG_ARCHS -# The full list of package architectures which should run on the system. -# This takes into account both the board level issues and the INPUTS set -# by the distro. The arm list is derived from the architecture settings -# known to gcc, the thumb list is then derived from that (only the 't' -# architectures of course). -ARM_ARCHITECTURES = "${TARGET_ARCH} armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}" -THUMB_ARCHITECTURES = "thumbe${BYTE_SEX_CHAR} thumbv4t${BYTE_SEX_CHAR} thumbv5t${BYTE_SEX_CHAR}" - -# NOTE: this list contains just the things which rootfs_ipk.bbclass does -# not add, rootfs_ipk.bbclass evaluates: -# -# ipkgarchs="all any noarch ${TARGET_ARCH} ${IPKG_ARCHS} ${MACHINE}" -# -# This is a priority ordered list - most desireable architecture at the end, -# so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if -# THUMB_INTERWORK precede this with the other architectures. -IPKG_ARCHS = "${@(lambda arch_thumb, arch_arm, is_arm, interwork: \ - (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \ - + (is_arm and arch_arm or arch_thumb)) \ - (bb.data.getVar('THUMB_ARCHITECTURES', d, 1), \ - bb.data.getVar('ARM_ARCHITECTURES', d, 1), \ - bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) != 'thumb', \ - bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')}" - -#------------------------------------------------------------------------------- -# Miscellany -#------------------------------------------------------------------------------- # The correct settings for the NAS100D board: SERIAL_CONSOLE = "115200 ttyS0" KERNEL_CONSOLE = "ttyS0,115200n8" USE_VT = "0" - -#------------------------------------------------------------------------------- -# Package versions -#------------------------------------------------------------------------------- -SRCDATE_gnu-config ?= "20050713" -SRCDATE_gnu-config-native ?= "20050713" -SRCDATE_ipkg-utils ?= "20050713" -SRCDATE_ipkg-utils-native ?= "20050713" -SRCDATE_ipkg-link ?= "20050713" -SRCDATE_irssi ?= "20050930" - -CVS_TARBALL_STASH = "http://sources.nslu2-linux.org/sources/" -INHERIT += "nslu2-mirrors" - -PREFERRED_VERSION_ipkg ?= "0.99.152" -PREFERRED_VERSION_ipkg-native ?= "0.99.152" +CMDLINE_ROOT = "root=/dev/mtdblock2 rw rootfstype=jffs2 mem=64M@0x00000000 init=/linuxrc" +IXP4XX_SUFFIX = "nas100d${BYTE_SEX_CHAR}" +IXP4XX_MACHID = "865" diff --git a/conf/machine/nslu2.conf b/conf/machine/nslu2.conf index 49d47fd498..f5ee008204 100644 --- a/conf/machine/nslu2.conf +++ b/conf/machine/nslu2.conf @@ -2,158 +2,13 @@ #@NAME: Linksys NSLU2 #@DESCRIPTION: Machine configuration for the Linksys NSLU2 product -#------------------------------------------------------------------------------- -# INPUTS -#------------------------------------------------------------------------------- -# conf/${DISTRO}.conf is included after this file and should be used to modify -# variables identified as 'INPUTS' to the required values for the DISTRO, this -# will cause the board specific settings (which depend for the most part on the -# exact CPU used) to be set correctly within this file. The results are the -# variables identifies here as 'OUTPUTS' -# -#variable = "default" -# <possible values> -# description +include conf/machine/include/ixp4xx.conf -ARCH_BYTE_SEX = "be" -# "be" "le" -# The memory byte sex and (on correctly implemented hardware - the NSLU2 is -# correct) the byte sex of the buses within the system. 'be' (big-endian) -# means that the first byte is the most significant byte on a bus, 'le' -# (little-endian) means that the first byte is the least significant byte. - -ARM_INSTRUCTION_SET = "arm" -# "arm" "thumb" -# The instruction set the compiler should use when generating application -# code. The kernel is always compiled with arm code at present. arm code -# is the original 32 bit ARM instruction set, thumb code is the 16 bit -# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size) -# but requires more instructions (140% for 70% smaller code) so may be -# slower. - -THUMB_INTERWORK = "yes" -# "yes" "no" -# Whether to compile with code to allow interworking between the two -# instruction sets. This allows thumb code to be executed on a primarily -# arm system and vice versa. It is strongly recommended that DISTROs not -# turn this off - the actual cost is very small. - -DISTRO_BASE = "" -# "" ":<base>" -# If given this must be the name of a 'distro' to add to the bitbake OVERRIDES -# after ${DISTRO}, this allows different distros to share a common base of -# overrides. The value given must include a leading ':' or chaos will result. - -N2K_SUFFIX = "nslu2${ARCH_BYTE_SEX}" -# <string> -# Kernel suffix - 'nslu2be' or 'nslu2le' for a truely generic image, controls -# the suffix on the name of the generated zImage, override in the DISTRO -# configuration if patches or defconfig are changed for the DISTRO. - -#------------------------------------------------------------------------------- -# OUTPUTS -#------------------------------------------------------------------------------- - -#OVERRIDES -# The standard ':' separated list of overrides used by bitbake - see the -# basic setting in bitbake.conf. This list is based on that used for the -# standard setting however :<base>, :thumb and :thumb-interwork will be -# inserted at appropriate points if a base distro, default use of thumb or -# arm/thumb interworking are enabled in the inputs. -OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" -OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" -OVERRIDES = "local:${MACHINE}:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}:build-${BUILD_OS}" - -# TARGET_CC_ARCH -# TARGET_CC_KERNEL_ARCH -# TARGET_LD_ARCH -# TARGET_LD_KERNEL_ARCH -# Compiler and linker options for application code and kernel code. These -# options ensure that the compiler has the correct settings for the selected -# instruction set and interworking. -ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" -ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" -# -TARGET_CC_ARCH = "-march=armv5te -mtune=xscale ${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}" -TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale -mno-thumb-interwork -mno-thumb" -TARGET_LD_ARCH = "" -TARGET_LD_KERNEL_ARCH = "" - -# FULL_OPTIMIZATION -# Optimization settings. Os works fine and is significantly better than O2. -# The other settings are somewhat arbitrary. The optimisations chosen here -# include the ones which 'break' symbolic debugging (because the compiler does -# not include enough information to allow the debugger to know where given -# values are.) The -fno options are an attempt to cancel explicit use of space -# consuming options found in some packages (this isn't a complete list, this is -# just the ones which package writers seem to know about and abuse). -FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \ - -fno-unroll-loops -fno-inline-functions \ - -fweb -funit-at-a-time" - -# TARGET_ARCH -# The correct setting for the system endianness (ARCH_BYTE_SEX). This will -# be arm (le) or armeb (be) - it is difficult to be more precise in the -# setting because of the large number of ways it is used within OpenEmbedded. -TARGET_ARCH = "${@['armeb', 'arm'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}" - -# PACKAGE_ARCH -# The correct setting for the generated packages. This corresponds to the -# -march flag passed to the compiler because that limits the architectures -# on which the generated code will run. -BYTE_SEX_CHAR = "${@['b', 'l'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}" -PACKAGE_ARCH_BASE = "${@['armv5te', 'thumbv5t'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" -PACKAGE_ARCH = "${PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}" - -# IPKG_ARCHS -# The full list of package architectures which should run on the system. -# This takes into account both the board level issues and the INPUTS set -# by the distro. The arm list is derived from the architecture settings -# known to gcc, the thumb list is then derived from that (only the 't' -# architectures of course). -ARM_ARCHITECTURES = "${TARGET_ARCH} armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}" -THUMB_ARCHITECTURES = "thumbe${BYTE_SEX_CHAR} thumbv4t${BYTE_SEX_CHAR} thumbv5t${BYTE_SEX_CHAR}" - -# NOTE: this list contains just the things which rootfs_ipk.bbclass does -# not add, rootfs_ipk.bbclass evaluates: -# -# ipkgarchs="all any noarch ${TARGET_ARCH} ${IPKG_ARCHS} ${MACHINE}" -# -# This is a priority ordered list - most desireable architecture at the end, -# so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if -# THUMB_INTERWORK precede this with the other architectures. -IPKG_ARCHS = "${@(lambda arch_thumb, arch_arm, is_arm, interwork: \ - (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \ - + (is_arm and arch_arm or arch_thumb)) \ - (bb.data.getVar('THUMB_ARCHITECTURES', d, 1), \ - bb.data.getVar('ARM_ARCHITECTURES', d, 1), \ - bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) != 'thumb', \ - bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')}" - -#------------------------------------------------------------------------------- -# Miscellany -#------------------------------------------------------------------------------- # The correct settings for the NSLU2 board: SERIAL_CONSOLE = "115200 ttyS0" KERNEL_CONSOLE = "ttyS0,115200n8" USE_VT = "0" - -# These depends define native utilities - they do not get put in the flash and -# are not required to build the image. -# upslug2 (in tmp/work/upslug2-native-*) is the program to write the NSLU2 flash -# Override this as desired - it makes no difference to the final image. -EXTRA_IMAGEDEPENDS += "upslug2-native" - -#------------------------------------------------------------------------------- -# Package versions -#------------------------------------------------------------------------------- -SRCDATE_ipkg-utils ?= "20060106" -SRCDATE_ipkg-utils-native ?= "20060106" -SRCDATE_ipkg-link ?= "20060106" -SRCDATE_irssi ?= "20050930" - -CVS_TARBALL_STASH = "http://sources.nslu2-linux.org/sources/" -INHERIT += "nslu2-mirrors" - -PREFERRED_VERSION_ipkg ?= "0.99.155" -PREFERRED_VERSION_ipkg-native ?= "0.99.154" +CMDLINE_ROOT = "root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc" +IXP4XX_SUFFIX = "nslu2${BYTE_SEX_CHAR}" +IXP4XX_MACHID = "597" +IXP4XX_LEFIXUP = "1" |