diff options
Diffstat (limited to 'conf/distro/slugos.conf')
-rw-r--r-- | conf/distro/slugos.conf | 196 |
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" |