summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Westerhof <mwester@dls.net>2009-04-30 16:35:05 -0500
committerMike Westerhof <mwester@dls.net>2009-04-30 16:36:35 -0500
commite40bd5bec56b83aa39b1f5a3a62e17c6d1ddf60f (patch)
tree0780a037341bd1cf945ee5c2b5e976a736e4aa3c
parent87fbf88f7e448eb9381f7fc0551dd386616c6f9b (diff)
SlugOS: refactor slugos images and tasks to support a standard and extended image.
-rw-r--r--recipes/images/slugos-extd-image.bb17
-rw-r--r--recipes/images/slugos-image.bb21
-rw-r--r--recipes/images/slugos-image.inc24
-rw-r--r--recipes/tasks/task-slugos-extd.bb32
-rw-r--r--recipes/tasks/task-slugos.bb39
5 files changed, 84 insertions, 49 deletions
diff --git a/recipes/images/slugos-extd-image.bb b/recipes/images/slugos-extd-image.bb
new file mode 100644
index 0000000000..fa027803a3
--- /dev/null
+++ b/recipes/images/slugos-extd-image.bb
@@ -0,0 +1,17 @@
+# This describes the SlugOS Extended image, which includes everything
+# that is in the standard NSLU2 image, with a few extra drivers. This
+# image is usually used with other IXP4xx machines, such as the D-Link
+# DSM-G600A and the NAS100D
+
+DESCRIPTION = "SlugOS Extended image"
+
+PR = "r1"
+
+require slugos-image.inc
+
+IMAGE_NAME = "${IMAGE_BASENAME}-extd-${DISTRO_VERSION}"
+DEPENDS += "task-slugos-extd"
+IMAGE_INSTALL += "task-slugos-extd"
+
+# Todo: fix these image creation tools
+#inherit dsmg600-image nas100d-image
diff --git a/recipes/images/slugos-image.bb b/recipes/images/slugos-image.bb
index 24ba91552f..24e83f0b66 100644
--- a/recipes/images/slugos-image.bb
+++ b/recipes/images/slugos-image.bb
@@ -2,24 +2,11 @@
# called 'slugos-image.bb' the distro specific configuration is
# done in conf/distro/${DISTRO}.conf (which should always include
# conf/distro/slugos.conf to get the standard settings).
-#
-DESCRIPTION = "Generic SlugOS image"
-HOMEPAGE = "http://www.nslu2-linux.org"
-
-DEPENDS = "task-slugos"
-IMAGE_INSTALL = "task-slugos"
-COMPATIBLE_MACHINE = "nslu2|ixp4xx"
+DESCRIPTION = "Generic SlugOS image"
-IMAGE_NAME = "${IMAGE_BASENAME}-${DISTRO_VERSION}"
-IMAGE_FSTYPES = "jffs2 tar.gz"
-IMAGE_DEVICE_TABLES = "files/device_table-slugos.txt"
-IMAGE_LINGUAS = ""
+PR = "r1"
-# 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*;"
+require slugos-image.inc
-inherit image nslu2-image
+inherit nslu2-image
diff --git a/recipes/images/slugos-image.inc b/recipes/images/slugos-image.inc
new file mode 100644
index 0000000000..725d1fac61
--- /dev/null
+++ b/recipes/images/slugos-image.inc
@@ -0,0 +1,24 @@
+# This describes a generic SlugOS image, even though the bb file is
+# called 'slugos-image.bb' the distro specific configuration is
+# done in conf/distro/${DISTRO}.conf (which should always include
+# conf/distro/slugos.conf to get the standard settings).
+
+HOMEPAGE = "http://www.nslu2-linux.org"
+
+DEPENDS = "task-slugos"
+IMAGE_INSTALL = "task-slugos"
+
+COMPATIBLE_MACHINE = "nslu2|ixp4xx|sheevaplug"
+
+IMAGE_NAME = "${IMAGE_BASENAME}-${DISTRO_VERSION}"
+IMAGE_FSTYPES = "jffs2 tar.gz"
+IMAGE_DEVICE_TABLES = "files/device_table-slugos.txt"
+IMAGE_LINGUAS = ""
+
+# 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*;"
+
+inherit image
diff --git a/recipes/tasks/task-slugos-extd.bb b/recipes/tasks/task-slugos-extd.bb
new file mode 100644
index 0000000000..ab82407d97
--- /dev/null
+++ b/recipes/tasks/task-slugos-extd.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Task packages for the SlugOS Extended image"
+PR = "r0"
+LICENSE = "MIT"
+
+inherit task
+
+RNG_TOOLS_PACKAGE = "rng-tools"
+RNG_TOOLS_PACKAGE_linux-uclibc = ""
+
+RDEPENDS_${PN} = "\
+ ${RNG_TOOLS_PACKAGE} \
+ kexec-tools \
+"
+
+RRECOMMENDS_${PN} = "\
+ kernel-module-libata \
+ kernel-module-pata-artop \
+ kernel-module-via-velocity \
+ kernel-module-netconsole \
+"
+
+# Other candidate packages that have been considered and
+# may be included in the future:
+#
+# portmap \
+# kernel-module-isofs \
+# kernel-module-udf \
+# kernel-module-loop \
+# wireless-tools \
+# wpa-supplicant \
+# zd1211-firmware kernel-module-zd1211rw \
+# madwifi-ng-modules madwifi-ng-tools \
diff --git a/recipes/tasks/task-slugos.bb b/recipes/tasks/task-slugos.bb
index f622aebfe5..0a170d1820 100644
--- a/recipes/tasks/task-slugos.bb
+++ b/recipes/tasks/task-slugos.bb
@@ -6,9 +6,9 @@
DESCRIPTION = "Task packages for the SlugOS distribution"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r22"
+PR = "r22.3"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
+COMPATIBLE_MACHINE = "(nslu2|ixp4xx|sheevaplug)"
ALLOW_EMPTY = "1"
#----------------------------------------------------------------------------------
@@ -17,7 +17,8 @@ ALLOW_EMPTY = "1"
# EXTRA PACKAGES
# --------------
# The standard firmware contents and additional packages built as requirements
-# of the firmware are defined here in SLUGOS_STANDARD_RDEPENDS.
+# of the firmware are defined here in SLUGOS_STANDARD_RDEPENDS. This represents
+# the standard set of software for the 8-MByte NSLU2 device.
SLUGOS_STANDARD_RDEPENDS = ""
SLUGOS_STANDARD_RRECOMMENDS = ""
@@ -64,13 +65,6 @@ kernel-module-nls-utf8 \
kernel-module-nfs \
"
-# Add daemon required for HW RNG support
-SLUGOS_RNG_TOOLS_PACKAGE = "rng-tools"
-SLUGOS_RNG_TOOLS_PACKAGE_linux-uclibc = ""
-SLUGOS_STANDARD_RRECOMMENDS += "\
-${SLUGOS_RNG_TOOLS_PACKAGE} \
-"
-
# Add modules required for usb support
SLUGOS_STANDARD_RRECOMMENDS += "\
kernel-module-ehci-hcd \
@@ -78,42 +72,21 @@ kernel-module-ohci-hcd \
kernel-module-uhci-hcd \
"
-# Add modules required for IDE support
-SLUGOS_STANDARD_RRECOMMENDS += "\
-kernel-module-libata \
-kernel-module-pata-artop \
-"
-
# Add modules required for Network support
+# Note - this needs to be made machine-specific.
SLUGOS_STANDARD_RRECOMMENDS += "\
kernel-module-mii \
kernel-module-ixp4xx-mac \
kernel-module-ixp4xx-qmgr \
-kernel-module-via-velocity \
-kernel-module-netconsole \
"
# Add packages and modules required for RAID-1 support
-# (temporary, intended only to facilitate testing - MJW)
SLUGOS_STANDARD_RRECOMMENDS += "\
mdadm \
kernel-module-md-mod \
kernel-module-raid1 \
"
-# Other candidate packages that have been considered and
-# are intentionally excluded from the base flash image.
-#
-# portmap \
-# kexec-tools \
-# kernel-module-isofs \
-# kernel-module-udf \
-# kernel-module-loop \
-# wireless-tools \
-# wpa-supplicant \
-# zd1211-firmware kernel-module-zd1211rw \
-# madwifi-ng-modules madwifi-ng-tools \
-
DISTRO_EXTRA_DEPENDS ?= ""
DEPENDS += "${DISTRO_EXTRA_DEPENDS}"
@@ -141,6 +114,7 @@ DISTRO_EXTRA_RDEPENDS ?= ""
## and it uses the busybox wget command instead of libcurl - MJW
## SlugOS 5.0 - module-init-tools replaced by busybox as well - MJW
## SlugOS 5.2 - module-init-tools reinstated due to busybox bugs - MJW
+## SlugOS 5.4 - util-linux-mount reinstated due to busybox bugs - MJW
RDEPENDS += "\
kernel ixp4xx-npe \
@@ -151,6 +125,7 @@ RDEPENDS += "\
opkg-collateral opkg-nogpg-nocurl \
libgcc \
beep \
+ util-linux-mount \
${SLUGOS_STANDARD_RDEPENDS} \
${DISTRO_EXTRA_RDEPENDS}"