summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
Diffstat (limited to 'conf')
-rw-r--r--conf/distro/debianslug-packages.conf2
-rw-r--r--conf/distro/debianslug.conf6
-rw-r--r--conf/distro/ludeos-packages.conf2
-rw-r--r--conf/distro/ludeos.conf2
-rw-r--r--conf/distro/openslug-packages.conf2
-rw-r--r--conf/distro/openslug.conf6
-rw-r--r--conf/distro/slugos-bag.conf1
-rw-r--r--conf/distro/slugos-bau.conf1
-rw-r--r--conf/distro/slugos-btu.conf1
-rw-r--r--conf/distro/slugos-lag.conf1
-rw-r--r--conf/distro/slugos-lau.conf1
-rw-r--r--conf/distro/slugos-ltu.conf1
-rw-r--r--conf/distro/slugos.conf12
-rw-r--r--conf/distro/ucslugc-packages.conf2
-rw-r--r--conf/distro/ucslugc.conf5
-rw-r--r--conf/machine/include/ixp4xx.conf154
-rw-r--r--conf/machine/nas100d.conf145
-rw-r--r--conf/machine/nslu2.conf149
18 files changed, 184 insertions, 309 deletions
diff --git a/conf/distro/debianslug-packages.conf b/conf/distro/debianslug-packages.conf
index eaf6b8fe31..451208fd09 100644
--- a/conf/distro/debianslug-packages.conf
+++ b/conf/distro/debianslug-packages.conf
@@ -1,2 +1,2 @@
-SLUGOS_EXTRA_BBFILES=${DEBIANSLUG_EXTRA_BBFILES}
+SLUGOS_EXTRA_BBFILES = "${DEBIANSLUG_EXTRA_BBFILES}"
include conf/distro/slugos-packages.conf
diff --git a/conf/distro/debianslug.conf b/conf/distro/debianslug.conf
index 67563a8dd2..9d448ea826 100644
--- a/conf/distro/debianslug.conf
+++ b/conf/distro/debianslug.conf
@@ -10,6 +10,7 @@ DISTRO_VERSION = "3.1-beta"
DISTRO_FEED = "unstable"
DISTRO_TYPE = "beta"
SLUGOS_IMAGENAME = "debianslug"
+SLUGOS_IMAGESEX = "little-endian"
# debianslug builds a complete image (not just the parts)
SLUGOS_FLASH_IMAGE = "yes"
@@ -45,7 +46,6 @@ DEBIANSLUG_REISER_PROGS = "reiserfsprogs"
# The standard firmware contents and additional packages built as requirements
# of the firmware are defined here in DEBIANSLUG_STANDARD_RDEPENDS and
# DEBIANSLUG_STANDARD_DEPENDS respectively.
-DEBIANSLUG_STANDARD_DEPENDS = ""
DEBIANSLUG_STANDARD_RDEPENDS = ""
# Support for a variety of file systems is built in to the debianslug
@@ -56,18 +56,15 @@ DEBIANSLUG_STANDARD_RDEPENDS = ""
# These lines add support for formatting ext2 and ext3 file systems
# on a hard disk attached to the NSLU2. ext3 is the standard Linux
# file system.
-DEBIANSLUG_STANDARD_DEPENDS += "e2fsprogs"
DEBIANSLUG_STANDARD_RDEPENDS += "${DEBIANSLUG_EXT2_PROGS}"
# These lines add support for formatting reiserfs file systems on
# a hard disk.
-DEBIANSLUG_STANDARD_DEPENDS += "reiserfsprogs"
DEBIANSLUG_STANDARD_RDEPENDS += "${DEBIANSLUG_REISER_PROGS}"
# These lines add support for an X/Y/ZModem package called lrzsz
# (this is of use for people with modified NSLU2 hardware which
# supports a serial port.)
-DEBIANSLUG_STANDARD_DEPENDS += "lrzsz"
DEBIANSLUG_STANDARD_RDEPENDS += "lrzsz"
# Filesystem selection. Adding entries here adds the module to the
@@ -112,7 +109,6 @@ kernel-module-nls-utf8 \
# a bootable, useable, system however they *are* expected to be present
# in DebianSlug - see slugos-lag for a more minimal configuration and some
# more instructions about how to make a non-debianslug image.
-SLUGOS_EXTRA_DEPENDS = "${DEBIANSLUG_STANDARD_DEPENDS}"
SLUGOS_EXTRA_RDEPENDS = "${DEBIANSLUG_STANDARD_RDEPENDS}"
#----------------------------------------------------------------------------------
diff --git a/conf/distro/ludeos-packages.conf b/conf/distro/ludeos-packages.conf
index 312ebf0e5f..7f347e7887 100644
--- a/conf/distro/ludeos-packages.conf
+++ b/conf/distro/ludeos-packages.conf
@@ -1,2 +1,2 @@
-SLUGOS_EXTRA_BBFILES=
+SLUGOS_EXTRA_BBFILES = ""
include conf/distro/slugos-packages.conf
diff --git a/conf/distro/ludeos.conf b/conf/distro/ludeos.conf
index 21e8e553c7..41eb60bd37 100644
--- a/conf/distro/ludeos.conf
+++ b/conf/distro/ludeos.conf
@@ -6,6 +6,8 @@ DISTRO_NAME = "LudeOS"
DISTRO_VERSION = "0.1-alpha"
DISTRO_FEED = "unstable"
DISTRO_TYPE = "beta"
+SLUGOS_IMAGENAME = "ludeos"
+SLUGOS_IMAGESEX = "little-endian"
ARCH_BYTE_SEX = "le"
ARM_INSTRUCTION_SET = "arm"
diff --git a/conf/distro/openslug-packages.conf b/conf/distro/openslug-packages.conf
index c42c793363..f8722d4b4d 100644
--- a/conf/distro/openslug-packages.conf
+++ b/conf/distro/openslug-packages.conf
@@ -1,2 +1,2 @@
-SLUGOS_EXTRA_BBFILES=${OPENSLUG_EXTRA_BBFILES}
+SLUGOS_EXTRA_BBFILES = "${OPENSLUG_EXTRA_BBFILES}"
include conf/distro/slugos-packages.conf
diff --git a/conf/distro/openslug.conf b/conf/distro/openslug.conf
index 20bb8071c7..e21859b082 100644
--- a/conf/distro/openslug.conf
+++ b/conf/distro/openslug.conf
@@ -10,6 +10,7 @@ DISTRO_VERSION = "3.1-beta"
DISTRO_FEED = "unstable"
DISTRO_TYPE = "beta"
SLUGOS_IMAGENAME = "openslug"
+SLUGOS_IMAGESEX = "big-endian"
# openslug builds a complete image (not just the parts)
SLUGOS_FLASH_IMAGE = "yes"
@@ -45,7 +46,6 @@ OPENSLUG_REISER_PROGS = "reiserfsprogs"
# The standard firmware contents and additional packages built as requirements
# of the firmware are defined here in OPENSLUG_STANDARD_RDEPENDS and
# OPENSLUG_STANDARD_DEPENDS respectively.
-OPENSLUG_STANDARD_DEPENDS = ""
OPENSLUG_STANDARD_RDEPENDS = ""
# Support for a variety of file systems is built in to the openslug
@@ -56,18 +56,15 @@ OPENSLUG_STANDARD_RDEPENDS = ""
# These lines add support for formatting ext2 and ext3 file systems
# on a hard disk attached to the NSLU2. ext3 is the standard Linux
# file system.
-OPENSLUG_STANDARD_DEPENDS += "e2fsprogs"
OPENSLUG_STANDARD_RDEPENDS += "${OPENSLUG_EXT2_PROGS}"
# These lines add support for formatting reiserfs file systems on
# a hard disk.
-OPENSLUG_STANDARD_DEPENDS += "reiserfsprogs"
OPENSLUG_STANDARD_RDEPENDS += "${OPENSLUG_REISER_PROGS}"
# These lines add support for an X/Y/ZModem package called lrzsz
# (this is of use for people with modified NSLU2 hardware which
# supports a serial port.)
-OPENSLUG_STANDARD_DEPENDS += "lrzsz"
OPENSLUG_STANDARD_RDEPENDS += "lrzsz"
# Filesystem selection. Adding entries here adds the module to the
@@ -112,7 +109,6 @@ kernel-module-nls-utf8 \
# a bootable, useable, system however they *are* expected to be present
# in OpenSlug - see nslu2-bag for a more minimal configuration and some
# more instructions about how to make a non-openslug image.
-SLUGOS_EXTRA_DEPENDS = "${OPENSLUG_STANDARD_DEPENDS}"
SLUGOS_EXTRA_RDEPENDS = "${OPENSLUG_STANDARD_RDEPENDS}"
#----------------------------------------------------------------------------------
diff --git a/conf/distro/slugos-bag.conf b/conf/distro/slugos-bag.conf
index 9d59722b48..c1f5ef8d03 100644
--- a/conf/distro/slugos-bag.conf
+++ b/conf/distro/slugos-bag.conf
@@ -13,6 +13,7 @@ DISTRO_TYPE ?= "beta"
ARCH_BYTE_SEX = "be"
ARM_INSTRUCTION_SET = "arm"
TARGET_OS = "linux"
+SLUGOS_IMAGESEX ?= "big-endian"
FEED_URIS_append += "cross##http://ipkg.nslu2-linux.org/feeds/slugos-bag/cross/${DISTRO_FEED}"
FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/slugos-bag/native/${DISTRO_FEED}"
diff --git a/conf/distro/slugos-bau.conf b/conf/distro/slugos-bau.conf
index ab25777a07..72bafc1c1c 100644
--- a/conf/distro/slugos-bau.conf
+++ b/conf/distro/slugos-bau.conf
@@ -14,5 +14,6 @@ DISTRO_TYPE ?= "alpha"
ARCH_BYTE_SEX = "be"
ARM_INSTRUCTION_SET = "arm"
TARGET_OS = "linux-uclibc"
+SLUGOS_IMAGESEX ?= "big-endian"
include conf/distro/slugos.conf
diff --git a/conf/distro/slugos-btu.conf b/conf/distro/slugos-btu.conf
index 6c96441076..8c06605bc7 100644
--- a/conf/distro/slugos-btu.conf
+++ b/conf/distro/slugos-btu.conf
@@ -13,6 +13,7 @@ DISTRO_TYPE ?= "beta"
ARCH_BYTE_SEX = "be"
ARM_INSTRUCTION_SET = "thumb"
TARGET_OS = "linux-uclibc"
+SLUGOS_IMAGESEX ?= "big-endian"
FEED_URIS_append += "cross##http://ipkg.nslu2-linux.org/feeds/slugos-btu/cross/${DISTRO_FEED}"
FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/slugos-btu/native/${DISTRO_FEED}"
diff --git a/conf/distro/slugos-lag.conf b/conf/distro/slugos-lag.conf
index 644c09b6ed..c29958439b 100644
--- a/conf/distro/slugos-lag.conf
+++ b/conf/distro/slugos-lag.conf
@@ -12,5 +12,6 @@ DISTRO_TYPE ?= "alpha"
ARCH_BYTE_SEX = "le"
ARM_INSTRUCTION_SET = "arm"
TARGET_OS = "linux"
+SLUGOS_IMAGESEX ?= "big-endian"
include conf/distro/slugos.conf
diff --git a/conf/distro/slugos-lau.conf b/conf/distro/slugos-lau.conf
index 0866f80763..3233f76364 100644
--- a/conf/distro/slugos-lau.conf
+++ b/conf/distro/slugos-lau.conf
@@ -12,5 +12,6 @@ DISTRO_TYPE ?= "alpha"
ARCH_BYTE_SEX = "le"
ARM_INSTRUCTION_SET = "arm"
TARGET_OS = "linux-uclibc"
+SLUGOS_IMAGESEX ?= "big-endian"
include conf/distro/slugos.conf
diff --git a/conf/distro/slugos-ltu.conf b/conf/distro/slugos-ltu.conf
index 06193c9169..6d99e629ee 100644
--- a/conf/distro/slugos-ltu.conf
+++ b/conf/distro/slugos-ltu.conf
@@ -12,5 +12,6 @@ DISTRO_TYPE ?= "alpha"
ARCH_BYTE_SEX = "le"
ARM_INSTRUCTION_SET = "thumb"
TARGET_OS = "linux-uclibc"
+SLUGOS_IMAGESEX ?= "big-endian"
include conf/distro/slugos.conf
diff --git a/conf/distro/slugos.conf b/conf/distro/slugos.conf
index 8eb0b01aa8..4cc33888d7 100644
--- a/conf/distro/slugos.conf
+++ b/conf/distro/slugos.conf
@@ -42,6 +42,7 @@
#ARCH_BYTE_SEX "be" or "le"
#ARM_INSTRUCTION_SET "arm" or "thumb"
#TARGET_OS "linux" or "linux-uclibc"
+#SLUGOS_IMAGESEX "big-endian" or "little-endian" (JFFS2 format)
# The following need not be set, the defaults should be adequate
#USE_NLS = "no" or "yes"
@@ -124,19 +125,16 @@ SLUGOS_FLASH_IMAGE ?= "no"
# EXTRA PACKAGES
# --------------
# SlugOS builds an image with no extra packages - to add packages to the
-# firmware copy this file (to make a new 'distro' configuration file) and change
+# firmware include this file in a new 'distro' configuration file) and set
# the definition below to include the requirements.
# NOTE: as built this system will *not* be able to boot off anything other than
# the flash file system ('turnup' will not work). You need to add the filesystem
# modules for your chosen root file system (and any others which will be used).
# See openslug.conf for a more full-featured system!
+#
+# Everything in this list gets added to the flash image, along with any RDEPENDS
+# it has itself!
SLUGOS_EXTRA_RDEPENDS ?= ""
-SLUGOS_EXTRA_DEPENDS ?= ""
-
-# These depends define native utilities - they do not get put in the flash.
-# 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.
-SLUGOS_NATIVE_DEPENDS ?= "upslug2-native"
#----------------------------------------------------------------------------------
# PACKAGE VERSION CONTROL
diff --git a/conf/distro/ucslugc-packages.conf b/conf/distro/ucslugc-packages.conf
index e047fb2e11..a423b1d9fd 100644
--- a/conf/distro/ucslugc-packages.conf
+++ b/conf/distro/ucslugc-packages.conf
@@ -1,2 +1,2 @@
-SLUGOS_EXTRA_BBFILES=${UCSLUGC_EXTRA_BBFILES}
+SLUGOS_EXTRA_BBFILES = "${UCSLUGC_EXTRA_BBFILES}"
include conf/distro/slugos-packages.conf
diff --git a/conf/distro/ucslugc.conf b/conf/distro/ucslugc.conf
index 359f8e657f..c9c70ca544 100644
--- a/conf/distro/ucslugc.conf
+++ b/conf/distro/ucslugc.conf
@@ -8,6 +8,7 @@ DISTRO_VERSION = "3-beta"
DISTRO_FEED = "unstable"
DISTRO_TYPE = "beta"
SLUGOS_IMAGENAME = "ucslugc"
+SLUGOS_IMAGESEX = "big-endian"
# NOTE: to build new packages set UCSLUGC_EXTRA_BBFILES to the full path name to
# the .bb files for the packages to build - see ucslugc-packages.conf in this
@@ -18,11 +19,7 @@ UCSLUGC_EXTRA_BBFILES ?= ""
# prefix UCSLUGC_ are used here to default the values of the corresponding NSLU2_
# setting - either may be set in local.conf to override these values.
UCSLUGC_EXTRA_RDEPENDS ?= ""
-UCSLUGC_EXTRA_DEPENDS ?= ""
-UCSLUGC_NATIVE_DEPENDS ?= "upslug2-native"
#
SLUGOS_EXTRA_RDEPENDS ?= "${UCSLUGC_EXTRA_RDEPENDS}"
-SLUGOS_EXTRA_DEPENDS ?= "${UCSLUGC_EXTRA_DEPENDS}"
-SLUGOS_NATIVE_DEPENDS ?= "${UCSLUGC_NATIVE_DEPENDS}"
include conf/distro/slugos-btu.conf
diff --git a/conf/machine/include/ixp4xx.conf b/conf/machine/include/ixp4xx.conf
new file mode 100644
index 0000000000..3c5077056e
--- /dev/null
+++ b/conf/machine/include/ixp4xx.conf
@@ -0,0 +1,154 @@
+#@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} ${MACHINE}${BYTE_SEX_CHAR}"
+
+#-------------------------------------------------------------------------------
+# 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..f99b601628 100644
--- a/conf/machine/nas100d.conf
+++ b/conf/machine/nas100d.conf
@@ -2,148 +2,13 @@
#@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 = "${MACHINE}${BYTE_SEX_CHAR}"
+IXP4XX_MACHID = "865"
+IXP4XX_LEFIXUP = "1"
diff --git a/conf/machine/nslu2.conf b/conf/machine/nslu2.conf
index 8c4e253407..a20e8b73a9 100644
--- a/conf/machine/nslu2.conf
+++ b/conf/machine/nslu2.conf
@@ -2,152 +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"
-
-#-------------------------------------------------------------------------------
-# 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 = "${MACHINE}${BYTE_SEX_CHAR}"
+IXP4XX_MACHID = "597"
+IXP4XX_LEFIXUP = "1"