summaryrefslogtreecommitdiff
path: root/conf/distro/slugos.conf
diff options
context:
space:
mode:
Diffstat (limited to 'conf/distro/slugos.conf')
-rw-r--r--conf/distro/slugos.conf196
1 files changed, 196 insertions, 0 deletions
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"