summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-07-31 17:35:04 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-07-31 17:35:04 +0000
commit4ee908e0d96dae594c302fa8102f0b34563bebb3 (patch)
tree4d98103ea72a34aa0b8207028bb04d650d148e26 /conf
parentc8862168e6398b8ebaca137d175ea5f93f949769 (diff)
Add support for UcSlugC builds.
(1) the 'standard' settings in local.conf.template (from the nslu2-linux.org master makefile) have been folded back into the three distro .conf files. (2) openslug-image now builds for any NSLU2 distro (3) ucslugc configuration added (4) more comments in the openslug and ucslugc configuration files
Diffstat (limited to 'conf')
-rw-r--r--conf/distro/openslug-packages.conf4
-rw-r--r--conf/distro/openslug.conf106
-rw-r--r--conf/distro/ucslugc-packages.conf142
-rw-r--r--conf/distro/ucslugc.conf95
-rw-r--r--conf/distro/unslung-packages.conf2
-rw-r--r--conf/distro/unslung.conf6
6 files changed, 323 insertions, 32 deletions
diff --git a/conf/distro/openslug-packages.conf b/conf/distro/openslug-packages.conf
index 11b778db9f..f4a460bcea 100644
--- a/conf/distro/openslug-packages.conf
+++ b/conf/distro/openslug-packages.conf
@@ -19,9 +19,9 @@ ${PKGDIR}/packages/bzip2/*.bb \
${PKGDIR}/packages/coreutils/*.bb \
${PKGDIR}/packages/cpio/*.bb \
${PKGDIR}/packages/cron/*.bb \
+${PKGDIR}/packages/cvs/*.bb \
${PKGDIR}/packages/cyrus-imapd/*.bb \
${PKGDIR}/packages/cyrus-sasl/*.bb \
-${PKGDIR}/packages/cvs/*.bb \
${PKGDIR}/packages/db/*.bb \
${PKGDIR}/packages/devio/*.bb \
${PKGDIR}/packages/diffutils/*.bb \
@@ -45,7 +45,6 @@ ${PKGDIR}/packages/glibc/*.bb \
${PKGDIR}/packages/gnu-config/*.bb \
${PKGDIR}/packages/gphoto2/*.bb \
${PKGDIR}/packages/grep/*.bb \
-${PKGDIR}/packages/groff/*.bb \
${PKGDIR}/packages/gtk-doc/*.bb \
${PKGDIR}/packages/gzip/*.bb \
${PKGDIR}/packages/hotplug-ng/*.bb \
@@ -140,6 +139,7 @@ ${PKGDIR}/packages/screen/*.bb \
${PKGDIR}/packages/sed/*.bb \
${PKGDIR}/packages/setpwc/*.bb \
${PKGDIR}/packages/slugimage/*.bb \
+${PKGDIR}/packages/strace/*.bb \
${PKGDIR}/packages/streamripper/*.bb \
${PKGDIR}/packages/sudo/*.bb \
${PKGDIR}/packages/sysfsutils/*.bb \
diff --git a/conf/distro/openslug.conf b/conf/distro/openslug.conf
index 4c22206a49..80cf489b5b 100644
--- a/conf/distro/openslug.conf
+++ b/conf/distro/openslug.conf
@@ -2,13 +2,36 @@
#@NAME: OpenSlug
#@DESCRIPTION: OpenSlug Linux Distribution for the NSLU2
+#----------------------------------------------------------------------------------
+# STANDARD OpenSlug DEFINITIONS
+#----------------------------------------------------------------------------------
DISTRO_NAME = "OpenSlug"
DISTRO_VERSION = "2.4-beta"
DISTRO_TYPE ?= "beta"
-# pull in the frozen list of bbfiles
+TARGET_FPU = "soft"
+TARGET_OS = "linux"
+
+USE_NLS ?= "no"
+USE_NLS_glib-2.0 = "yes"
+
+INHERIT += " package_ipk debian nslu2_flashimg"
+
+# NOTE: to build new packages set OPENSLUG_EXTRA_BBFILES to the full path name to
+# the .bb files for the packages to build - see openslug-packages.conf in this
+# directory
+OPENSLUG_EXTRA_BBFILES ?= ""
+
+# pull in the frozen list of bbfiles - this sets BBFILES and this will override any
+# setting in local.conf
include conf/distro/freeze.conf
+#----------------------------------------------------------------------------------
+# FEEDS
+# The following lines define where on the internet OpenSlug 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)
FEED_URIS_append_linux += "cross##http://ipkg.nslu2-linux.org/feeds/openslug/cross/${DISTRO_VERSION}"
FEED_URIS_append_linux += "native##http://ipkg.nslu2-linux.org/feeds/openslug/native/${DISTRO_VERSION}"
@@ -18,35 +41,24 @@ FEED_URIS_append_linux += "native##http://ipkg.nslu2-linux.org/feeds/openslug/na
#FEED_URIS_append_linux += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/openslug/cross/unstable"
#FEED_URIS_append_linux += "unstable_native##http://ipkg.nslu2-linux.org/feeds/openslug/native/unstable"
-
-TARGET_FPU_local ?= "soft"
-TARGET_FPU := "${TARGET_FPU_local}"
-TARGET_OS_local ?= "linux"
-TARGET_OS := "${TARGET_OS_local}"
-
-USE_NLS ?= "no"
-USE_NLS_glib-2.0 = "yes"
-
-INHERIT += " package_ipk debian nslu2_flashimg"
-
+#----------------------------------------------------------------------------------
+# FIRMWARE CONFIGURATION
+#----------------------------------------------------------------------------------
+# IMAGE BUILD OPTIONS
+# -------------------
IMAGE_FSTYPES = "jffs2"
OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-openslug.txt')}"
EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 -D ${OPENSLUG_DEVICE_TABLE}"
-OPENSLUG_EXTRA_DEPENDS ?= "e2fsprogs reiserfsprogs upslug-native lrzsz"
-
-# NOTE: to build new packages set OPENSLUG_EXTRA_BBFILES to the full path name to
-# the .bb files for the packages to build - see openslug-packages.conf in this
-# directory
-OPENSLUG_EXTRA_BBFILES ?= ""
-
# 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"
+# EXTRA PACKAGES
+# --------------
# Filesystem support modules are listed in here for easy removal,
# as is the lrzsz serial package and other kernel modules which are
# not absolutely required for boot.
@@ -54,13 +66,47 @@ CMDLINE_DEBUG = "noirqdebug"
# the ext2/ext3 support is optional!
OPENSLUG_EXT2_PROGS = "e2fsprogs-mke2fs e2fsprogs-fsck e2fsprogs-e2fsck"
OPENSLUG_REISER_PROGS = "reiserfsprogs"
-OPENSLUG_EXTRA_RDEPENDS ?= "\
-lrzsz \
-${OPENSLUG_EXT2_PROGS} ${OPENSLUG_REISER_PROGS} \
-kernel-module-usbnet \
-kernel-module-pegasus kernel-module-p8022 kernel-module-kaweth \
-kernel-module-usbserial \
-kernel-module-pl2303 kernel-module-ftdi-sio"
+
+# 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
+# image, programs to format disks with these file systems may be
+# added or removed. By default ext2. ext3 and reiserfs supported
+# is included by the following lines.
+#
+# 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 a build of the 'upslug' program which may be
+# used to download the final image to an NSLU2. The program can
+# be found within the tmp/work/upslug-native* directory.
+OPENSLUG_STANDARD_DEPENDS += "upslug-native"
+
+# 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"
+
+# The 'standard' values are the defaults for the 'extra' packages added
+# to the firmware image. None of these things are requirements to have
+# a bootable, useable, system however they *are* expected to be present
+# in OpenSlug - see osuclibc for a more minimal configuration and some
+# more instructions about how to make a non-openslug image.
+OPENSLUG_EXTRA_DEPENDS ?= "${OPENSLUG_STANDARD_DEPENDS}"
+OPENSLUG_EXTRA_RDEPENDS ?= "${OPENSLUG_STANDARD_RDEPENDS}"
# Filesystem selection: set in local.conf to override. Adding entries
# here adds the module to the image. The module must be built as part
@@ -73,6 +119,8 @@ kernel-module-pl2303 kernel-module-ftdi-sio"
# for more information on the language behaviour of the DOS file
# systems.
#
+# KERNEL LEVEL FILE SYSTEM SUPPORT
+# --------------------------------
# NOTE: removing kernel-module-nfs from this list will prevent NFS
# boot (however you can do a simple flash file system boot - no
# attached disk - and install the nfs modules from ssh.)
@@ -99,6 +147,9 @@ kernel-module-nls-utf8 \
OPENSLUG_EXTRA_INSTALL ?= "${OPENSLUG_EXTRA_RDEPENDS} ${OPENSLUG_EXTRA_FILESYSTEMS}"
+#----------------------------------------------------------------------------------
+# 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"
@@ -108,9 +159,6 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
# Select the correct versions of the kernel and modules
PREFERRED_PROVIDER_virtual/kernel ?= "openslug-kernel"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
-
-# Tracking the latest version, so the following is commented out.
-# Uncomment it before release!
PREFERRED_VERSION_openslug-kernel ?= "2.6.12.2"
PREFERRED_VERSION_ixp4xx-csr ?= "1.4"
diff --git a/conf/distro/ucslugc-packages.conf b/conf/distro/ucslugc-packages.conf
new file mode 100644
index 0000000000..b76d352b8a
--- /dev/null
+++ b/conf/distro/ucslugc-packages.conf
@@ -0,0 +1,142 @@
+# automatically generated by bitbake freeze
+# hacked by the addition of UCSLUG_EXTRA_BBFILES at the end
+BBFILES := "\
+${PKGDIR}/packages/atftp/*.bb \
+${PKGDIR}/packages/autoconf/*.bb \
+${PKGDIR}/packages/automake/*.bb \
+${PKGDIR}/packages/base-files/*.bb \
+${PKGDIR}/packages/base-passwd/*.bb \
+${PKGDIR}/packages/bash/*.bb \
+${PKGDIR}/packages/binutils/*.bb \
+${PKGDIR}/packages/bison/*.bb \
+${PKGDIR}/packages/bluez-libs/*.bb \
+${PKGDIR}/packages/bluez-utils/*.bb \
+${PKGDIR}/packages/boost/*.bb \
+${PKGDIR}/packages/bridge-utils/*.bb \
+${PKGDIR}/packages/busybox/*.bb \
+${PKGDIR}/packages/bzip2/*.bb \
+${PKGDIR}/packages/coreutils/*.bb \
+${PKGDIR}/packages/cpio/*.bb \
+${PKGDIR}/packages/cron/*.bb \
+${PKGDIR}/packages/cvs/*.bb \
+${PKGDIR}/packages/cyrus-imapd/*.bb \
+${PKGDIR}/packages/cyrus-sasl/*.bb \
+${PKGDIR}/packages/db/*.bb \
+${PKGDIR}/packages/devio/*.bb \
+${PKGDIR}/packages/diffutils/*.bb \
+${PKGDIR}/packages/dnsmasq/*.bb \
+${PKGDIR}/packages/dropbear/*.bb \
+${PKGDIR}/packages/expat/*.bb \
+${PKGDIR}/packages/fakeroot/*.bb \
+${PKGDIR}/packages/findutils/*.bb \
+${PKGDIR}/packages/flex/*.bb \
+${PKGDIR}/packages/freeze/*.bb \
+${PKGDIR}/packages/ftpd-topfield/*.bb \
+${PKGDIR}/packages/gawk/*.bb \
+${PKGDIR}/packages/gcc/*.bb \
+${PKGDIR}/packages/gdb/*.bb \
+${PKGDIR}/packages/gdbm/*.bb \
+${PKGDIR}/packages/gettext/*.bb \
+${PKGDIR}/packages/glib-2.0/*.bb \
+${PKGDIR}/packages/gnu-config/*.bb \
+${PKGDIR}/packages/gphoto2/*.bb \
+${PKGDIR}/packages/grep/*.bb \
+${PKGDIR}/packages/gtk-doc/*.bb \
+${PKGDIR}/packages/gzip/*.bb \
+${PKGDIR}/packages/hotplug-ng/*.bb \
+${PKGDIR}/packages/initscripts/*.bb \
+${PKGDIR}/packages/install/*.bb \
+${PKGDIR}/packages/ipkg-utils/*.bb \
+${PKGDIR}/packages/ipkg/*.bb \
+${PKGDIR}/packages/ircp/*.bb \
+${PKGDIR}/packages/ixp425-eth/*.bb \
+${PKGDIR}/packages/ixp4xx/*.bb \
+${PKGDIR}/packages/jpeg/*.bb \
+${PKGDIR}/packages/less/*.bb \
+${PKGDIR}/packages/libaal/*.bb \
+${PKGDIR}/packages/libexif/*.bb \
+${PKGDIR}/packages/libgphoto2/*.bb \
+${PKGDIR}/packages/libiconv/*.bb \
+${PKGDIR}/packages/libid3tag/*.bb \
+${PKGDIR}/packages/libogg/*.bb \
+${PKGDIR}/packages/libpcap/*.bb \
+${PKGDIR}/packages/libtool/*.bb \
+${PKGDIR}/packages/libusb/*.bb \
+${PKGDIR}/packages/libvorbis/*.bb \
+${PKGDIR}/packages/libxml/*.bb \
+${PKGDIR}/packages/linux-libc-headers/*.bb \
+${PKGDIR}/packages/linux/*.bb \
+${PKGDIR}/packages/lsof/*.bb \
+${PKGDIR}/packages/lzo/*.bb \
+${PKGDIR}/packages/m4/*.bb \
+${PKGDIR}/packages/make/*.bb \
+${PKGDIR}/packages/makedevs/*.bb \
+${PKGDIR}/packages/man-pages/*.bb \
+${PKGDIR}/packages/man/*.bb \
+${PKGDIR}/packages/meta/*.bb \
+${PKGDIR}/packages/miau/*.bb \
+${PKGDIR}/packages/microcom/*.bb \
+${PKGDIR}/packages/module-init-tools/*.bb \
+${PKGDIR}/packages/modutils/*.bb \
+${PKGDIR}/packages/monotone/*.bb \
+${PKGDIR}/packages/mt-daapd/*.bb \
+${PKGDIR}/packages/mtd/*.bb \
+${PKGDIR}/packages/mutt/*.bb \
+${PKGDIR}/packages/mysql/*.bb \
+${PKGDIR}/packages/nail/*.bb \
+${PKGDIR}/packages/nano/*.bb \
+${PKGDIR}/packages/ncftp/*.bb \
+${PKGDIR}/packages/ncurses/*.bb \
+${PKGDIR}/packages/netbase/*.bb \
+${PKGDIR}/packages/nslu2-binary-only/*.bb \
+${PKGDIR}/packages/ntp/*.bb \
+${PKGDIR}/packages/obexftp/*.bb \
+${PKGDIR}/packages/openldap/*.bb \
+${PKGDIR}/packages/openntpd/*.bb \
+${PKGDIR}/packages/openobex-apps/*.bb \
+${PKGDIR}/packages/openobex/*.bb \
+${PKGDIR}/packages/openslug-init/*.bb \
+${PKGDIR}/packages/openssh/*.bb \
+${PKGDIR}/packages/openssl/*.bb \
+${PKGDIR}/packages/openvpn/*.bb \
+${PKGDIR}/packages/patch/*.bb \
+${PKGDIR}/packages/patcher/*.bb \
+${PKGDIR}/packages/pciutils/*.bb \
+${PKGDIR}/packages/pcmcia-cs/*.bb \
+${PKGDIR}/packages/pcre/*.bb \
+${PKGDIR}/packages/pkgconfig/*.bb \
+${PKGDIR}/packages/popt/*.bb \
+${PKGDIR}/packages/portmap/*.bb \
+${PKGDIR}/packages/ppp/*.bb \
+${PKGDIR}/packages/procps/*.bb \
+${PKGDIR}/packages/psmisc/*.bb \
+${PKGDIR}/packages/puppy/*.bb \
+${PKGDIR}/packages/pwc/*.bb \
+${PKGDIR}/packages/python/*.bb \
+${PKGDIR}/packages/quilt/*.bb \
+${PKGDIR}/packages/readline/*.bb \
+${PKGDIR}/packages/reiser4progs/*.bb \
+${PKGDIR}/packages/reiserfsprogs/*.bb \
+${PKGDIR}/packages/rsync/*.bb \
+${PKGDIR}/packages/samba/*.bb \
+${PKGDIR}/packages/sane-backends/*.bb \
+${PKGDIR}/packages/screen/*.bb \
+${PKGDIR}/packages/sed/*.bb \
+${PKGDIR}/packages/setpwc/*.bb \
+${PKGDIR}/packages/slugimage/*.bb \
+${PKGDIR}/packages/strace/*.bb \
+${PKGDIR}/packages/sudo/*.bb \
+${PKGDIR}/packages/sysfsutils/*.bb \
+${PKGDIR}/packages/sysvinit/*.bb \
+${PKGDIR}/packages/thttpd/*.bb \
+${PKGDIR}/packages/tinylogin/*.bb \
+${PKGDIR}/packages/uclibc/*.bb \
+${PKGDIR}/packages/unionfs/*.bb \
+${PKGDIR}/packages/unzip/*.bb \
+${PKGDIR}/packages/update-modules/*.bb \
+${PKGDIR}/packages/update-rc.d/*.bb \
+${PKGDIR}/packages/util-linux/*.bb \
+${PKGDIR}/packages/vlan/*.bb \
+${PKGDIR}/packages/wget/*.bb \
+${PKGDIR}/packages/zlib/*.bb \
+${OPENSLUG_UCSLUGC_BBFILES}"
diff --git a/conf/distro/ucslugc.conf b/conf/distro/ucslugc.conf
new file mode 100644
index 0000000000..af812922be
--- /dev/null
+++ b/conf/distro/ucslugc.conf
@@ -0,0 +1,95 @@
+#@TYPE: Distribution
+#@NAME: UcSlugC
+#@DESCRIPTION: UcSlugC Linux Distribution for the NSLU2
+
+#----------------------------------------------------------------------------------
+# STANDARD UcSlugC DEFINITIONS
+#----------------------------------------------------------------------------------
+DISTRO_NAME = "UcSlugC"
+DISTRO_VERSION = "1-beta"
+DISTRO_TYPE ?= "beta"
+
+TARGET_FPU = "soft"
+TARGET_OS = "linux-uclibc"
+
+USE_NLS ?= "no"
+USE_NLS_glib-2.0 = "yes"
+
+INHERIT += " package_ipk debian nslu2_flashimg"
+
+# The OVERRIDES are modified here so that 'openslug' overrides are picked up if
+# present (ucslugc overrides take precedence)
+OVERRIDES = "local:${MACHINE}:${DISTRO}:openslug:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}"
+
+# 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
+# directory
+OPENSLUG_UCSLUGC_BBFILES ?= ""
+
+# pull in the frozen list of bbfiles - this sets BBFILES and this will override any
+# setting in local.conf
+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)
+FEED_URIS_append_linux += "cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/${DISTRO_VERSION}"
+FEED_URIS_append_linux += "native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/${DISTRO_VERSION}"
+
+#
+# Uncomment the following to get the unstable feeds
+#FEED_URIS_append_linux += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/unstable"
+#FEED_URIS_append_linux += "unstable_native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/unstable"
+
+#----------------------------------------------------------------------------------
+# FIRMWARE CONFIGURATION
+#----------------------------------------------------------------------------------
+# IMAGE BUILD OPTIONS
+# -------------------
+IMAGE_FSTYPES = "jffs2"
+
+OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-openslug.txt')}"
+EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --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"
+
+# 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!
+UCLIBC_EXTRA_RDEPENDS ?= ""
+UCLIBC_EXTRA_DEPENDS ?= ""
+#UCLIBC_EXTRA_BBFILES above may also need to be set
+
+OPENSLUG_EXTRA_INSTALL = "${UCLIBC_EXTRA_RDEPENDS}"
+OPENSLUG_EXTRA_DEPENDS = "${UCLIBC_EXTRA_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"
+
+# Select the correct versions of the kernel and modules
+PREFERRED_PROVIDER_virtual/kernel ?= "openslug-kernel"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
+PREFERRED_VERSION_openslug-kernel ?= "2.6.12.2"
+
+PREFERRED_VERSION_ixp4xx-csr ?= "1.4"
+PREFERRED_VERSION_ixp425-eth ?= "1.1"
diff --git a/conf/distro/unslung-packages.conf b/conf/distro/unslung-packages.conf
index 8e556db009..1f41b1e846 100644
--- a/conf/distro/unslung-packages.conf
+++ b/conf/distro/unslung-packages.conf
@@ -34,4 +34,4 @@ ${PKGDIR}/packages/unzip/*.bb \
${PKGDIR}/packages/update-modules/*.bb \
${PKGDIR}/packages/wget/*.bb \
${PKGDIR}/packages/zlib/*.bb \
-"
+${UNSLUNG_EXTRA_BBFILES}"
diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf
index e250b64c41..75c251f220 100644
--- a/conf/distro/unslung.conf
+++ b/conf/distro/unslung.conf
@@ -11,6 +11,7 @@ DISTRO_VERSION = "5.5-beta"
DISTRO_TYPE = "beta"
# pull in the frozen list of bbfiles
+UNSLUNG_EXTRA_BBFILES ?= ""
include conf/distro/freeze.conf
TARGET_FPU = "soft"
@@ -33,6 +34,11 @@ kernel-module-pl2303 kernel-module-ftdi-sio"
UNSLUNG_EXTRA_INSTALL ?= "${UNSLUNG_EXTRA_RDEPENDS}"
+# Select between multiple alternative providers, if more than one is eligible.
+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_VERSION_glibc ?= "2.2.5"
PREFERRED_VERSION_glibc-initial ?= "2.2.5"
PREFERRED_VERSION_binutils ?= "2.15.94.0.1"