From 08c9668df356fc47f01cde8e421d3dc24adc4c9e Mon Sep 17 00:00:00 2001 From: John Bowler Date: Wed, 26 Oct 2005 21:05:31 +0000 Subject: slugos, openslug, ucslugc: move to new slugos base distro in openslug 3.0, ucslugc 3 - all the nslu2-???.conf files are now slugos-???.conf and slugos has been made - the base for both openslug and ucslugc. OpenSlug now enables thumb interwork. --- conf/distro/nslu2-bag.conf | 12 --- conf/distro/nslu2-bau.conf | 12 --- conf/distro/nslu2-btu.conf | 12 --- conf/distro/nslu2-dist.conf | 183 ----------------------------------------- conf/distro/nslu2-lag.conf | 12 --- conf/distro/nslu2-lau.conf | 12 --- conf/distro/nslu2-ltu.conf | 12 --- conf/distro/openslug.conf | 13 ++- conf/distro/slugos-bag.conf | 20 +++++ conf/distro/slugos-bau.conf | 18 ++++ conf/distro/slugos-btu.conf | 20 +++++ conf/distro/slugos-lag.conf | 16 ++++ conf/distro/slugos-lau.conf | 16 ++++ conf/distro/slugos-ltu.conf | 16 ++++ conf/distro/slugos.conf | 196 ++++++++++++++++++++++++++++++++++++++++++++ conf/distro/ucslugc.conf | 20 ++--- conf/distro/unslung.conf | 13 +++ 17 files changed, 327 insertions(+), 276 deletions(-) delete mode 100644 conf/distro/nslu2-bag.conf delete mode 100644 conf/distro/nslu2-bau.conf delete mode 100644 conf/distro/nslu2-btu.conf delete mode 100644 conf/distro/nslu2-dist.conf delete mode 100644 conf/distro/nslu2-lag.conf delete mode 100644 conf/distro/nslu2-lau.conf delete mode 100644 conf/distro/nslu2-ltu.conf create mode 100644 conf/distro/slugos-bag.conf create mode 100644 conf/distro/slugos-bau.conf create mode 100644 conf/distro/slugos-btu.conf create mode 100644 conf/distro/slugos-lag.conf create mode 100644 conf/distro/slugos-lau.conf create mode 100644 conf/distro/slugos-ltu.conf create mode 100644 conf/distro/slugos.conf (limited to 'conf/distro') diff --git a/conf/distro/nslu2-bag.conf b/conf/distro/nslu2-bag.conf deleted file mode 100644 index 0a9c4eb88d..0000000000 --- a/conf/distro/nslu2-bag.conf +++ /dev/null @@ -1,12 +0,0 @@ -#@TYPE: Distribution -#@NAME: NSLU2-BAG -#@DESCRIPTION: Linux Distribution for the NSLU2 - -# This is not the official DISTRO, so leave the DISTRO parameters unchanged -# from the defaults in nslu2-dist.conf. Set the build configuration options -# to b,t,u -NSLU2_ARCH_TYPE = "b" -NSLU2_INSTRUCTION_SET = "a" -NSLU2_OS = "g" - -include conf/distro/nslu2-dist.conf diff --git a/conf/distro/nslu2-bau.conf b/conf/distro/nslu2-bau.conf deleted file mode 100644 index f27f7db709..0000000000 --- a/conf/distro/nslu2-bau.conf +++ /dev/null @@ -1,12 +0,0 @@ -#@TYPE: Distribution -#@NAME: NSLU2-BAU -#@DESCRIPTION: Linux Distribution for the NSLU2 - -# This is not the official DISTRO, so leave the DISTRO parameters unchanged -# from the defaults in nslu2-dist.conf. Set the build configuration options -# to b,t,u -NSLU2_ARCH_TYPE = "b" -NSLU2_INSTRUCTION_SET = "a" -NSLU2_OS = "u" - -include conf/distro/nslu2-dist.conf diff --git a/conf/distro/nslu2-btu.conf b/conf/distro/nslu2-btu.conf deleted file mode 100644 index 2e37ebdf91..0000000000 --- a/conf/distro/nslu2-btu.conf +++ /dev/null @@ -1,12 +0,0 @@ -#@TYPE: Distribution -#@NAME: NSLU2-BTU -#@DESCRIPTION: Linux Distribution for the NSLU2 - -# This is not the official DISTRO, so leave the DISTRO parameters unchanged -# from the defaults in nslu2-dist.conf. Set the build configuration options -# to b,t,u -NSLU2_ARCH_TYPE = "b" -NSLU2_INSTRUCTION_SET = "t" -NSLU2_OS = "u" - -include conf/distro/nslu2-dist.conf diff --git a/conf/distro/nslu2-dist.conf b/conf/distro/nslu2-dist.conf deleted file mode 100644 index de6c8d9173..0000000000 --- a/conf/distro/nslu2-dist.conf +++ /dev/null @@ -1,183 +0,0 @@ -#@TYPE: Distribution -#@NAME: NSLU2 -#@DESCRIPTION: UcSlugC Linux Distribution for the NSLU2 - -# Explanation of the naming -# -# nslu2-dist - the base distro configuration for an NSLU2 -# nslu2-[bl][at][gu] - a specific configuration encoded as follows: -# b or l - big or little endian -# a or t - ARM or Thumb instructions in the low level libraries -# g or u - glibc or uclibc libc implementation -# -# openslug - the historical name of a canonical nslu2-bag distro, -# used generically for NSLU2 specific distro features and -# the default OVERRIDE for all these NSLU2 builds -# ucslugc - the historical (and obsolte) name of nslu2-btu -# also the name of a standard nslu2-btu distro with a package feed -# - -#---------------------------------------------------------------------------------- -# STANDARD NSLU2 DEFINITIONS -#---------------------------------------------------------------------------------- -# The following must be set in the top level distro file: -#DISTRO_NAME -#DISTRO_VERSION -#DISTRO_FEED -#DISTRO_TYPE - -# The following must also be set, they define the basic format of the build -# The definitions, where present, are the standard defaults. -#NSLU2_ARCH_TYPE = "b" (big-endian) or "l" (little-endian) -#NSLU2_INSTRUCTION_SET = "a" (ARM, 32 bit instructions) or "t" (Thumb, 16 bit instructions) -#NSLU2_OS = "g" (glibc - linx) or "u" (uclibc - linux-uclibc) -#NSLU2_INTERWORK = ":thumb-interwork" or "" -NSLU2_INTERWORK ?= ":thumb-interwork" -#USE_NLS = "no" or "yes" -USE_NLS ?= "no" - -# These are default values, changed in the top level. -DISTRO_NAME ?= "nslu2-${NSLU2_ARCH_TYPE}${NSLU2_INSTRUCTION_SET}${NSLU2_OS}" -DISTRO_VERSION ?= "private" -DISTRO_FEED ?= "unstable" -DISTRO_TYPE ?= "alpha" - -# The following must not be changed. -TARGET_FPU = "soft" -TARGET_OS = "${@['linux-uclibc', 'linux'][bb.data.getVar('NSLU2_OS', d, 1) == 'g']}" -TARGET_ARCH = "${@['arm', 'armeb'][bb.data.getVar('NSLU2_ARCH_TYPE', d, 1) == 'b']}" - -# Select thumb-interwork and thumb -ARM_INSTRUCTION_SET = "${@[':thumb', ''][bb.data.getVar('NSLU2_INSTRUCTION_SET', d, 1) == 'a']}" -ARM_INTERWORK = "${NSLU2_INTERWORK}" - -# glib-2.0 builds require USE_NLS to be overridden -USE_NLS_glib-2.0 = "yes" - -INHERIT += "package_ipk debian" - -# The value of NSLU2_BASE_DISTRO is added to the OVERRIDES after the DISTRO, this -# is set to 'openslug' to pick up the original openslug overrides. See -# conf/machine/nslu2.conf to find out how this works. -NSLU2_BASE_DISTRO = ":openslug" - -# We are building packages which are armvteb (big endian) for arm or thumbv5tb for -# thumb instructions. The PACKAGE_ARCH should reflect this because generated code -# requires that instruction set support. -PACKAGE_ARCH = "${NSLU2_PACKAGE_ARCH}" - -# pull in the frozen list of bbfiles - this sets BBFILES and this will override any -# setting in local.conf Since this depends on ${DISTRO} it doesn't actually do -# anything by default unless conf/distro/${DISTRO}-packages.conf exists. -include conf/distro/freeze.conf - -#---------------------------------------------------------------------------------- -# FEEDS -# The following lines define where on the internet UcSlugC looks for packages -# when downloading new packages or updating existing packages. Additional feeds -# (such as a local feed) can be defined in local.conf -#---------------------------------------------------------------------------------- -# Add to the user's feeds from local.conf (there may be none) -# -# This must be specified in the top level distro file, because a feed for one -# distro will not work for another. -#FEED_URIS_append += "cross##http://ipkg.nslu2-linux.org/feeds/${DISTRO}/cross/${DISTRO_FEED}" -#FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/${DISTRO}/native/${DISTRO_FEED}" -# -#FEED_URIS_append += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/${DISTRO}/cross/unstable" -#FEED_URIS_append += "unstable_native##http://ipkg.nslu2-linux.org/feeds/${DISTRO}/native/unstable" - -#---------------------------------------------------------------------------------- -# FIRMWARE CONFIGURATION -#---------------------------------------------------------------------------------- -# IMAGE BUILD OPTIONS -# ------------------- -IMAGE_FSTYPES = "jffs2" -IMAGE_SEX = "${@['little-endian', 'big-endian'][bb.data.getVar('NSLU2_ARCH_TYPE', d, 1) == 'b']}" - -OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-openslug.txt')}" -EXTRA_IMAGECMD_jffs2 = "--pad --${IMAGE_SEX} --eraseblock=0x20000 -D ${OPENSLUG_DEVICE_TABLE}" - -# CMDLINE* macros define the kernel command line. CMDLINE_DEBUG is provided -# to enable/disable debugging in the distro. Here noirqdebug is used to -# remove the messages about unhandled interrupts - people debugging interrupt -# issues in the kernel need to cancel this (set CMDLINE_DEBUG empty in local.conf) -CMDLINE_DEBUG = "noirqdebug" - -# IMAGE_PREPROCESS_COMMAND is run before making the image. In UcSlugC the -# kernel image is removed from the root file system to recover the space used - -# UcSlugC is assumed to boot from a separate kernel image in flash (not in the -# root file system), if this is not the case the following must not be done! -IMAGE_PREPROCESS_COMMAND = "rm ${IMAGE_ROOTFS}/boot/zImage*;" - -# Building a full image. If you add the following extra commands will be -# appended to the openslug-image build by classes/nslu2-jffs2-image.bbclass -# (note that you can, instead, simply add 'inherit nslu2-jffs2-image' to -# openslug-image.bb). If you do this you will need to find a source for the -# LinkSys software to be placed in the full image - 'RedBoot' (the boot loader), -# 'Trailer' (just a bunch of bytes to flag the image as valid) and 'SysConf' -# (actually just a block of unset data - you could modify this to pre-configure -# the SysConf partition of the image). If you own an NSLU2 then this data is -# already in the flash of the NSLU2 and you can download it (including new -# versions) from the LinkSys web site - the bbclass will output information -# about where to put the downloaded data. -# -#NOTE: you do not actually need the boot loader in normal use because it is -# *not* overwritten by a standard upslug upgrade, so you can make an image with -# just non-LinkSys software which can be flashed into the NSLU2. - -#INHERIT += "nslu2-jffs2-image" - -# EXTRA PACKAGES -# -------------- -# UcSlugC builds an openslug-image with no extra packages - to add packages to the -# firmware copy this file (to make a new 'distro' configuration file) and change -# 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! -NSLU2_EXTRA_RDEPENDS ?= "" -NSLU2_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. -NSLU2_NATIVE_DEPENDS ?= "upslug2-native" - -OPENSLUG_EXTRA_INSTALL = "${NSLU2_EXTRA_RDEPENDS}" -OPENSLUG_EXTRA_DEPENDS = "${NSLU2_EXTRA_DEPENDS} ${NSLU2_NATIVE_DEPENDS}" - -#---------------------------------------------------------------------------------- -# PACKAGE VERSION CONTROL -#---------------------------------------------------------------------------------- -# Select the correct versions of the compiler tools (note that there -# is also some selection in machine/nslu2.conf) -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross" - -# compiler/binary/library versions (unslung uses different ones so these -# cannot be in nslu2.conf) -PREFERRED_VERSION_binutils ?= "2.16" -PREFERRED_VERSION_binutils-cross ?= "2.16" -PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4" -PREFERRED_VERSION_gcc-cross ?= "3.4.4" -PREFERRED_VERSION_gcc ?= "3.4.4" -PREFERRED_VERSION_glibc ?= "2.3.5+cvs20050627" - -# Select the correct versions of the kernel and modules (these are the -# defaults, override in the conf/distro top-level distro file). -PREFERRED_PROVIDER_virtual/kernel ?= "nslu2-kernel" -PREFERRED_VERSION_nslu2-kernel ?= "2.6.14-rc5" - -# Built-in ethernet modules -PREFERRED_PROVIDER_virtual/ixp-eth ?= "ixp400-eth" -PREFERRED_VERSION_ixp4xx-csr ?= "2.0" -PREFERRED_VERSION_ixp-osal ?= "2.0" -PREFERRED_VERSION_ixp400-eth ?= "1.4" - -# Select the smallest provider of x11 libraries -PREFERRED_PROVIDER_x11 ?= "diet-x11" -CVSDATE_diet-x11 ?= "20051005" diff --git a/conf/distro/nslu2-lag.conf b/conf/distro/nslu2-lag.conf deleted file mode 100644 index 9e9a4bbf8e..0000000000 --- a/conf/distro/nslu2-lag.conf +++ /dev/null @@ -1,12 +0,0 @@ -#@TYPE: Distribution -#@NAME: NSLU2-LAG -#@DESCRIPTION: Linux Distribution for the NSLU2 - -# This is not the official DISTRO, so leave the DISTRO parameters unchanged -# from the defaults in nslu2-dist.conf. Set the build configuration options -# to b,t,u -NSLU2_ARCH_TYPE = "l" -NSLU2_INSTRUCTION_SET = "a" -NSLU2_OS = "g" - -include conf/distro/nslu2-dist.conf diff --git a/conf/distro/nslu2-lau.conf b/conf/distro/nslu2-lau.conf deleted file mode 100644 index 9f54c0ecc2..0000000000 --- a/conf/distro/nslu2-lau.conf +++ /dev/null @@ -1,12 +0,0 @@ -#@TYPE: Distribution -#@NAME: NSLU2-LAU -#@DESCRIPTION: Linux Distribution for the NSLU2 - -# This is not the official DISTRO, so leave the DISTRO parameters unchanged -# from the defaults in nslu2-dist.conf. Set the build configuration options -# to b,t,u -NSLU2_ARCH_TYPE = "l" -NSLU2_INSTRUCTION_SET = "a" -NSLU2_OS = "u" - -include conf/distro/nslu2-dist.conf diff --git a/conf/distro/nslu2-ltu.conf b/conf/distro/nslu2-ltu.conf deleted file mode 100644 index f48671d0c4..0000000000 --- a/conf/distro/nslu2-ltu.conf +++ /dev/null @@ -1,12 +0,0 @@ -#@TYPE: Distribution -#@NAME: NSLU2-LTU -#@DESCRIPTION: Linux Distribution for the NSLU2 - -# This is not the official DISTRO, so leave the DISTRO parameters unchanged -# from the defaults in nslu2-dist.conf. Set the build configuration options -# to b,t,u -NSLU2_ARCH_TYPE = "l" -NSLU2_INSTRUCTION_SET = "t" -NSLU2_OS = "u" - -include conf/distro/nslu2-dist.conf diff --git a/conf/distro/openslug.conf b/conf/distro/openslug.conf index a7c21bca2f..e9f88311c2 100644 --- a/conf/distro/openslug.conf +++ b/conf/distro/openslug.conf @@ -6,7 +6,7 @@ # STANDARD OpenSlug DEFINITIONS #---------------------------------------------------------------------------------- DISTRO_NAME = "OpenSlug" -DISTRO_VERSION = "2.8-beta" +DISTRO_VERSION = "3.0-beta" DISTRO_FEED = "unstable" DISTRO_TYPE = "beta" @@ -25,6 +25,7 @@ OPENSLUG_EXTRA_BBFILES ?= "" # (such as a local feed) can be defined in local.conf #---------------------------------------------------------------------------------- # Add to the user's feeds from local.conf (there may be none) +#FIXME: this is temporary until the changeover to slugos-bag is complete. FEED_URIS_append += "cross##http://ipkg.nslu2-linux.org/feeds/openslug/cross/${DISTRO_FEED}" FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/openslug/native/${DISTRO_FEED}" @@ -111,8 +112,8 @@ 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. -NSLU2_EXTRA_DEPENDS = "${OPENSLUG_STANDARD_DEPENDS}" -NSLU2_EXTRA_RDEPENDS = "${OPENSLUG_STANDARD_RDEPENDS}" +SLUGOS_EXTRA_DEPENDS = "${OPENSLUG_STANDARD_DEPENDS}" +SLUGOS_EXTRA_RDEPENDS = "${OPENSLUG_STANDARD_RDEPENDS}" #---------------------------------------------------------------------------------- # PACKAGE VERSION CONTROL @@ -123,9 +124,7 @@ PREFERRED_VERSION_nslu2-linksys-firmware ?= "2.3r29" # BASE VERSION SELECTION #---------------------------------------------------------------------------------- # b - big-endian -# a - ARM instruction set, no interwork +# a - ARM instruction set # g - glibc # -# Interwork must be turned off here -NSLU2_INTERWORK = "" -include conf/distro/nslu2-bag.conf +include conf/distro/slugos-bag.conf diff --git a/conf/distro/slugos-bag.conf b/conf/distro/slugos-bag.conf new file mode 100644 index 0000000000..9d59722b48 --- /dev/null +++ b/conf/distro/slugos-bag.conf @@ -0,0 +1,20 @@ +#@TYPE: Distribution +#@NAME: SLUGOS-BAG +#@DESCRIPTION: Linux Distribution for the NSLU2 + +# See slugos.conf for an explanation of this file. + +# This slugos variant corresponds to OpenSlug +DISTRO_NAME ?= "slugos-bag" +DISTRO_VERSION ?= "3.0-beta" +DISTRO_FEED ?= "unstable" +DISTRO_TYPE ?= "beta" + +ARCH_BYTE_SEX = "be" +ARM_INSTRUCTION_SET = "arm" +TARGET_OS = "linux" + +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}" + +include conf/distro/slugos.conf diff --git a/conf/distro/slugos-bau.conf b/conf/distro/slugos-bau.conf new file mode 100644 index 0000000000..ab25777a07 --- /dev/null +++ b/conf/distro/slugos-bau.conf @@ -0,0 +1,18 @@ +#@TYPE: Distribution +#@NAME: SLUGOS-BAU +#@DESCRIPTION: Linux Distribution for the NSLU2 + +# See slugos.conf for an explanation of this file. + +# This slugos variant is not supported - there are no nslu2-linux.org +# regular builds and there is no feed. +DISTRO_NAME ?= "slugos-bau" +DISTRO_VERSION ?= "0-beta" +DISTRO_FEED ?= "unstable" +DISTRO_TYPE ?= "alpha" + +ARCH_BYTE_SEX = "be" +ARM_INSTRUCTION_SET = "arm" +TARGET_OS = "linux-uclibc" + +include conf/distro/slugos.conf diff --git a/conf/distro/slugos-btu.conf b/conf/distro/slugos-btu.conf new file mode 100644 index 0000000000..6c96441076 --- /dev/null +++ b/conf/distro/slugos-btu.conf @@ -0,0 +1,20 @@ +#@TYPE: Distribution +#@NAME: SLUGOS-BTU +#@DESCRIPTION: Linux Distribution for the NSLU2 + +# See slugos.conf for an explanation of this file. + +# This slugos variant corresponds to UcSlugC +DISTRO_NAME ?= "slugos-btu" +DISTRO_VERSION ?= "3-beta" +DISTRO_FEED ?= "unstable" +DISTRO_TYPE ?= "beta" + +ARCH_BYTE_SEX = "be" +ARM_INSTRUCTION_SET = "thumb" +TARGET_OS = "linux-uclibc" + +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}" + +include conf/distro/slugos.conf diff --git a/conf/distro/slugos-lag.conf b/conf/distro/slugos-lag.conf new file mode 100644 index 0000000000..644c09b6ed --- /dev/null +++ b/conf/distro/slugos-lag.conf @@ -0,0 +1,16 @@ +#@TYPE: Distribution +#@NAME: SLUGOS-LAG +#@DESCRIPTION: Linux Distribution for the NSLU2 + +# This slugos variant is not supported - there are no nslu2-linux.org +# regular builds and there is no feed. +DISTRO_NAME ?= "slugos-lag" +DISTRO_VERSION ?= "0-beta" +DISTRO_FEED ?= "unstable" +DISTRO_TYPE ?= "alpha" + +ARCH_BYTE_SEX = "le" +ARM_INSTRUCTION_SET = "arm" +TARGET_OS = "linux" + +include conf/distro/slugos.conf diff --git a/conf/distro/slugos-lau.conf b/conf/distro/slugos-lau.conf new file mode 100644 index 0000000000..0866f80763 --- /dev/null +++ b/conf/distro/slugos-lau.conf @@ -0,0 +1,16 @@ +#@TYPE: Distribution +#@NAME: SLUGOS-LAU +#@DESCRIPTION: Linux Distribution for the NSLU2 + +# This slugos variant is not supported - there are no nslu2-linux.org +# regular builds and there is no feed. +DISTRO_NAME ?= "slugos-lau" +DISTRO_VERSION ?= "0-beta" +DISTRO_FEED ?= "unstable" +DISTRO_TYPE ?= "alpha" + +ARCH_BYTE_SEX = "le" +ARM_INSTRUCTION_SET = "arm" +TARGET_OS = "linux-uclibc" + +include conf/distro/slugos.conf diff --git a/conf/distro/slugos-ltu.conf b/conf/distro/slugos-ltu.conf new file mode 100644 index 0000000000..06193c9169 --- /dev/null +++ b/conf/distro/slugos-ltu.conf @@ -0,0 +1,16 @@ +#@TYPE: Distribution +#@NAME: SLUGOS-LTU +#@DESCRIPTION: Linux Distribution for the NSLU2 + +# This slugos variant is not supported - there are no nslu2-linux.org +# regular builds and there is no feed. +DISTRO_NAME ?= "slugos-ltu" +DISTRO_VERSION ?= "0-beta" +DISTRO_FEED ?= "unstable" +DISTRO_TYPE ?= "alpha" + +ARCH_BYTE_SEX = "le" +ARM_INSTRUCTION_SET = "thumb" +TARGET_OS = "linux-uclibc" + +include conf/distro/slugos.conf diff --git a/conf/distro/slugos.conf b/conf/distro/slugos.conf new file mode 100644 index 0000000000..7151f2e8b3 --- /dev/null +++ b/conf/distro/slugos.conf @@ -0,0 +1,196 @@ +#@TYPE: Distribution +#@NAME: SlugOS +#@DESCRIPTION: SlugOS Linux Distribution for the NSLU2 + +# WARNING: this file should not be used directly, use one of +# the supported slugos-???.conf instead: + +# Explanation of the naming +# +# nslu2-dist - the base distro configuration for an NSLU2 +# nslu2-[bl][at][gu] - a specific configuration encoded as follows: +# +# b or l - big or little endian +# set ARCH_BYTE_SEX to match +# +# a or t - ARM or Thumb instructions in the low level libraries +# set ARM_INSTRUCTION_SET to match +# +# g or u - glibc or uclibc libc implementation +# set TARGET_OS to match +# +# The following names are deprecated: +# +# openslug - the historical name of a canonical nslu2-bag distro, +# used generically for NSLU2 specific distro features and +# the default OVERRIDE for all these NSLU2 builds +# ucslugc - the historical (and obsolete) name of nslu2-btu +# also the name of a standard nslu2-btu distro with a package feed +# + +#---------------------------------------------------------------------------------- +# STANDARD SLUGOS DEFINITIONS +#---------------------------------------------------------------------------------- +# The following must be set in the top level distro file: +# +#DISTRO_NAME +#DISTRO_VERSION +#DISTRO_FEED +#DISTRO_TYPE + +# The following must also be set, they define the basic format of the build +# +#ARCH_BYTE_SEX "be" or "le" +#ARM_INSTRUCTION_SET "arm" or "thumb" +#TARGET_OS "linux" or "linux-uclibc" + +# The following need not be set, the defaults should be adequate +#USE_NLS = "no" or "yes" +USE_NLS ?= "no" + +# To make errors easier to identify: +DISTRO_NAME ?= "INVALID-${ARCH_BYTE_SEX}-${ARM_INSTRUCTION_SET}-${TARGET_OS}" +DISTRO_VERSION ?= "INVALID" +DISTRO_FEED ?= "INVALID" +DISTRO_TYPE ?= "INVALID" + +# The following must not be changed. +TARGET_FPU = "soft" + +# glib-2.0 builds require USE_NLS to be overridden +USE_NLS_glib-2.0 = "yes" + +INHERIT += "package_ipk debian" + +# The value of DISTRO_BASE is set to 'openslug' to pick up the original openslug +# overrides, slugos is the preferred override! +#FIXME: remove openslug +DISTRO_BASE = ":slugos:openslug" + +# pull in the frozen list of bbfiles - this sets BBFILES and this will override any +# setting in local.conf Since this depends on ${DISTRO} it doesn't actually do +# anything by default unless conf/distro/${DISTRO}-packages.conf exists. +include conf/distro/freeze.conf + +#---------------------------------------------------------------------------------- +# FEEDS +# The FEED_URIS lines define where on the internet SlugOS looks for packages +# when downloading new packages or updating existing packages. Additional feeds +# (such as a local feed) can be defined in local.conf +#---------------------------------------------------------------------------------- +# Add to the user's feeds from local.conf (there may be none). +# In general slugos-[bl][at][gu] is sufficient to identify a set of packages which +# will work on any derived distro. The slugos-???.conf files set the FEED_URIS to +# an appropriate ipkg.nslu2-linux.org default if nslu2-linux is actually building +# such a feed: +# +#FEED_URIS_append += "cross##http://ipkg.nslu2-linux.org/feeds/${SLUGOS-foo}/cross/${DISTRO_FEED}" +#FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/${SLUGOS-foo}/native/${DISTRO_FEED}" +# +# When such a feed exists the corresponding 'unstable' feed will normally also +# exist - the packages in unstable are the latest but very unlikely to be the +# greatest. Use at your own risk! +# +#FEED_URIS_append += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/${SLUGOS-foo}/cross/unstable" +#FEED_URIS_append += "unstable_native##http://ipkg.nslu2-linux.org/feeds/${SLUGOS-foo}/native/unstable" + +#---------------------------------------------------------------------------------- +# FIRMWARE CONFIGURATION +#---------------------------------------------------------------------------------- +# IMAGE BUILD OPTIONS +# ------------------- +#FIXME: this is historical, there should be a minimal slugos device table and +# this stuff shouldn't be in here at all (put it in slugos-image.bb!) +# Why have anything in the config file to control the image build - why not +# just select a different image .bb file (e.g. slugos-ramdisk-image.bb) to +# build with different options. +IMAGE_FSTYPES = "jffs2" +IMAGE_SEX = "${@['big-endian', 'little-endian'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}" +OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-openslug.txt')}" +EXTRA_IMAGECMD_jffs2 = "--pad --${IMAGE_SEX} --eraseblock=0x20000 -D ${OPENSLUG_DEVICE_TABLE}" + +# CMDLINE* macros define the kernel command line. CMDLINE_DEBUG is provided +# to enable/disable debugging in the distro. Here noirqdebug is used to +# remove the messages about unhandled interrupts - people debugging interrupt +# issues in the kernel need to cancel this (set CMDLINE_DEBUG empty in local.conf) +CMDLINE_DEBUG = "noirqdebug" + +# IMAGE_PREPROCESS_COMMAND is run before making the image. In SlugOS the +# kernel image is removed from the root file system to recover the space used - +# SlugOS is assumed to boot from a separate kernel image in flash (not in the +# root file system), if this is not the case the following must not be done! +IMAGE_PREPROCESS_COMMAND = "rm ${IMAGE_ROOTFS}/boot/zImage*;" + +# Building a full image. If you add the following extra commands will be +# appended to the openslug-image build by classes/nslu2-jffs2-image.bbclass +# (note that you can, instead, simply add 'inherit nslu2-jffs2-image' to +# openslug-image.bb). If you do this you will need to find a source for the +# LinkSys software to be placed in the full image - 'RedBoot' (the boot loader), +# 'Trailer' (just a bunch of bytes to flag the image as valid) and 'SysConf' +# (actually just a block of unset data - you could modify this to pre-configure +# the SysConf partition of the image). If you own an NSLU2 then this data is +# already in the flash of the NSLU2 and you can download it (including new +# versions) from the LinkSys web site - the bbclass will output information +# about where to put the downloaded data. +# +#NOTE: you do not actually need the boot loader in normal use because it is +# *not* overwritten by a standard upslug upgrade, so you can make an image with +# just non-LinkSys software which can be flashed into the NSLU2. +#FIXME: this should not be here, only slugos-image.bb needs this +#INHERIT += "nslu2-jffs2-image" + +# 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 +# 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! +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" + +#FIXME: this is for openslug-image, slugos-image should be called slugos! +#FIXME: I find these names confusing, lets just use RDEPENDS and DEPENDS. +OPENSLUG_EXTRA_INSTALL = "${SLUGOS_EXTRA_RDEPENDS}" +OPENSLUG_EXTRA_DEPENDS = "${SLUGOS_EXTRA_DEPENDS} ${SLUGOS_NATIVE_DEPENDS}" + +#---------------------------------------------------------------------------------- +# PACKAGE VERSION CONTROL +#---------------------------------------------------------------------------------- +# Select the correct versions of the compiler tools (note that there +# is also some selection in machine/nslu2.conf) +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross" + +# compiler/binary/library versions (unslung uses different ones so these +# cannot be in nslu2.conf) +PREFERRED_VERSION_binutils ?= "2.16" +PREFERRED_VERSION_binutils-cross ?= "2.16" +PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4" +PREFERRED_VERSION_gcc-cross ?= "3.4.4" +PREFERRED_VERSION_gcc ?= "3.4.4" +PREFERRED_VERSION_glibc ?= "2.3.5+cvs20050627" + +# Select the correct versions of the kernel and modules (these are the +# defaults, override in the conf/distro top-level distro file). +PREFERRED_PROVIDER_virtual/kernel ?= "nslu2-kernel" +PREFERRED_VERSION_nslu2-kernel ?= "2.6.14-rc5" + +# Built-in ethernet modules +PREFERRED_PROVIDER_virtual/ixp-eth ?= "ixp400-eth" +PREFERRED_VERSION_ixp4xx-csr ?= "2.0" +PREFERRED_VERSION_ixp-osal ?= "2.0" +PREFERRED_VERSION_ixp400-eth ?= "1.4" + +# Select the smallest provider of x11 libraries +PREFERRED_PROVIDER_x11 ?= "diet-x11" +CVSDATE_diet-x11 ?= "20051005" diff --git a/conf/distro/ucslugc.conf b/conf/distro/ucslugc.conf index fa3f1ba886..2de9010a90 100644 --- a/conf/distro/ucslugc.conf +++ b/conf/distro/ucslugc.conf @@ -2,15 +2,11 @@ #@NAME: UcSlugC #@DESCRIPTION: UcSlugC Linux Distribution for the NSLU2 -# This is NSLU2-BTU with a feed and a name... +# This is SLUGOS-BTU with a different name... DISTRO_NAME = "UcSlugC" DISTRO_VERSION = "3-beta" DISTRO_FEED = "unstable" -DISTRO_TYPE ?= "beta" - -# Official UcSlugC feeds: -FEED_URIS_append += "cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/${DISTRO_FEED}" -FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/${DISTRO_FEED}" +DISTRO_TYPE = "beta" # 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 @@ -24,12 +20,8 @@ UCSLUGC_EXTRA_RDEPENDS ?= "" UCSLUGC_EXTRA_DEPENDS ?= "" UCSLUGC_NATIVE_DEPENDS ?= "upslug2-native" # -NSLU2_EXTRA_RDEPENDS ?= "${UCSLUGC_EXTRA_RDEPENDS}" -NSLU2_EXTRA_DEPENDS ?= "${UCSLUGC_EXTRA_DEPENDS}" -NSLU2_NATIVE_DEPENDS ?= "${UCSLUGC_NATIVE_DEPENDS}" - -include conf/distro/nslu2-btu.conf +SLUGOS_EXTRA_RDEPENDS ?= "${UCSLUGC_EXTRA_RDEPENDS}" +SLUGOS_EXTRA_DEPENDS ?= "${UCSLUGC_EXTRA_DEPENDS}" +SLUGOS_NATIVE_DEPENDS ?= "${UCSLUGC_NATIVE_DEPENDS}" -#FIXME -# This seems to be required with thumb. -#PREFERRED_VERSION_samba ?= "3.0.14a" +include conf/distro/slugos-btu.conf diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf index 482f47881a..22b041f521 100644 --- a/conf/distro/unslung.conf +++ b/conf/distro/unslung.conf @@ -17,6 +17,19 @@ include conf/distro/freeze.conf TARGET_FPU = "soft" TARGET_OS = "linux" +# select distro specific options to match that of the original LinkSys build +ARCH_BYTE_SEX = "be" +ARM_INSTRUCTION_SET = "arm" +THUMB_INTERWORK = "no" + +# for compatibility PACKAGE_ARCH stays as TARGET_ARCH and TARGET_ARCH is hard-wired +# to armeb - this makes this stuff independent of changes in machine/nslu2.conf +TARGET_ARCH = "armeb" +PACKAGE_ARCH = "${TARGET_ARCH}" +# IPKG_ARCHS has the full list of supported architectures (from nslu2.conf) + +# match the optimisation settings to that which has traditionally been used +# in unslung FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2" INHERIT += " package_ipk nslu2-jffs2-image" -- cgit v1.2.3