summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Larson <clarson@kergoth.com>2004-12-09 01:08:40 +0000
committerChris Larson <clarson@kergoth.com>2004-12-09 01:08:40 +0000
commit00f6a165aeeab027ba0361f2d9601cb359d73726 (patch)
treef6b2d21b56d7c3edcd5d0c79f2a5b5f4f1fb0137
parentd5e1c8f0a7f8dead22fa2cde9ff86a96a59346c3 (diff)
More rename updates.
BKrev: 41b7a598bGnuzf3sKWuCwtAE9oItIw
-rw-r--r--classes/base.bbclass5
-rw-r--r--classes/image_ipk.bbclass72
-rw-r--r--conf/bitbake.conf349
-rw-r--r--conf/distro/openslug.conf2
-rw-r--r--conf/distro/switchbox.conf2
-rw-r--r--conf/distro/unslung.conf2
-rw-r--r--meta/nslu2-linksys-image.bb13
7 files changed, 440 insertions, 5 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 09710b0a8b..9ab1fdc7b0 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -465,13 +465,14 @@ python base_eventhandler() {
addtask configure after do_unpack do_patch
do_configure[dirs] = "${S} ${B}"
-
+do_configure[bbdepcmd] = "do_populate_staging"
base_do_configure() {
:
}
addtask compile after do_configure
do_compile[dirs] = "${S} ${B}"
+do_compile[bbdepcmd] = "do_populate_staging"
base_do_compile() {
if [ -e Makefile -o -e makefile ]; then
oe_runmake || die "make failed"
@@ -682,7 +683,7 @@ addtask emit_manifest
python do_emit_manifest () {
# FIXME: emit a manifest here
# 1) adjust PATH to hit the wrapper scripts
- wrappers = bb.which(bb.data.getVar("OEPATH", d, 1), 'build/install', 0)
+ wrappers = bb.which(bb.data.getVar("BBPATH", d, 1), 'build/install', 0)
path = (bb.data.getVar('PATH', d, 1) or '').split(':')
path.insert(0, os.path.dirname(wrappers))
bb.data.setVar('PATH', ':'.join(path), d)
diff --git a/classes/image_ipk.bbclass b/classes/image_ipk.bbclass
index e69de29bb2..0778114b4f 100644
--- a/classes/image_ipk.bbclass
+++ b/classes/image_ipk.bbclass
@@ -0,0 +1,72 @@
+inherit rootfs_ipk
+
+# Images are generally built explicitly, do not need to be part of world.
+EXCLUDE_FROM_WORLD = "1"
+
+USE_DEVFS ?= "0"
+
+DEPENDS += "makedevs-native"
+
+def get_image_deps(d):
+ import bb
+ str = ""
+ for type in (bb.data.getVar('IMAGE_FSTYPES', d, 1) or "").split():
+ deps = bb.data.getVar('IMAGE_DEPENDS_%s' % type, d) or ""
+ if deps:
+ str += " %s" % deps
+ return str
+
+DEPENDS += "${@get_image_deps(d)}"
+
+IMAGE_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-minimal.txt')}"
+IMAGE_POSTPROCESS_COMMAND ?= ""
+
+# Must call real_do_rootfs() from inside here, rather than as a separate
+# task, so that we have a single fakeroot context for the whole process.
+fakeroot do_rootfs () {
+ set -x
+ rm -rf ${IMAGE_ROOTFS}
+
+ if [ "${USE_DEVFS}" != "1" ]; then
+ mkdir -p ${IMAGE_ROOTFS}/dev
+ makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE}
+ fi
+
+ real_do_rootfs
+
+ insert_feed_uris
+
+ rm ${IMAGE_ROOTFS}/usr/lib/ipkg/lists/oe
+
+ ${IMAGE_PREPROCESS_COMMAND}
+
+ export TOPDIR=${TOPDIR}
+
+ for type in ${IMAGE_FSTYPES}; do
+ if test -z "$FAKEROOTKEY"; then
+ fakeroot -i ${TMPDIR}/fakedb.image oeimage -t $type -e ${FILE}
+ else
+ oeimage -n "${IMAGE_NAME}" -t "$type" -e "${FILE}"
+ fi
+ done
+
+ ${IMAGE_POSTPROCESS_COMMAND}
+}
+
+insert_feed_uris () {
+
+ echo "Building feeds for [${DISTRO}].."
+
+ for line in ${FEED_URIS}
+ do
+ # strip leading and trailing spaces/tabs, then split into name and uri
+ line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`"
+ feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`"
+ feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`"
+
+ echo "Added $feed_name feed with URL $feed_uri"
+
+ # insert new feed-sources
+ echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg/${feed_name}-feed.conf
+ done
+}
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index e69de29bb2..fa3e726853 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -0,0 +1,349 @@
+##################################################################
+# Standard target filesystem paths.
+##################################################################
+
+export prefix = "/usr"
+export exec_prefix = "${prefix}"
+export bindir = "${exec_prefix}/bin"
+export sbindir = "${exec_prefix}/sbin"
+export libexecdir = "${exec_prefix}/libexec"
+export datadir = "${prefix}/share"
+export sysconfdir = "/etc"
+export sharedstatedir = "${prefix}/com"
+export localstatedir = "/var"
+export libdir = "${exec_prefix}/lib"
+export includedir = "${prefix}/include"
+export oldincludedir = "/usr/include"
+export infodir = "${datadir}/info"
+export mandir = "${datadir}/man"
+export docdir = "${datadir}/doc"
+export servicedir = "/srv"
+
+##################################################################
+# Architecture-dependent build variables.
+##################################################################
+
+BUILD_ARCH = "${@os.uname()[4]}"
+BUILD_OS = "${@os.uname()[0].lower()}"
+BUILD_VENDOR = ""
+BUILD_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
+BUILD_PREFIX = ""
+BUILD_CC_ARCH = ""
+
+HOST_ARCH = "${TARGET_ARCH}"
+HOST_OS = "${TARGET_OS}"
+HOST_VENDOR = "${TARGET_VENDOR}"
+HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
+HOST_PREFIX = "${TARGET_PREFIX}"
+HOST_CC_ARCH = "${TARGET_CC_ARCH}"
+
+TARGET_ARCH = "${BUILD_ARCH}"
+TARGET_OS = "${BUILD_OS}"
+TARGET_VENDOR = "${BUILD_VENDOR}"
+TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+TARGET_PREFIX = "${TARGET_SYS}-"
+TARGET_CC_ARCH = ""
+
+PACKAGE_ARCH = "${HOST_ARCH}"
+MACHINE_ARCH = "${@[bb.data.getVar('PACKAGE_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
+
+##################################################################
+# Date/time variables.
+##################################################################
+
+DATE := "${@time.strftime('%Y%m%d',time.gmtime())}"
+TIME := "${@time.strftime('%H%M%S',time.gmtime())}"
+DATETIME = "${DATE}${TIME}"
+
+##################################################################
+# Package default variables.
+##################################################################
+
+PN = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[0] or 'defaultpkgname'}"
+PV = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[1] or '1.0'}"
+PR = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or 'r0'}"
+PF = "${PN}-${PV}-${PR}"
+P = "${PN}-${PV}"
+
+# Package info.
+
+SECTION = "base"
+PRIORITY = "optional"
+DESCRIPTION = "Version ${PV}-${PR} of package ${PN}"
+LICENSE = "unknown"
+MAINTAINER = "OpenEmbedded Team <oe@handhelds.org>"
+HOMEPAGE = "unknown"
+
+# Package dependencies and provides.
+
+DEPENDS = ""
+RDEPENDS = ""
+PROVIDES = ""
+PROVIDES_prepend = "${P} ${PF} ${PN} "
+RPROVIDES = ""
+
+PACKAGES = "${PN} ${PN}-doc ${PN}-dev ${PN}-locale"
+FILES = ""
+FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* \
+ ${sysconfdir} ${sharedstatedir} ${localstatedir} \
+ /bin /sbin /lib/*.so* ${datadir}/${PN} ${libdir}/${PN} \
+ ${datadir}/pixmaps ${datadir}/applications \
+ ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
+ ${libdir}/bonobo/servers"
+SECTION_${PN}-doc = "doc"
+FILES_${PN}-doc = "${datadir}/doc ${mandir} ${infodir} ${datadir}/gtk-doc \
+ ${datadir}/gnome/help"
+SECTION_${PN}-dev = "devel"
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
+ ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
+ /lib/*.a /lib/*.o ${datadir}/aclocal"
+FILES_${PN}-locale = "${datadir}/locale"
+
+# File manifest
+
+export MANIFEST = "${FILESDIR}/manifest"
+
+FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}"
+FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
+FILESDIR = "${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')}"
+
+##################################################################
+# General work and output directories for the build system.
+##################################################################
+
+TMPDIR = "${TOPDIR}/tmp"
+CACHE = "${TMPDIR}/cache"
+DL_DIR = "${TMPDIR}/downloads"
+CVSDIR = "${DL_DIR}/cvs"
+
+STAMP = "${TMPDIR}/stamps/${PF}"
+WORKDIR = "${TMPDIR}/work/${PF}"
+T = "${WORKDIR}/temp"
+D = "${WORKDIR}/image"
+S = "${WORKDIR}/${P}"
+B = "${S}"
+
+STAGING_DIR = "${TMPDIR}/staging"
+STAGING_BINDIR = "${STAGING_DIR}/${BUILD_SYS}/bin"
+STAGING_LIBDIR = "${STAGING_DIR}/${HOST_SYS}/lib"
+STAGING_INCDIR = "${STAGING_DIR}/${HOST_SYS}/include"
+STAGING_DATADIR = "${STAGING_DIR}/${HOST_SYS}/share"
+
+DEPLOY_DIR = "${TMPDIR}/deploy"
+DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
+DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
+DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
+
+##################################################################
+# Kernel info.
+##################################################################
+
+OLDEST_KERNEL = "2.4.0"
+STAGING_KERNEL_DIR = "${STAGING_DIR}/${HOST_SYS}/kernel"
+
+##################################################################
+# Specific image creation and rootfs population info.
+##################################################################
+
+DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images"
+IMAGE_ROOTFS = "${TMPDIR}/rootfs"
+IMAGE_BASENAME = "rootfs"
+IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
+IMAGE_CMD = ""
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${EXTRA_IMAGECMD}"
+IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}"
+IMAGE_CMD_ext2 = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}"
+IMAGE_CMD_ext2.gz = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.new ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.new; mv ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.new.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz"
+IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend"
+IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
+EXTRA_IMAGECMD = ""
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000"
+EXTRA_IMAGECMD_squashfs = "-le -b 16384"
+IMAGE_FSTYPE = "jffs2"
+IMAGE_FSTYPES = "${IMAGE_FSTYPE}"
+IMAGE_ROOTFS_SIZE_ext2 = "65536"
+IMAGE_ROOTFS_SIZE_ext2.gz = "65536"
+
+IMAGE_DEPENDS = ""
+IMAGE_DEPENDS_jffs2 = "mtd-native"
+IMAGE_DEPENDS_cramfs = "cramfs-native"
+IMAGE_DEPENDS_ext2 = "genext2fs-native"
+IMAGE_DEPENDS_ext2.gz = "genext2fs-native"
+IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
+EXTRA_IMAGEDEPENDS = ""
+
+##################################################################
+# Toolchain info.
+##################################################################
+
+CROSS_DIR = "${TMPDIR}/cross"
+CROSS_DATADIR = "${CROSS_DIR}/share"
+export PATH_prepend = "${STAGING_BINDIR}:${CROSS_DIR}/bin:"
+
+##################################################################
+# Build utility info.
+##################################################################
+
+CCACHE = "${@bb.which(bb.data.getVar('PATH', d), 'ccache') and 'ccache '}"
+
+export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}"
+export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}"
+export CPP = "${HOST_PREFIX}gcc -E"
+export LD = "${HOST_PREFIX}ld"
+export CCLD = "${HOST_PREFIX}gcc"
+export AR = "${HOST_PREFIX}ar"
+export AS = "${HOST_PREFIX}as"
+export RANLIB = "${HOST_PREFIX}ranlib"
+export STRIP = "${HOST_PREFIX}strip"
+
+export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
+export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
+export BUILD_F77 = "${CCACHE}${BUILD_PREFIX}g77 ${BUILD_CC_ARCH}"
+export BUILD_CPP = "${BUILD_PREFIX}cpp"
+export BUILD_LD = "${BUILD_PREFIX}ld"
+export BUILD_CCLD = "${BUILD_PREFIX}gcc"
+export BUILD_AR = "${BUILD_PREFIX}ar"
+export BUILD_RANLIB = "${BUILD_PREFIX}ranlib"
+export BUILD_STRIP = "${BUILD_PREFIX}strip"
+
+export MAKE = "make"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+##################################################################
+# Build flags and options.
+##################################################################
+
+export BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include"
+export CPPFLAGS = "${TARGET_CPPFLAGS}"
+export TARGET_CPPFLAGS = "-I${STAGING_DIR}/${TARGET_SYS}/include"
+
+export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
+export CFLAGS = "${TARGET_CFLAGS}"
+export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
+
+export BUILD_CXXFLAGS = "${BUILD_CFLAGS} -fpermissive"
+export CXXFLAGS = "${TARGET_CXXFLAGS}"
+export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive"
+
+export BUILD_LDFLAGS = "-L${STAGING_DIR}/${BUILD_SYS}/lib \
+ -Wl,-rpath-link,${STAGING_DIR}/${BUILD_SYS}/lib \
+ -Wl,-rpath,${STAGING_DIR}/${BUILD_SYS}/lib -Wl,-O1"
+export LDFLAGS = "${TARGET_LDFLAGS}"
+export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
+ -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib \
+ -Wl,-rpath,${libdir} -Wl,-O1"
+
+# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
+ALLOWED_FLAGS = "-O -mcpu -march -pipe"
+
+##################################################################
+# Optimization flags.
+##################################################################
+
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+DEBUG_OPTIMIZATION = "-O -g"
+SELECTED_OPTIMIZATION = "${@bb.data.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][bb.data.getVar('DEBUG_BUILD', d, 1) == '1'], d, 1)}"
+BUILD_OPTIMIZATION = "-O2"
+
+##################################################################
+# Bootstrap stuff.
+##################################################################
+
+BOOTSTRAP_EXTRA_DEPENDS = ""
+BOOTSTRAP_EXTRA_RDEPENDS = ""
+BOOTSTRAP_EXTRA_RRECOMMENDS = ""
+
+##################################################################
+# Palmtop stuff.
+##################################################################
+
+export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt2"
+export QPEDIR = "${STAGING_DIR}/${HOST_SYS}"
+export OPIEDIR = "${STAGING_DIR}/${HOST_SYS}"
+export palmtopdir = "/opt/QtPalmtop"
+export palmqtdir = "/opt/QtPalmtop"
+
+##################################################################
+# Download locations and utilities.
+##################################################################
+
+GNU_MIRROR = "ftp://ftp.gnu.org/gnu"
+DEBIAN_MIRROR = "ftp://ftp.debian.org/debian/pool"
+SOURCEFORGE_MIRROR = "http://aleron.dl.sourceforge.net/sourceforge"
+GPE_MIRROR = "http://gpe.handhelds.org/pub/projects/gpe/source"
+XLIBS_MIRROR = "http://freedesktop.org/~xlibs/release"
+GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
+HANDHELDS_CVS = "cvs://anoncvs:anoncvs@cvs.handhelds.org/cvs"
+
+# You can use the mirror of your country to get faster downloads by putting
+# export DEBIAN_MIRROR = "ftp://ftp.de.debian.org/debian/pool"
+# export SOURCEFORGE_MIRROR = "http://belnet.dl.sourceforge.net/sourceforge"
+# into your local.conf
+
+FETCHCOMMAND = ""
+FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
+FETCHCOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} co ${CVSCOOPTS} ${CVSMODULE}"
+RESUMECOMMAND = ""
+RESUMECOMMAND_wget = "/usr/bin/env wget -c -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
+UPDATECOMMAND = ""
+UPDATECOMMAND_cvs = "/usr/bin/env cvs update -d -P ${CVSCOOPTS}"
+CVSDATE = "${DATE}"
+
+SRC_URI = "file://${FILE}"
+
+##################################################################
+# Miscellaneous utilities.
+##################################################################
+
+MKTEMPDIRCMD = "mktemp -d -q ${TMPBASE}"
+MKTEMPCMD = "mktemp -q ${TMPBASE}"
+
+##################################################################
+# Not sure about the rest of this yet.
+##################################################################
+
+# slot - currently unused by OE. portage remnants
+SLOT = "0"
+
+# Other
+
+export PKG_CONFIG_PATH = "${STAGING_DATADIR}/pkgconfig"
+export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
+
+export QMAKE_MKSPEC_PATH = "${STAGING_DIR}/${BUILD_SYS}/share/qmake"
+export STAGING_SIPDIR = "${STAGING_DIR}/${BUILD_SYS}/share/sip"
+export STAGING_IDLDIR = "${STAGING_DATADIR}/idl"
+
+# default test results for autoconf
+# possible candidate for moving into autotools.oeclass -CL
+export CONFIG_SITE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'site/%s-%s' % (bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('HOST_OS', d, 1)))}"
+
+# library package naming
+AUTO_LIBNAME_PKGS = "${PACKAGES}"
+
+###
+### Config file processing
+###
+
+# This means that an envionment variable named '<foo>_arm' overrides an
+# environment variable '<foo>' (when ${TARGET_ARCH} is arm). And the same: an
+# environment variable '<foo>_ramses' overrides both '<foo>' and '<foo>_arm
+# when ${MACHINE} is 'ramses'. And finally '<foo>_local' overrides anything.
+#
+# This works for functions as well, they are really just environment variables.
+OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}"
+
+##################################################################
+# Include the rest of the config files.
+##################################################################
+
+include conf/site.conf
+include conf/auto.conf
+include conf/local.conf
+include conf/build/${BUILD_SYS}.conf
+include conf/target/${TARGET_SYS}.conf
+include conf/machine/${MACHINE}.conf
+include conf/distro/${DISTRO}.conf
diff --git a/conf/distro/openslug.conf b/conf/distro/openslug.conf
index bd176dce94..b063a528e2 100644
--- a/conf/distro/openslug.conf
+++ b/conf/distro/openslug.conf
@@ -9,7 +9,7 @@ INHERIT += " package_ipk debian nslu2_flashimg"
IMAGE_FSTYPES = "jffs2"
-OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('OEPATH', d, 1), 'files/device_table-nslu2.txt')}"
+OPENSLUG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-nslu2.txt')}"
EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 -D ${OPENSLUG_DEVICE_TABLE}"
OPENSLUG_EXTRA_DEPENDS += "virtual/kernel module-init-tools"
diff --git a/conf/distro/switchbox.conf b/conf/distro/switchbox.conf
index 0661fd1cd7..3b29502143 100644
--- a/conf/distro/switchbox.conf
+++ b/conf/distro/switchbox.conf
@@ -11,7 +11,7 @@ IMAGE_FSTYPE = "ext2.gz"
IMAGE_ROOTFS_SIZE_ext2 = "1024"
IMAGE_ROOTFS_SIZE_ext2.gz = "1024"
-SWITCHBOX_DEVICE_TABLE = "${@bb.which(bb.data.getVar('OEPATH', d, 1), 'files/device_table-unslung.txt')}"
+SWITCHBOX_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-unslung.txt')}"
EXTRA_IMAGECMD_ext2.gz = "-f ${SWITCHBOX_DEVICE_TABLE}"
USE_NLS = "no"
diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf
index 41c632d370..b16df4a831 100644
--- a/conf/distro/unslung.conf
+++ b/conf/distro/unslung.conf
@@ -9,7 +9,7 @@ INHERIT += " package_ipk nslu2_flashimg"
IMAGE_FSTYPES = "ext2.gz jffs2"
NSLU2_BUILD_RAMDISK_FIRMWARE = 1
-UNSLUNG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('OEPATH', d, 1), 'files/device_table-unslung.txt')}"
+UNSLUNG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-unslung.txt')}"
EXTRA_IMAGECMD_ext2.gz = "-f ${UNSLUNG_DEVICE_TABLE}"
EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 -D ${UNSLUNG_DEVICE_TABLE}"
diff --git a/meta/nslu2-linksys-image.bb b/meta/nslu2-linksys-image.bb
index e69de29bb2..fd258d3b0d 100644
--- a/meta/nslu2-linksys-image.bb
+++ b/meta/nslu2-linksys-image.bb
@@ -0,0 +1,13 @@
+IMAGE_LINGUAS = ""
+USE_DEVFS = "1"
+
+IMAGE_BASENAME = "nslu2-linksys"
+
+IPKG_INSTALL = "nslu2-linksys-ramdisk"
+
+DEPENDS = "nslu2-linksys-kernel ${IPKG_INSTALL}"
+
+NSLU2_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-nslu2.txt')}"
+EXTRA_IMAGECMD_ext2.gz = "-f ${NSLU2_DEVICE_TABLE}"
+
+inherit image_ipk