summaryrefslogtreecommitdiff
path: root/recipes/images
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/images')
-rw-r--r--recipes/images/altboot-console-image.bb6
-rw-r--r--recipes/images/altboot-x11-image.bb4
-rw-r--r--recipes/images/base-image.bb86
-rw-r--r--recipes/images/beagleboard-demo-image.bb28
-rw-r--r--recipes/images/bootmanager-image.bb11
-rw-r--r--recipes/images/bootstrap-image-bootchart.bb7
-rw-r--r--recipes/images/bootstrap-image.bb7
-rw-r--r--recipes/images/console-base-image.bb19
-rw-r--r--recipes/images/console-image.bb20
-rw-r--r--recipes/images/console-mipv6-image.bb7
-rw-r--r--recipes/images/devimage-image.bb12
-rw-r--r--recipes/images/distcc-slave-image.bb22
-rw-r--r--recipes/images/dsplink-test-image.bb7
-rw-r--r--recipes/images/dvb-image.bb7
-rw-r--r--recipes/images/e-image-core.bb10
-rw-r--r--recipes/images/e-image.bb26
-rw-r--r--recipes/images/fso-console-image.bb15
-rw-r--r--recipes/images/fso-illume-image.bb83
-rw-r--r--recipes/images/fso-image-light.bb14
-rw-r--r--recipes/images/fso-image-nox.bb113
-rw-r--r--recipes/images/fso-image.inc143
-rw-r--r--recipes/images/fso-paroli-image.bb12
-rw-r--r--recipes/images/fso-zhone-image.bb13
-rw-r--r--recipes/images/gateway-image.bb20
-rw-r--r--recipes/images/gnuradio-image.bb26
-rw-r--r--recipes/images/gpe-image-blank-user.bb3
-rw-r--r--recipes/images/gpe-image.bb40
-rw-r--r--recipes/images/gpephone-image-vm.bb34
-rw-r--r--recipes/images/gpephone-image.bb37
-rw-r--r--recipes/images/helloworld-image.bb7
-rw-r--r--recipes/images/illume-image.bb180
-rw-r--r--recipes/images/initramfs-bootmenu-debug-image.bb16
-rw-r--r--recipes/images/initramfs-bootmenu-image.bb15
-rw-r--r--recipes/images/initramfs-image.bb13
-rw-r--r--recipes/images/initramfs-minimal-image.bb11
-rw-r--r--recipes/images/jalimo-beagleboard-demo-image.bb11
-rw-r--r--recipes/images/jlime-opie.bb62
-rw-r--r--recipes/images/liveramdisk-image.bb22
-rw-r--r--recipes/images/maemo-image.bb20
-rw-r--r--recipes/images/minimal-gpe-image.bb25
-rw-r--r--recipes/images/minimal-image-with-mtd-utils.bb9
-rw-r--r--recipes/images/minimal-image.bb19
-rw-r--r--recipes/images/minimal-openmoko-image.bb21
-rw-r--r--recipes/images/mokogateway-image.bb17
-rw-r--r--recipes/images/mythfront-image.bb10
-rw-r--r--recipes/images/nas-server-image.bb53
-rw-r--r--recipes/images/native-sdk-console-image.bb2
-rw-r--r--recipes/images/neuros-osd-base-image.bb29
-rw-r--r--recipes/images/nslu2-base-image.bb14
-rw-r--r--recipes/images/nslu2-linksys-image.bb11
-rw-r--r--recipes/images/nylon-image-base.bb28
-rw-r--r--recipes/images/nylon-image-extended.bb85
-rw-r--r--recipes/images/nylon-image-extra.bb9
-rw-r--r--recipes/images/nylon-image-mini.bb14
-rw-r--r--recipes/images/nylon-image-standard.bb20
-rw-r--r--recipes/images/openmoko-devel-image.bb3
-rw-r--r--recipes/images/openmoko-image.bb21
-rw-r--r--recipes/images/openmoko-minimal-image.bb21
-rw-r--r--recipes/images/openmoko-python-devel-image.bb7
-rw-r--r--recipes/images/openmoko-sdk-image.bb3
-rw-r--r--recipes/images/openprotium-image.bb28
-rw-r--r--recipes/images/opie-image-16mb.bb21
-rw-r--r--recipes/images/opie-image.bb17
-rw-r--r--recipes/images/opie-kdepim-image.bb7
-rw-r--r--recipes/images/opie-xqtlauncher-image.bb7
-rw-r--r--recipes/images/ossie-image.bb15
-rw-r--r--recipes/images/pivotboot-image.bb6
-rw-r--r--recipes/images/qtopia-core-console-image.bb19
-rw-r--r--recipes/images/qtopia-core-gui-image.bb20
-rw-r--r--recipes/images/sdl-image.bb5
-rw-r--r--recipes/images/sdr-image.bb49
-rw-r--r--recipes/images/sectest-gpe-image.bb30
-rw-r--r--recipes/images/slugos-image.bb35
-rw-r--r--recipes/images/sugar-image.bb20
-rw-r--r--recipes/images/twin-image.bb16
-rw-r--r--recipes/images/udumpty-image.bb53
-rw-r--r--recipes/images/uml-image.bb10
-rw-r--r--recipes/images/unslung-image.bb111
-rw-r--r--recipes/images/x11-gpe-image.bb27
-rw-r--r--recipes/images/x11-gpe-java-image.bb28
-rw-r--r--recipes/images/x11-image.bb22
-rw-r--r--recipes/images/x11-office-image.bb31
-rw-r--r--recipes/images/x11-pimlico-image.bb26
-rw-r--r--recipes/images/x11-sato-image.bb33
-rw-r--r--recipes/images/xfce-image.bb16
-rw-r--r--recipes/images/xorg-image.bb8
-rw-r--r--recipes/images/xterminal-image.bb10
87 files changed, 2280 insertions, 0 deletions
diff --git a/recipes/images/altboot-console-image.bb b/recipes/images/altboot-console-image.bb
new file mode 100644
index 0000000000..ff5984981a
--- /dev/null
+++ b/recipes/images/altboot-console-image.bb
@@ -0,0 +1,6 @@
+require console-image.bb
+
+ANGSTROM_EXTRA_INSTALL += " altboot "
+
+export IMAGE_BASENAME = "altboot-console-image"
+
diff --git a/recipes/images/altboot-x11-image.bb b/recipes/images/altboot-x11-image.bb
new file mode 100644
index 0000000000..d4b129e48c
--- /dev/null
+++ b/recipes/images/altboot-x11-image.bb
@@ -0,0 +1,4 @@
+require x11-image.bb
+
+ANGSTROM_EXTRA_INSTALL += " altboot "
+export IMAGE_BASENAME = "altboot-x11-image"
diff --git a/recipes/images/base-image.bb b/recipes/images/base-image.bb
new file mode 100644
index 0000000000..295e0ed449
--- /dev/null
+++ b/recipes/images/base-image.bb
@@ -0,0 +1,86 @@
+# This image is intended to provide a basic configuration that allows
+# you to access a newly flashed device over the network or via the
+# native console, and use ipkg to install (from feeds accessible via
+# the network) any further features you require into internal flash
+# memory or onto attached storage.
+
+# It should be as small as possible, while still achieving that goal.
+
+# The rationale for naming it 'base-image' is that this image is the
+# base upon which you can install any other functionality you desire.
+
+# See the end of this file for further rationale and policy regarding
+# the contents of this image, and the criteria which are used to make
+# decisions about adding and removing packages from this image.
+
+# Although it is only fully tested with the Angstrom distro, this
+# image is intended to be distro-agnostic.
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+DISTRO_SSH_DAEMON ?= "dropbear"
+
+DISTRO_PACKAGE_MANAGER ?= "ipkg ipkg-collateral"
+
+# FIXME: We need a distro-indendent way of specifying feed configs.
+# Once the RFC for the DISTRO_FEED_CONFIGS variable name is approved,
+# we can remove this default definition and set it in the distro config.
+DISTRO_FEED_CONFIGS ?= "${ANGSTROM_FEED_CONFIGS}"
+
+DEPENDS = "\
+ task-boot \
+ ${DISTRO_SSH_DAEMON} \
+ ${DISTRO_PACKAGE_MANAGER} \
+ ${DISTRO_FEED_CONFIGS} \
+ ${@base_contains('MACHINE_FEATURES', 'ext2', 'task-base-ext2', '', d)} \
+ ${@base_contains('MACHINE_FEATURES', 'usbhost', 'task-base-usbhost', '', d)} \
+ "
+
+IMAGE_INSTALL = "\
+ task-boot \
+ ${DISTRO_SSH_DAEMON} \
+ ${DISTRO_PACKAGE_MANAGER} \
+ ${DISTRO_FEED_CONFIGS} \
+ ${@base_contains('MACHINE_FEATURES', 'ext2', 'task-base-ext2', '', d)} \
+ ${@base_contains('MACHINE_FEATURES', 'usbhost', 'task-base-usbhost', '', d)} \
+ "
+
+export IMAGE_BASENAME = "base-image"
+IMAGE_LINGUAS = ""
+
+inherit image
+
+# Key features of this image are:
+
+# 1) Must be able to mount attached storage devices like SD cards, CF
+# cards, internal disks, external USB disks, etc. Should support
+# various filesystem choices, but ext2 at a minimum. The rationale
+# for this is that you need storage to be able to install significant
+# new functionality.
+
+# 2) Must be able to boot from internal flash, or directly from a
+# filesystem stored on the attached storage. The rationale for this
+# is that you will want to boot from attached storage instead of
+# messing around with ipkg-link.
+
+# Rationale and policy:
+
+# 'base-image' is the smallest possible image which allows you to ssh
+# into a device via it's native network interface, and install
+# packages from feeds across the network into internal flash or onto
+# an attached storage device.
+
+# It is "larger" than minimal-image (which is strictly only that which
+# is required to boot and get ssh access to the device, and nothing
+# else), but is "smaller" than console-image (which has a whole lot of
+# stuff in it which could easily be ipkg installed after boot rather
+# than being in the initial rootfs).
+
+# It is required to always be small enough to fit in the internal
+# flash rootfs partition of an NSLU2 (as an example of the smaller end
+# of flash sizes that OE supports), and features will be removed from
+# the image to ensure that this is always the case. Any feature that
+# can be installed over the network using the package manager after
+# the first boot is always fair game for removal at any time, and
+# patches are welcome to make base-image as small as possible while
+# still retaining the ability to subsequently install that feature.
diff --git a/recipes/images/beagleboard-demo-image.bb b/recipes/images/beagleboard-demo-image.bb
new file mode 100644
index 0000000000..4007daec25
--- /dev/null
+++ b/recipes/images/beagleboard-demo-image.bb
@@ -0,0 +1,28 @@
+# Demo image for beagleboard
+
+IMAGE_LINGUAS = "de-de fr-fr en-gb en-us pt-br es-es kn-in ml-in ta-in"
+
+XSERVER ?= "xserver-xorg \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-video-fbdev \
+ xf86-input-keyboard \
+"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+export IMAGE_BASENAME = "Beagleboard-demo-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ ${ANGSTROM_EXTRA_INSTALL} \
+ task-beagleboard-demo \
+ "
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/bootmanager-image.bb b/recipes/images/bootmanager-image.bb
new file mode 100644
index 0000000000..d829590188
--- /dev/null
+++ b/recipes/images/bootmanager-image.bb
@@ -0,0 +1,11 @@
+#Angstrom bootmanager image
+
+DEPENDS = "task-angstrom"
+IMAGE_INSTALL = "angstrom-base-depends angstrom-bootmanager"
+
+export IMAGE_BASENAME = "bootmanager-image"
+
+inherit image
+
+
+
diff --git a/recipes/images/bootstrap-image-bootchart.bb b/recipes/images/bootstrap-image-bootchart.bb
new file mode 100644
index 0000000000..fafd734229
--- /dev/null
+++ b/recipes/images/bootstrap-image-bootchart.bb
@@ -0,0 +1,7 @@
+DEPENDS = "${MACHINE_TASK_PROVIDER} bootchart"
+
+IMAGE_LINGUAS = ""
+IMAGE_INSTALL = "${MACHINE_TASK_PROVIDER} bootchart acct"
+
+inherit image
+
diff --git a/recipes/images/bootstrap-image.bb b/recipes/images/bootstrap-image.bb
new file mode 100644
index 0000000000..64577c4048
--- /dev/null
+++ b/recipes/images/bootstrap-image.bb
@@ -0,0 +1,7 @@
+DEPENDS = "${MACHINE_TASK_PROVIDER}"
+
+IMAGE_LINGUAS = ""
+IMAGE_INSTALL = "${MACHINE_TASK_PROVIDER}"
+
+inherit image
+
diff --git a/recipes/images/console-base-image.bb b/recipes/images/console-base-image.bb
new file mode 100644
index 0000000000..887d37bdd9
--- /dev/null
+++ b/recipes/images/console-base-image.bb
@@ -0,0 +1,19 @@
+#Angstrom bootstrap image
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+DEPENDS = "task-base \
+ ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ "
+
+IMAGE_INSTALL = "task-base \
+ ${ANGSTROM_EXTRA_INSTALL} \
+ ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ "
+
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/console-image.bb b/recipes/images/console-image.bb
new file mode 100644
index 0000000000..76cb8f034e
--- /dev/null
+++ b/recipes/images/console-image.bb
@@ -0,0 +1,20 @@
+#Angstrom bootstrap image
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+DEPENDS = "task-base-extended \
+ ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ "
+
+IMAGE_INSTALL = "task-base-extended \
+ ${ANGSTROM_EXTRA_INSTALL} \
+ ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ "
+
+export IMAGE_BASENAME = "console-image"
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/console-mipv6-image.bb b/recipes/images/console-mipv6-image.bb
new file mode 100644
index 0000000000..3c9995cf2e
--- /dev/null
+++ b/recipes/images/console-mipv6-image.bb
@@ -0,0 +1,7 @@
+# This image is for testing the ipv6 mobility extensions
+
+require console-image.bb
+IMAGE_INSTALL += " task-mipl "
+
+export IMAGE_BASENAME = "console-mobile-ipv6-image"
+
diff --git a/recipes/images/devimage-image.bb b/recipes/images/devimage-image.bb
new file mode 100644
index 0000000000..cecd98d644
--- /dev/null
+++ b/recipes/images/devimage-image.bb
@@ -0,0 +1,12 @@
+# Image for kernel debugging and development testing
+# It includes all useful "kernel userspace" utilities, but
+# only shell and dropbear are loaded by default.
+# Allows to login via serial and real console or SSH
+
+DEPENDS = "task-devimage"
+IMAGE_INSTALL = "task-devimage"
+
+export IMAGE_BASENAME = "devimage"
+IMAGE_LINGUAS = ""
+
+inherit image
diff --git a/recipes/images/distcc-slave-image.bb b/recipes/images/distcc-slave-image.bb
new file mode 100644
index 0000000000..0691274fbb
--- /dev/null
+++ b/recipes/images/distcc-slave-image.bb
@@ -0,0 +1,22 @@
+#Angstrom distcc image
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+DEPENDS = "bridge-utils task-boot distcc task-native-sdk"
+
+IMAGE_INSTALL = "task-base \
+ distcc \
+ task-native-sdk \
+ bridge-utils \
+ task-proper-tools \
+ mtd-utils \
+ wireless-tools \
+ iptables"
+
+export IMAGE_BASENAME = "distcc-slave-image"
+IMAGE_LINGUAS = ""
+
+IMAGE_FSTYPES += "ubi"
+
+inherit image
+
diff --git a/recipes/images/dsplink-test-image.bb b/recipes/images/dsplink-test-image.bb
new file mode 100644
index 0000000000..1bf8151c2f
--- /dev/null
+++ b/recipes/images/dsplink-test-image.bb
@@ -0,0 +1,7 @@
+# This image is a bare-bones image to test the TI dsplink modules
+
+require minimal-image.bb
+IMAGE_INSTALL += "dsplink-module ti-cmemk-module"
+
+export IMAGE_BASENAME = "dsplink-testing-image"
+
diff --git a/recipes/images/dvb-image.bb b/recipes/images/dvb-image.bb
new file mode 100644
index 0000000000..687c3093fa
--- /dev/null
+++ b/recipes/images/dvb-image.bb
@@ -0,0 +1,7 @@
+DEPENDS = "${DVB_PACKAGES}"
+DVB_PACKAGES = "${MACHINE_TASK_PROVIDER} task-dvb"
+
+IMAGE_INSTALL = "${DVB_PACKAGES}"
+IMAGE_LINGUAS = ""
+
+inherit image
diff --git a/recipes/images/e-image-core.bb b/recipes/images/e-image-core.bb
new file mode 100644
index 0000000000..f6e0c33659
--- /dev/null
+++ b/recipes/images/e-image-core.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "An X11-based distribution with the Enlightenment Window Manager"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER} \
+ xserver-kdrive \
+ task-e-x11-core"
+
+IMAGE_INSTALL = "${MACHINE_TASK_PROVIDER} task-e-x11-core xserver-kdrive-fbdev glibc-charmap-utf-8 glibc-localedata-i18n"
+IMAGE_LINGUAS = ""
+
+inherit image
diff --git a/recipes/images/e-image.bb b/recipes/images/e-image.bb
new file mode 100644
index 0000000000..37d2b1a60c
--- /dev/null
+++ b/recipes/images/e-image.bb
@@ -0,0 +1,26 @@
+require e-image-core.bb
+DESCRIPTION = "An X11-based distribution with the Enlightenment Window Manager and Tools"
+
+DEPENDS += "task-e-x11-core task-gpe-base task-gpe-pim task-gpe-settings task-gpe-apps task-gpe-connectivity task-gpe-games \
+ figment xhost gpe-soundserver gpe-confd xauth"
+
+IMAGE_INSTALL += "task-e-x11-core \
+ task-gpe-pim \
+ task-gpe-settings \
+# task-gpe-apps \
+ task-gpe-connectivity \
+ task-gpe-games \
+# task-apps-extra \
+ figment \
+ xhost \
+ gpe-soundserver \
+ gpe-confd \
+ xauth \
+ pango-module-basic-fc \
+ gdk-pixbuf-loader-bmp \
+ gdk-pixbuf-loader-gif \
+ gdk-pixbuf-loader-jpeg \
+ gdk-pixbuf-loader-png \
+ gdk-pixbuf-loader-pnm \
+ gdk-pixbuf-loader-xbm \
+ gdk-pixbuf-loader-xpm"
diff --git a/recipes/images/fso-console-image.bb b/recipes/images/fso-console-image.bb
new file mode 100644
index 0000000000..8d985be01c
--- /dev/null
+++ b/recipes/images/fso-console-image.bb
@@ -0,0 +1,15 @@
+#------------------------------------------------------
+# FSO-compliant Console Image Recipe
+#------------------------------------------------------
+
+require fso-image.inc
+
+PV = "1.1"
+PR = "r1"
+
+IMAGE_INSTALL = "\
+ task-base \
+ task-fso-compliance \
+ task-cli-tools \
+ task-cli-tools-python \
+"
diff --git a/recipes/images/fso-illume-image.bb b/recipes/images/fso-illume-image.bb
new file mode 100644
index 0000000000..189c8cba69
--- /dev/null
+++ b/recipes/images/fso-illume-image.bb
@@ -0,0 +1,83 @@
+#------------------------------------------------------
+# FSO-compliant Illume Image Recipe
+#------------------------------------------------------
+
+require fso-image.inc
+
+PV = "1.1"
+PR = "r1"
+
+# no languages for now
+IMAGE_LINGUAS = ""
+
+BASE_INSTALL = "\
+ task-base \
+"
+
+ILLUME_THEME = "illume-theme-fso"
+
+X_INSTALL = "\
+ task-x11-illume \
+ task-fonts-truetype-core \
+"
+
+X_INSTALL_append_om-gta02 = "\
+ task-fonts-truetype-chinese \
+ task-fonts-truetype-japanese \
+"
+
+# tools
+TOOLS_INSTALL = "\
+ task-cli-tools \
+ task-cli-tools-python \
+"
+
+# audio
+AUDIO_INSTALL = "\
+ alsa-oss \
+ alsa-state \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ gst-meta-audio \
+ gst-plugin-modplug \
+ gst-plugin-sid \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-mad', d)} \
+ fso-sounds \
+"
+
+GTK_INSTALL = "\
+ tango-icon-theme \
+ vala-terminal \
+ gpe-scap \
+"
+
+# FIXME these should rather be part of alsa-state,
+# once Om stabilizes them...
+AUDIO_INSTALL_append_om-gta01 = "\
+ openmoko-alsa-scenarios \
+"
+AUDIO_INSTALL_append_om-gta02 = "\
+ openmoko-alsa-scenarios \
+"
+
+# python
+PYTHON_INSTALL = "\
+ python-codecs \
+ python-gst \
+"
+
+# fso
+FSO_INSTALL = "\
+ task-fso-compliance \
+"
+
+IMAGE_INSTALL = "\
+ ${BASE_INSTALL} \
+ ${X_INSTALL} \
+ ${GTK_INSTALL} \
+ ${GAMES_INSTALL} \
+ ${AUDIO_INSTALL} \
+ ${TOOLS_INSTALL} \
+ ${PYTHON_INSTALL} \
+ ${FSO_INSTALL} \
+"
diff --git a/recipes/images/fso-image-light.bb b/recipes/images/fso-image-light.bb
new file mode 100644
index 0000000000..12fa2f7205
--- /dev/null
+++ b/recipes/images/fso-image-light.bb
@@ -0,0 +1,14 @@
+#------------------------------------------------------
+# freesmartphone.org Image Recipe, Light Edition
+#------------------------------------------------------
+
+require fso-image.inc
+
+IMAGE_LINGUAS = ""
+
+IMAGE_INSTALL = "\
+ ${BASE_INSTALL} \
+ ${X_INSTALL} \
+ ${PYTHON_INSTALL} \
+ ${ZHONE_INSTALL} \
+"
diff --git a/recipes/images/fso-image-nox.bb b/recipes/images/fso-image-nox.bb
new file mode 100644
index 0000000000..d241919367
--- /dev/null
+++ b/recipes/images/fso-image-nox.bb
@@ -0,0 +1,113 @@
+#------------------------------------------------------
+# freesmartphone.org Image Recipe, No-x11 Edition
+#------------------------------------------------------
+
+PR = "r1.0"
+
+require fso-image.inc
+
+export IMAGE_BASENAME = "fso-image-nox"
+
+# The packages below should ideally be a subset of the
+# full fso-image. But unfortunately, the granularity
+# and some of the assumptions of the fso image do not
+# yet permit that. The gating factor is that this
+# particular image needs to include the necessary stuff
+# so that Qt Extended can run, but not so much that
+# it can no longer fit in the small flash available on
+# the GTA01. So, in practice this means that we will
+# need some X libs (for dbus at a minimum), but we need
+# to ensure that we limit that as much as possible.
+#
+# (There is little doubt that as the software stacks
+# mature, the GTA01 will need to become SD-card based.
+# Never-the-less, it is desirable to keep this as small
+# as possible for as long as possible.)
+#
+# Note: if packages are _added_ to this image, it is
+# important to also add the -dev versions of that
+# package to the toolchain, if applicable. In general,
+# _adding_ packages to this file is a bad idea; this
+# image should be a proper subset of the full fso image.
+#
+
+AUDIO_NOX_INSTALL = "\
+ alsa-oss \
+ alsa-state \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ openmoko-alsa-scenarios \
+"
+
+# python - just pull in some basics for now. Ideally we would like
+# to be able to run parts of the framework, but that's a future, and
+# would almost certainly require an SD card on the GTA01. So just
+# add the basics so that we at least have a scripting language.
+##
+# (I'm really of two minds on this; removing python is a big
+# win in terms of flash space, and I'm not sure how useful this
+# small set is. Need comments from others. --- MJW)
+
+PYTHON_NOX_INSTALL = "\
+ python-dbus \
+ python-pygobject \
+"
+
+# Tools - carefully picked so that we don't pull in too much.
+# This list should be edited -- in particular, s3c24xx-gpio is large
+# and statically linked. If not needed, we can save some flash on the
+# GTA01 by getting rid of it in the base image. Other candidates
+# might include nano, mickeydbus, powertop, sysstat, and tcpdump.
+
+TOOLS_NOX_INSTALL = "\
+ dosfstools \
+ htop \
+ iptables \
+ lsof \
+ mickeydbus \
+ mtd-utils \
+ nano \
+ powertop \
+ s3c24xx-gpio \
+ sysstat \
+ tcpdump \
+"
+
+# This block is intended to pull in stuff that is normally pulled
+# in as dependencies in the full fso image. At this moment,
+# libpng12 is an exception - it slipped into the toolchain, hence
+# it needs to be here as well. It should be added to the full
+# fso image at some point.
+
+EXTRA_NOX_INSTALL = "\
+ libstdc++ \
+ tslib \
+ pointercal \
+ tzdata \
+ libpng12 \
+"
+
+IMAGE_INSTALL = "\
+ ${BASE_INSTALL} \
+ ${EXTRA_NOX_INSTALL} \
+ ${AUDIO_NOX_INSTALL} \
+ ${PYTHON_NOX_INSTALL} \
+ ${TOOLS_NOX_INSTALL} \
+"
+
+# The post-processing step for this image is where we can do some
+# cleanup to get some space back if necessary, or do other touch-up
+# work specific to this image. It is currently empty, and should
+# continue to be empty -- but it appears here because that's probably
+# unrealistic, so we might as put the placeholder here right now.
+
+fso_nox_rootfs_postprocess() {
+ curdir=$PWD
+ cd ${IMAGE_ROOTFS}
+ # Execute commands to tweak the rootfs here
+
+ # End commands
+ cd ${curdir}
+}
+
+ROOTFS_POSTPROCESS_COMMAND += "fso_nox_rootfs_postprocess"
diff --git a/recipes/images/fso-image.inc b/recipes/images/fso-image.inc
new file mode 100644
index 0000000000..6c381a054b
--- /dev/null
+++ b/recipes/images/fso-image.inc
@@ -0,0 +1,143 @@
+#------------------------------------------------------
+# freesmartphone.org Image Recipe Include
+#------------------------------------------------------
+
+# no languages for now
+IMAGE_LINGUAS = ""
+
+BASE_INSTALL = "\
+ task-base \
+"
+
+ILLUME_THEME = "illume-theme-freesmartphone"
+
+X_INSTALL = "\
+ task-x11-illume \
+ task-fonts-truetype-core \
+"
+
+X_INSTALL_append_om-gta02 = "\
+ task-fonts-truetype-chinese \
+ task-fonts-truetype-japanese \
+"
+
+# tools
+TOOLS_INSTALL = "\
+ task-cli-tools \
+ task-cli-tools-python \
+"
+
+# audio
+AUDIO_INSTALL = "\
+ alsa-oss \
+ alsa-state \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ gst-meta-audio \
+ gst-plugin-modplug \
+ gst-plugin-sid \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-mad', d)} \
+ fso-sounds \
+"
+
+GTK_INSTALL = "\
+ hicolor-icon-theme \
+ tango-icon-theme \
+ openmoko-calculator2 \
+ vala-terminal \
+ gpe-scap \
+ tangogps \
+"
+
+GAMES_INSTALL = "\
+ numptyphysics \
+"
+
+# FIXME these should rather be part of alsa-state,
+# once Om stabilizes them...
+AUDIO_INSTALL_append_om-gta01 = "\
+ openmoko-alsa-scenarios \
+"
+AUDIO_INSTALL_append_om-gta02 = "\
+ openmoko-alsa-scenarios \
+"
+
+# python
+PYTHON_INSTALL = "\
+ task-python-efl \
+ python-codecs \
+ python-gst \
+"
+
+# fso+zhone
+ZHONE_INSTALL = "\
+ task-fso-compliance \
+ zhone \
+"
+
+# additional apps
+APPS_INSTALL = "\
+ paroli \
+ gpe-gallery \
+ gpe-sketchbook \
+ gpe-filemanager \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'vagalume', d)} \
+ starling \
+"
+
+IMAGE_INSTALL = "\
+ ${BASE_INSTALL} \
+ ${X_INSTALL} \
+ ${GTK_INSTALL} \
+ ${GAMES_INSTALL} \
+ ${AUDIO_INSTALL} \
+ ${TOOLS_INSTALL} \
+ ${PYTHON_INSTALL} \
+ ${ZHONE_INSTALL} \
+ ${APPS_INSTALL} \
+"
+
+inherit image
+
+# perform some convenience tweaks to the rootfs to improve the out-of-the-box experience :M:
+fso_rootfs_postprocess() {
+ curdir=$PWD
+ cd ${IMAGE_ROOTFS}
+ # date/time
+ date "+%m%d%H%M%Y" >./etc/timestamp
+ # alias foo
+ echo "alias pico=nano" >>./etc/profile
+ echo "alias fso='cd /local/pkg/fso'" >>./etc/profile
+ echo "alias ipkg='opkg'" >>./etc/profile
+ echo "alias vim=vi" >>./etc/profile
+ echo "alias ll='ls -al'" >>./etc/profile
+ # nfs
+ mkdir -p ./local/pkg
+ echo >>./etc/fstab
+ echo "# NFS Host" >>./etc/fstab
+ echo "192.168.0.200:/local/pkg /local/pkg nfs noauto,nolock,soft,rsize=32768,wsize=32768 0 0" >>./etc/fstab
+ # fix .desktop files for illume
+ desktop=`find ./usr/share/applications -name "*.desktop"`
+ for file in $desktop; do
+ echo "Categories=Office;" >>$file
+ done
+ # minimal gtk theme foo
+ mkdir -p ./etc/gtk-2.0/
+ echo 'gtk-font-name = "Sans 5"' >> ./etc/gtk-2.0/gtkrc
+ echo 'gtk-icon-theme-name = "Tango"' >> ./etc/gtk-2.0/gtkrc
+ # fix strange iconv/gconf bug
+ ln -s libc.so.6 ./lib/libc.so
+ # set sensible default DNS entries
+ echo "nameserver 208.67.222.222" > ./etc/resolv.conf
+ echo "nameserver 208.67.220.220" >> ./etc/resolv.conf
+ # remove autostart of gspd (if installed), we have fso-gpsd and this conflicts
+ rm -f ./etc/init.d/gpsd
+ # silence printk
+ mkdir -p ./etc/profile.d/
+ echo "echo 0 0 0 0 >/proc/sys/kernel/printk" >./etc/profile.d/printk.sh
+ chmod a+rx ./etc/profile.d/printk.sh
+ # back on track
+ cd $curdir
+}
+
+ROOTFS_POSTPROCESS_COMMAND += "fso_rootfs_postprocess"
diff --git a/recipes/images/fso-paroli-image.bb b/recipes/images/fso-paroli-image.bb
new file mode 100644
index 0000000000..1d4bdd5a30
--- /dev/null
+++ b/recipes/images/fso-paroli-image.bb
@@ -0,0 +1,12 @@
+require fso-zhone-image.bb
+
+# no extra apps
+GTK_INSTALL = ""
+GAMES_INSTALL = ""
+APP_INSTALL = ""
+
+# fso+zhone
+ZHONE_INSTALL = "\
+ task-fso-compliance \
+ paroli \
+"
diff --git a/recipes/images/fso-zhone-image.bb b/recipes/images/fso-zhone-image.bb
new file mode 100644
index 0000000000..7a6cb4927a
--- /dev/null
+++ b/recipes/images/fso-zhone-image.bb
@@ -0,0 +1,13 @@
+#------------------------------------------------------
+# freesmartphone.org Image Recipe
+#------------------------------------------------------
+
+require fso-image.inc
+
+PV = "1.1"
+PR = "r4"
+
+ZHONE_INSTALL = "\
+ task-fso-compliance \
+ zhone \
+"
diff --git a/recipes/images/gateway-image.bb b/recipes/images/gateway-image.bb
new file mode 100644
index 0000000000..ee9d1d97fc
--- /dev/null
+++ b/recipes/images/gateway-image.bb
@@ -0,0 +1,20 @@
+#Angstrom gateway image
+#gives you a gateway with SMB, ssh and dnsmasqs
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+DISTRO_SSH_DAEMON ?= "dropbear"
+
+IMAGE_INSTALL = "task-boot \
+ ${DISTRO_SSH_DAEMON} \
+ iptables \
+ samba swat \
+ dnsmasq \
+# vsftpd \
+ angstrom-version \
+ "
+
+export IMAGE_BASENAME = "gateway-image"
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/gnuradio-image.bb b/recipes/images/gnuradio-image.bb
new file mode 100644
index 0000000000..5421584481
--- /dev/null
+++ b/recipes/images/gnuradio-image.bb
@@ -0,0 +1,26 @@
+#GNU radio image
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+IMAGE_EXTRA_INSTALL ?= ""
+
+DEPENDS = "task-base-extended \
+ ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ "
+
+IMAGE_INSTALL = "task-base-extended \
+ ${IMAGE_EXTRA_INSTALL} \
+ ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ oprofile \
+ screen \
+ ntp ntp-bin \
+ make \
+ nfs-utils-client \
+ gnuradio gnuradio-examples \
+ "
+
+export IMAGE_BASENAME = "gnuradio-image"
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/gpe-image-blank-user.bb b/recipes/images/gpe-image-blank-user.bb
new file mode 100644
index 0000000000..d9ed7fcedb
--- /dev/null
+++ b/recipes/images/gpe-image-blank-user.bb
@@ -0,0 +1,3 @@
+require gpe-image.bb
+
+ROOTFS_POSTPROCESS_COMMAND += "adduser -D user"
diff --git a/recipes/images/gpe-image.bb b/recipes/images/gpe-image.bb
new file mode 100644
index 0000000000..8cbe8a8571
--- /dev/null
+++ b/recipes/images/gpe-image.bb
@@ -0,0 +1,40 @@
+GPE_EXTRA_THEMES = "gpe-theme-industrial"
+
+GPE_EXTRA_INSTALL_none = ""
+GPE_EXTRA_INSTALL_bigscreen = "task-gpe-games ${GPE_EXTRA_THEMES}"
+GPE_EXTRA_INSTALL_smallscreen = "task-gpe-games ${GPE_EXTRA_THEMES}"
+
+GUI_MACHINE_CLASS ?= "none"
+GPE_EXTRA_INSTALL += "${GPE_EXTRA_INSTALL_${GUI_MACHINE_CLASS}}"
+
+#ship more stuff with devices with >16MB of flash
+GPE_BIGFLASH_INSTALL := '${@base_conditional("ROOT_FLASH_SIZE", "16", "", "\
+ task-gpe-connectivity \
+ gpe-theme-clearlooks \
+ figment \
+",d)}'
+
+GPE_EXTRA_INSTALL += "${GPE_BIGFLASH_INSTALL}"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER} \
+ task-gpe-base \
+ task-gpe-apps \
+ task-gpe-pim \
+ task-gpe-settings \
+ task-gpe-games \
+ virtual/xserver"
+
+IMAGE_INSTALL = "\
+ ${MACHINE_TASK_PROVIDER} \
+ task-gpe-base \
+ task-gpe-pim \
+ task-gpe-settings \
+ task-gpe-apps \
+ ${XSERVER} \
+ ${GPE_EXTRA_INSTALL}"
+
+#ROOTFS_POSTPROCESS_COMMAND += "zap_root_password; "
+
+inherit image
diff --git a/recipes/images/gpephone-image-vm.bb b/recipes/images/gpephone-image-vm.bb
new file mode 100644
index 0000000000..1a9d48d22a
--- /dev/null
+++ b/recipes/images/gpephone-image-vm.bb
@@ -0,0 +1,34 @@
+GPE_EXTRA_THEMES = ""
+
+GPE_EXTRA_INSTALL_none = ""
+GPE_EXTRA_INSTALL_x86 = "grub xserver-kdrive-xephyr xoo-vm xoo-theme-gpephone"
+GPE_EXTRA_INSTALL_bigscreen = "${GPE_EXTRA_THEMES}"
+GPE_EXTRA_INSTALL_smallscreen = "${GPE_EXTRA_THEMES}"
+
+GUI_MACHINE_CLASS ?= "none"
+GPE_EXTRA_INSTALL += "${GPE_EXTRA_INSTALL_${GUI_MACHINE_CLASS}}"
+
+#ship more stuff with devices with >16MB of flash
+GPE_BIGFLASH_INSTALL := '${@base_conditional("ROOT_FLASH_SIZE", "16", "", "\
+",d)}'
+
+GPE_EXTRA_INSTALL += "${GPE_BIGFLASH_INSTALL}"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-gpephone"
+
+IMAGE_INSTALL = "\
+ ${MACHINE_TASK_PROVIDER} \
+ gpephone-task-base \
+ gpephone-task-pim \
+ gpephone-task-settings \
+ gpephone-task-development \
+ gpephone-task-apps \
+ gpephone-task-connectivity \
+ ${XSERVER} \
+ ${GPE_EXTRA_INSTALL}"
+
+inherit image
+
+ROOTFS_POSTPROCESS_COMMAND += "set_image_autologin; "
diff --git a/recipes/images/gpephone-image.bb b/recipes/images/gpephone-image.bb
new file mode 100644
index 0000000000..bfe9238e3e
--- /dev/null
+++ b/recipes/images/gpephone-image.bb
@@ -0,0 +1,37 @@
+GPE_EXTRA_THEMES = ""
+
+GPE_EXTRA_INSTALL_none = ""
+GPE_EXTRA_INSTALL_x86 = "grub"
+GPE_EXTRA_INSTALL_bigscreen = "${GPE_EXTRA_THEMES}"
+GPE_EXTRA_INSTALL_smallscreen = "${GPE_EXTRA_THEMES}"
+
+GUI_MACHINE_CLASS ?= "none"
+GPE_EXTRA_INSTALL += "${GPE_EXTRA_INSTALL_${GUI_MACHINE_CLASS}}"
+
+#ship more stuff with devices with >16MB of flash
+GPE_BIGFLASH_INSTALL := '${@base_conditional("ROOT_FLASH_SIZE", "16", "", "\
+",d)}'
+
+GPE_EXTRA_INSTALL += "${GPE_BIGFLASH_INSTALL}"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-gpephone virtual/xserver"
+
+IMAGE_INSTALL = "\
+ ${MACHINE_TASK_PROVIDER} \
+ gpephone-task-base \
+ gpephone-task-pim \
+ gpephone-task-settings \
+ gpephone-task-development \
+ gpephone-task-apps \
+ gpephone-task-connectivity \
+ ${XSERVER} \
+ ${GPE_EXTRA_INSTALL}"
+
+
+inherit image
+
+ROOTFS_POSTPROCESS_COMMAND += "set_image_autologin; "
+
+LICENSE = "MIT"
diff --git a/recipes/images/helloworld-image.bb b/recipes/images/helloworld-image.bb
new file mode 100644
index 0000000000..cebfc33acd
--- /dev/null
+++ b/recipes/images/helloworld-image.bb
@@ -0,0 +1,7 @@
+# Hello world image
+# Contains *only* a statically linked hello world init program
+
+IMAGE_INSTALL = "helloworld"
+IMAGE_LINGUAS = ""
+
+inherit image
diff --git a/recipes/images/illume-image.bb b/recipes/images/illume-image.bb
new file mode 100644
index 0000000000..857d5b080f
--- /dev/null
+++ b/recipes/images/illume-image.bb
@@ -0,0 +1,180 @@
+#------------------------------------------------------
+# Rasterman Illume Image Recipe
+#------------------------------------------------------
+
+IMAGE_LINGUAS = "en-us de-de fr-fr pt-br ca-es zh-cn zh-tw bg-bg cs-cz da-dk nl-nl fi-fi hu-hu it-it ja-jp ko-kr nb-no pl-pl ru-ru sk-sk sl-si es-ar sv-se"
+
+# getting the base system up
+BASE_INSTALL = "\
+ angstrom-libc-fixup-hack \
+ ${MACHINE_TASK_PROVIDER} \
+ task-base \
+ netbase \
+ sysfsutils \
+ modutils-initscripts \
+ module-init-tools-depmod \
+# prelink \
+ exquisite \
+ exquisite-themes \
+ exquisite-theme-illume \
+# rsync \
+# screen \
+# fbset \
+# fbset-modes \
+"
+
+# Some machines don't set a *runtime* provider for X, so default to Xfbdev here
+# virtual/xserver won't work, since the kdrive recipes will build multiple xserver packages
+XSERVER ?= "xserver-kdrive-fbdev"
+
+# getting an X window system up
+X_INSTALL = "\
+ glibc-charmap-utf-8 \
+ e-wm \
+ e-wm-config-illume \
+ e-wm-config-standard \
+ e-wm-config-netbook \
+ e-wm-config-minimalist \
+ e-wm-config-scaleable \
+ ${XSERVER} \
+ xserver-kdrive-splash-illume \
+ xserver-kdrive-common \
+ xserver-nodm-init \
+ xauth \
+ xhost \
+ xset \
+ xrandr \
+ \
+ fontconfig-utils \
+ \
+ ttf-dejavu-common \
+ ttf-dejavu-sans \
+# ttf-dejavu-serif \
+ ttf-dejavu-sans-mono \
+ ttf-arphic-uming \
+ \
+"
+
+# useful command line tools
+TOOLS_INSTALL = "\
+# bash \
+ dosfstools \
+# iptables \
+ lsof \
+ mickeydbus \
+ mickeyterm \
+ mtd-utils \
+ nano \
+ powertop \
+ s3c24xx-gpio \
+ sysstat \
+# tcpdump \
+"
+
+# audio
+AUDIO_INSTALL = "\
+ alsa-oss \
+ alsa-state \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ gst-meta-audio \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-mad', d)} \
+ gst-plugin-modplug \
+ gst-plugin-sid \
+ fso-sounds \
+"
+
+GTK_INSTALL = "\
+# openmoko-calculator2 \
+ vala-terminal \
+# gpe-scap \
+# tangogps \
+"
+
+GAMES_INSTALL = "\
+# numptyphysics \
+"
+
+# FIXME these should rather be part of alsa-state,
+# once Om stabilizes them...
+AUDIO_INSTALL_append_om-gta01 = "\
+ openmoko-alsa-scenarios \
+"
+AUDIO_INSTALL_append_om-gta02 = "\
+ openmoko-alsa-scenarios \
+"
+
+# python
+PYTHON_INSTALL = "\
+ task-python-efl \
+ python-codecs \
+ python-gst \
+"
+
+# zhone
+ZHONE_INSTALL = "\
+ fso-gsm0710muxd \
+ frameworkd \
+ fso-gpsd \
+# zhone \
+"
+
+# additional apps
+APPS_INSTALL = "\
+# tichy \
+# gpe-gallery \
+# gpe-sketchbook \
+# gpe-filemanager \
+# vagalume \
+# starling \
+ rxvt-unicode \
+ gpe-terminal \
+ elementary-alarm \
+ gpe-scap \
+ libefso \
+ essential-dialer \
+"
+
+IMAGE_INSTALL = "\
+ ${BASE_INSTALL} \
+ ${X_INSTALL} \
+ ${GTK_INSTALL} \
+ ${GAMES_INSTALL} \
+ ${AUDIO_INSTALL} \
+ ${TOOLS_INSTALL} \
+ ${PYTHON_INSTALL} \
+ ${ZHONE_INSTALL} \
+ ${APPS_INSTALL} \
+"
+inherit image
+
+# perform some convenience tweaks to the rootfs
+fso_rootfs_postprocess() {
+ curdir=$PWD
+ cd ${IMAGE_ROOTFS}
+ # date/time
+ date "+%m%d%H%M%Y" >./etc/timestamp
+ # alias foo
+ echo "alias pico=nano" >>./etc/profile
+# echo "alias fso='cd /local/pkg/fso'" >>./etc/profile
+ echo "alias ipkg='opkg'" >>./etc/profile
+ # dns
+ echo "nameserver 208.67.222.222" >>./etc/resolv.conf
+ echo "nameserver 208.67.220.220" >>./etc/resolv.conf
+ # nfs
+ mkdir -p ./local/pkg
+ echo >>./etc/fstab
+# echo "# NFS Host" >>./etc/fstab
+# echo "192.168.0.200:/local/pkg /local/pkg nfs noauto,nolock,soft,rsize=32768,wsize=32768 0 0" >>./etc/fstab
+ # fix .desktop files for illume
+ desktop=`find ./usr/share/applications -name "*.desktop"`
+ for file in $desktop; do
+ echo "Categories=Office;" >>$file
+ done
+ # minimal gtk theme foo
+ mkdir -p ./etc/gtk-2.0/
+ echo 'gtk-font-name = "Sans 5"' >> ./etc/gtk-2.0/gtkrc
+ cd $curdir
+}
+
+ROOTFS_POSTPROCESS_COMMAND += "fso_rootfs_postprocess"
diff --git a/recipes/images/initramfs-bootmenu-debug-image.bb b/recipes/images/initramfs-bootmenu-debug-image.bb
new file mode 100644
index 0000000000..df5bf2b6c0
--- /dev/null
+++ b/recipes/images/initramfs-bootmenu-debug-image.bb
@@ -0,0 +1,16 @@
+# initramfs image with interactive boot menu allowing to select rootfs location
+# from choices of block devices, loopback images and NFS.
+
+IMAGE_INSTALL = "busybox-static initramfs-module-bootmenu initramfs-module-check-modules initramfs-module-kexecboot klibc-utils-static-modprobe"
+IMAGE_INSTALL += " dropbear dropbear-backdoor"
+IMAGE_LINGUAS = ""
+
+
+# Remove any kernel-image that the kernel-module-* packages may have pulled in.
+PACKAGE_REMOVE = "kernel-image-* update-modules module-init-tools-depmod update-rc.d"
+ROOTFS_POSTPROCESS_COMMAND += "opkg-cl ${IPKG_ARGS} -force-depends \
+ remove ${PACKAGE_REMOVE};"
+
+IMAGE_FSTYPES += " cpio.gz "
+
+inherit image
diff --git a/recipes/images/initramfs-bootmenu-image.bb b/recipes/images/initramfs-bootmenu-image.bb
new file mode 100644
index 0000000000..79806c9a98
--- /dev/null
+++ b/recipes/images/initramfs-bootmenu-image.bb
@@ -0,0 +1,15 @@
+# initramfs image with interactive boot menu allowing to select rootfs location
+# from choices of block devices, loopback images and NFS.
+
+IMAGE_INSTALL = "busybox-static initramfs-module-bootmenu initramfs-module-check-modules initramfs-module-kexecboot klibc-utils-static-modprobe"
+IMAGE_LINGUAS = ""
+
+
+# Remove any kernel-image that the kernel-module-* packages may have pulled in.
+PACKAGE_REMOVE = "kernel-image-* update-modules module-init-tools-depmod update-rc.d uclibc"
+ROOTFS_POSTPROCESS_COMMAND += "opkg-cl ${IPKG_ARGS} -force-depends \
+ remove ${PACKAGE_REMOVE};"
+
+IMAGE_FSTYPES += " cpio.gz "
+
+inherit image
diff --git a/recipes/images/initramfs-image.bb b/recipes/images/initramfs-image.bb
new file mode 100644
index 0000000000..d3d1d751cf
--- /dev/null
+++ b/recipes/images/initramfs-image.bb
@@ -0,0 +1,13 @@
+# initramfs image allowing to boot from location as specified on kernel
+# command line, from teh choices of block device, loop back images (including
+# recursive) and NFS.
+
+IMAGE_INSTALL = "initramfs-module-block initramfs-module-loop initramfs-module-nfs"
+IMAGE_LINGUAS = ""
+
+# Remove any kernel-image that the kernel-module-* packages may have pulled in.
+PACKAGE_REMOVE = "kernel-image-* update-modules"
+ROOTFS_POSTPROCESS_COMMAND += "opkg-cl ${IPKG_ARGS} -force-depends \
+ remove ${PACKAGE_REMOVE};"
+
+inherit image
diff --git a/recipes/images/initramfs-minimal-image.bb b/recipes/images/initramfs-minimal-image.bb
new file mode 100644
index 0000000000..cb323ddd50
--- /dev/null
+++ b/recipes/images/initramfs-minimal-image.bb
@@ -0,0 +1,11 @@
+# Sample initramfs image, very minimal
+
+IMAGE_INSTALL = "initramfs-module-nfs busybox-static"
+
+export IMAGE_BASENAME = "initramfs-image"
+IMAGE_LINGUAS = ""
+
+# Install only ${IMAGE_INSTALL}, not even deps
+PACKAGE_INSTALL_NO_DEPS = "1"
+
+inherit image
diff --git a/recipes/images/jalimo-beagleboard-demo-image.bb b/recipes/images/jalimo-beagleboard-demo-image.bb
new file mode 100644
index 0000000000..c1f9e19fa3
--- /dev/null
+++ b/recipes/images/jalimo-beagleboard-demo-image.bb
@@ -0,0 +1,11 @@
+# Extended Beagleboard demo image containing Jalimo stuff.
+
+require beagleboard-demo-image.bb
+
+IMAGE_INSTALL += "\
+ phoneme-advanced-foundation \
+ cacao \
+ libswt3.4-gtk-java \
+ libdbus-java \
+ midpath-openmoko \
+"
diff --git a/recipes/images/jlime-opie.bb b/recipes/images/jlime-opie.bb
new file mode 100644
index 0000000000..bb9ad73f20
--- /dev/null
+++ b/recipes/images/jlime-opie.bb
@@ -0,0 +1,62 @@
+PR = "r1"
+IMAGE_LINGUAS = ""
+
+DEPENDS = "task-base task-opie"
+
+extra_stuff = '${@base_conditional("ROOT_FLASH_SIZE", "24", "", "task-opie-extra-games task-opie-extra-apps task-opie-extra-styles konqueror-embedded",d)}'
+
+IMAGE_INSTALL = "task-base task-opie-base task-opie-base-applets \
+ task-opie-base-inputmethods task-opie-base-apps \
+ task-opie-base-settings task-opie-base-decorations \
+ task-opie-base-styles task-opie-base-pim \
+ task-opie-extra-settings \
+ task-opie-bluetooth task-opie-irda \
+ ${extra_stuff}"
+
+# merge feed-sources into ipkg.conf for opie-aqpkg as it can't handle feed-sources outside of ipkg.conf.
+merge_feeds() {
+
+ if ! test -z "${FEED_URIS}"
+ then
+ # Die gracefully if ipkg-collateral failed
+ if ! test -e "${IMAGE_ROOTFS}/etc/ipkg.conf"
+ then
+ echo "[${IMAGE_ROOTFS}/etc/ipkg.conf] is missing!"
+ exit 1
+ fi
+
+ # comment out existing feed-sources inserted by ipkg-collateral
+ cat ${IMAGE_ROOTFS}/etc/ipkg.conf | sed "s/^src\ /#src\ /" > ${IMAGE_ROOTFS}/etc/ipkg.conf_
+ rm ${IMAGE_ROOTFS}/etc/ipkg.conf && mv ${IMAGE_ROOTFS}/etc/ipkg.conf_ ${IMAGE_ROOTFS}/etc/ipkg.conf
+
+ # extract, then delete destinations
+ cat ${IMAGE_ROOTFS}/etc/ipkg.conf | egrep "^dest\ " > ${IMAGE_ROOTFS}/etc/ipkg.conf.dest
+ cat ${IMAGE_ROOTFS}/etc/ipkg.conf | egrep -v "^dest\ " > ${IMAGE_ROOTFS}/etc/ipkg.conf_
+ rm ${IMAGE_ROOTFS}/etc/ipkg.conf && mv ${IMAGE_ROOTFS}/etc/ipkg.conf_ ${IMAGE_ROOTFS}/etc/ipkg.conf
+
+
+ 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'`"
+
+ # insert new feed-sources
+ echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg.conf
+ done
+
+ # remove temporary files and rebuild ipkg.conf
+ echo "" >> ${IMAGE_ROOTFS}/etc/ipkg.conf
+ cat ${IMAGE_ROOTFS}/etc/ipkg.conf.dest >> ${IMAGE_ROOTFS}/etc/ipkg.conf
+ rm ${IMAGE_ROOTFS}/etc/ipkg.conf.dest
+
+ # remove -feed.conf files which are no longer needed
+ cd ${IMAGE_ROOTFS}/etc/ipkg/ && rm -- *-feed.conf
+ fi
+}
+
+# merge feed-sources into ipkg.conf and create /etc/timestamp from build date
+IMAGE_PREPROCESS_COMMAND = "merge_feeds; create_etc_timestamp"
+
+inherit image
diff --git a/recipes/images/liveramdisk-image.bb b/recipes/images/liveramdisk-image.bb
new file mode 100644
index 0000000000..5caa4baa11
--- /dev/null
+++ b/recipes/images/liveramdisk-image.bb
@@ -0,0 +1,22 @@
+# LiveRamdisk image
+# Building with ANGSTROMLIBC=uclibc is recommended
+#
+# LiveRamdisk concept/implementation by Paul Sokolovsky
+LICENSE = "MIT"
+IMAGE_FSTYPES = "cpio.gz"
+
+#IMAGE_INSTALL = "initramfs-boot busybox kernel-module-uinput uclibc libgcc1"
+IMAGE_INSTALL = "initramfs-jffs2 busybox-static kernel-module-mtdram"
+
+export IMAGE_BASENAME = "liveramdisk"
+export IMAGE_LINGUAS = ""
+
+# Install only ${IMAGE_INSTALL}, not even deps
+#PACKAGE_INSTALL_NO_DEPS = "1"
+
+# Remove any kernel-image that the kernel-module-* packages may have pulled in.
+PACKAGE_REMOVE = "kernel-image-* update-modules module-init-tools-depmod uclibc update-rc.d"
+ROOTFS_POSTPROCESS_COMMAND += "opkg-cl ${IPKG_ARGS} -force-depends \
+ remove ${PACKAGE_REMOVE};"
+
+inherit image
diff --git a/recipes/images/maemo-image.bb b/recipes/images/maemo-image.bb
new file mode 100644
index 0000000000..c0498bb910
--- /dev/null
+++ b/recipes/images/maemo-image.bb
@@ -0,0 +1,20 @@
+#
+# Meta package for maemo based system image
+#
+
+GUI_MACHINE_CLASS ?= "none"
+
+MAEMO_EXTRA_DEPENDS = "scap dosfstools"
+MAEMO_EXTRA_INSTALL = "osso-af-services osso-af-base-apps scap dosfstools"
+
+XSERVER ?= "xserver-kdrive-omap"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER} \
+ meta-maemo \
+ ${MAEMO_EXTRA_DEPENDS}"
+
+IMAGE_INSTALL = "${MACHINE_TASK_PROVIDER} maemo-task-base maemo-task-theme \
+ maemo-task-apps ${MAEMO_EXTRA_INSTALL} \
+ ${XSERVER}"
+
+inherit image
diff --git a/recipes/images/minimal-gpe-image.bb b/recipes/images/minimal-gpe-image.bb
new file mode 100644
index 0000000000..5dd08f6e23
--- /dev/null
+++ b/recipes/images/minimal-gpe-image.bb
@@ -0,0 +1,25 @@
+#Angstrom minimal gpe image
+# This image provides a barebone dm and 'desktop'
+# Very angstrom and opkg centric
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+export IMAGE_BASENAME = "minimalist-gpe-image"
+
+PR = "r2"
+
+DEPENDS = "task-boot"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-boot \
+ gpe-dm gpe-session-scripts gpe-login \
+ matchbox-wm \
+ gpe-terminal \
+ angstrom-feed-configs \
+ opkg-nogpg opkg-collateral \
+ "
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/minimal-image-with-mtd-utils.bb b/recipes/images/minimal-image-with-mtd-utils.bb
new file mode 100644
index 0000000000..b778300580
--- /dev/null
+++ b/recipes/images/minimal-image-with-mtd-utils.bb
@@ -0,0 +1,9 @@
+# this image was created for use with the compulab cm-x270 platform
+# for creating a small initramfs image in NOR flash that can be used
+# to program the NAND flash.
+
+require minimal-image.bb
+IMAGE_INSTALL += "mtd-utils"
+
+export IMAGE_BASENAME = "minimalist-image-mtdutils"
+
diff --git a/recipes/images/minimal-image.bb b/recipes/images/minimal-image.bb
new file mode 100644
index 0000000000..f00c858312
--- /dev/null
+++ b/recipes/images/minimal-image.bb
@@ -0,0 +1,19 @@
+#Angstrom minimalist image
+#gives you a small images with ssh access
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+DISTRO_SSH_DAEMON ?= "dropbear"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+IMAGE_INSTALL = "task-boot \
+ util-linux-mount util-linux-umount \
+ ${DISTRO_SSH_DAEMON} \
+ angstrom-version \
+ "
+
+export IMAGE_BASENAME = "minimalist-image"
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/minimal-openmoko-image.bb b/recipes/images/minimal-openmoko-image.bb
new file mode 100644
index 0000000000..70658fd86f
--- /dev/null
+++ b/recipes/images/minimal-openmoko-image.bb
@@ -0,0 +1,21 @@
+#------------------------------------------------------
+# Minimal Openmoko Image Recipe
+# This should only have the base system + dialer
+# #------------------------------------------------------
+
+IMAGE_LINGUAS = ""
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+IMAGE_INSTALL = "\
+ task-base \
+ ${ANGSTROM_EXTRA_INSTALL} \
+ task-openmoko-linux \
+ task-openmoko-net \
+ task-openmoko-ui \
+ task-openmoko-base \
+ task-openmoko-phone \
+ "
+
+inherit image
+
+ROOTFS_POSTPROCESS_COMMAND += 'date "+%m%d%H%M%Y" >${IMAGE_ROOTFS}/etc/timestamp'
diff --git a/recipes/images/mokogateway-image.bb b/recipes/images/mokogateway-image.bb
new file mode 100644
index 0000000000..a8c59f2075
--- /dev/null
+++ b/recipes/images/mokogateway-image.bb
@@ -0,0 +1,17 @@
+#Angstrom moko gateway image
+# tries to be a companion for openmoko based phones
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = " \
+ task-boot \
+ task-base-bluetooth \
+ bluez-utils \
+ blueprobe \
+ "
+export IMAGE_BASENAME = "mokogateway-image"
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/mythfront-image.bb b/recipes/images/mythfront-image.bb
new file mode 100644
index 0000000000..8ba6779fdc
--- /dev/null
+++ b/recipes/images/mythfront-image.bb
@@ -0,0 +1,10 @@
+IMAGE_ROOTFS_SIZE_ext2 = "85000"
+IMAGE_ROOTFS_SIZE_ext2.gz = "85000"
+IMAGE_LINGUAS = ""
+
+MYTHFRONT_PACKAGES = "${MACHINE_TASK_PROVIDER} task-mythfront"
+
+DEPENDS = "${MYTHFRONT_PACKAGES}"
+IMAGE_INSTALL = "${MYTHFRONT_PACKAGES}"
+
+inherit image
diff --git a/recipes/images/nas-server-image.bb b/recipes/images/nas-server-image.bb
new file mode 100644
index 0000000000..85b2bae551
--- /dev/null
+++ b/recipes/images/nas-server-image.bb
@@ -0,0 +1,53 @@
+# This image is intended to provide a configuration
+# for a network attached storage server device.
+
+# Key features are:
+#
+# 1) Must be able to mount attached storage devices like
+# internal disks, external USB disks, etc. Should support
+# various filesystem choices, but ext2 at a minimum.
+#
+# 2) Must be able to boot from internal flash, or directly
+# from a filesystem stored on the attached storage.
+#
+# 3) Must be able to share that storage across the network
+# using various protocols like Samba, NFS, etc.
+#
+# 4) Bonus points for being able to support other central
+# network services like a central gateway machine might.
+
+# Although it is tested with the Angstrom distro, it is
+# intended to be distro-agnostic.
+
+DISTRO_SSH_DAEMON ?= "dropbear"
+DISTRO_PACKAGE_MANAGER ?= "opkg-nogpg opkg-collateral"
+
+DEPENDS = "\
+ task-boot \
+ ${@base_contains('MACHINE_FEATURES', 'apex', 'task-base-apex', '', d)} \
+ task-distro-base task-machine-base \
+ ${DISTRO_SSH_DAEMON} \
+ ${DISTRO_PACKAGE_MANAGER} \
+ ${@base_contains('MACHINE_FEATURES', 'ext2', 'task-base-ext2', '', d)} \
+ ${@base_contains('MACHINE_FEATURES', 'usbhost', 'task-base-usbhost', '', d)} \
+ task-nas-server-everything \
+ "
+
+IMAGE_INSTALL_TASKS = "\
+ task-nas-server-everything \
+ "
+
+IMAGE_INSTALL = "\
+ task-boot \
+ ${@base_contains('MACHINE_FEATURES', 'apex', 'task-base-apex', '', d)} \
+ ${DISTRO_SSH_DAEMON} \
+ ${DISTRO_PACKAGE_MANAGER} \
+ ${@base_contains('MACHINE_FEATURES', 'ext2', 'task-base-ext2', '', d)} \
+ ${@base_contains('MACHINE_FEATURES', 'usbhost', 'task-base-usbhost', '', d)} \
+ ${IMAGE_INSTALL_TASKS} \
+ "
+
+export IMAGE_BASENAME = "nas-server-image"
+IMAGE_LINGUAS = ""
+
+inherit image
diff --git a/recipes/images/native-sdk-console-image.bb b/recipes/images/native-sdk-console-image.bb
new file mode 100644
index 0000000000..df05fb4d6b
--- /dev/null
+++ b/recipes/images/native-sdk-console-image.bb
@@ -0,0 +1,2 @@
+require console-image.bb
+IMAGE_INSTALL += "task-native-sdk"
diff --git a/recipes/images/neuros-osd-base-image.bb b/recipes/images/neuros-osd-base-image.bb
new file mode 100644
index 0000000000..008bd67321
--- /dev/null
+++ b/recipes/images/neuros-osd-base-image.bb
@@ -0,0 +1,29 @@
+# This image is intended to be the base for further neuros images
+
+inherit image
+
+export IMAGE_BASENAME = "Neuros-OSD2-base-image"
+
+PR = "r1"
+
+# Select which Secure Shell Daemon gets included into the rootfs
+DISTRO_SSH_DAEMON ?= "dropbear"
+DISTRO_DEV_MANAGER = "mdev"
+PREFERRED_PROVIDER_hotplug = "mdev"
+
+# Include a timestamp that initscripts can use to set the time to a
+# more sane value after a reboot
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+IMAGE_INSTALL = "task-boot \
+ util-linux-mount util-linux-umount \
+ e2fsprogs dosfstools \
+ wireless-tools zd1211-firmware \
+ ${DISTRO_SSH_DAEMON} \
+ qt-embedded dbus \
+ neuros-mainmenu \
+ neuros-nwm \
+# vlc-davinci \
+ "
+
+IMAGE_LINGUAS = ""
diff --git a/recipes/images/nslu2-base-image.bb b/recipes/images/nslu2-base-image.bb
new file mode 100644
index 0000000000..444e9f6a49
--- /dev/null
+++ b/recipes/images/nslu2-base-image.bb
@@ -0,0 +1,14 @@
+# Note that this package is intended to create an *identical*
+# kernel and rootfs as the normal base-image.bb
+
+# The only reason for the existence of this .bb file is to
+# create the 8MB and 16MB flashable NSLU2 firmware images.
+
+# Please do not add anything other than the following two
+# lines to this file, and please do not do anything in
+# the nslu2-image class which might affect the kernel
+# or rootfs.
+
+require base-image.bb
+
+inherit nslu2-image
diff --git a/recipes/images/nslu2-linksys-image.bb b/recipes/images/nslu2-linksys-image.bb
new file mode 100644
index 0000000000..312d3b144e
--- /dev/null
+++ b/recipes/images/nslu2-linksys-image.bb
@@ -0,0 +1,11 @@
+IMAGE_LINGUAS = ""
+USE_DEVFS = "1"
+
+DEPENDS = "nslu2-linksys-kernel"
+export IMAGE_BASENAME = "nslu2-linksys"
+IMAGE_INSTALL = "nslu2-linksys-ramdisk"
+
+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
diff --git a/recipes/images/nylon-image-base.bb b/recipes/images/nylon-image-base.bb
new file mode 100644
index 0000000000..27dc165800
--- /dev/null
+++ b/recipes/images/nylon-image-base.bb
@@ -0,0 +1,28 @@
+inherit image
+inherit nylon-image
+
+export IMAGE_BASENAME = "nylon-base"
+
+NYLON_BASE = "base-files base-passwd bash busybox \
+ ipkg initscripts less \
+ mtd-utils \
+ nano ncurses netbase \
+ openssh sysvinit \
+ tzdata tinylogin udev"
+
+DEPENDS += "virtual/kernel less nano"
+IMAGE_INSTALL = "kernel less nano elvis-tiny \
+ ${NYLON_BASE} ${BOOTSTRAP_EXTRA_RDEPENDS}"
+
+## kernel 2.4 ##
+RDEPENDS_append_mtx-1 = " modutils modutils-initscripts modutils-depmod modutils-modinfo"
+RDEPENDS_append_mtx-2 = " modutils modutils-initscripts modutils-depmod modutils-modinfo"
+## kernel 2.6 ##
+RDEPENDS_append_mtx-3 = " module-init-tools udev"
+RDEPENDS_append_mtx-3a = " module-init-tools"
+
+IMAGE_LINGUAS = ""
+
+# we dont need the kernel in the image
+ROOTFS_POSTPROCESS_COMMAND = "rm -f ${IMAGE_ROOTFS}/tmp/*Image*"
+# needed?? the above line is the same as in classes/nylon-image.bbclass
diff --git a/recipes/images/nylon-image-extended.bb b/recipes/images/nylon-image-extended.bb
new file mode 100644
index 0000000000..7a4e5b6c88
--- /dev/null
+++ b/recipes/images/nylon-image-extended.bb
@@ -0,0 +1,85 @@
+require nylon-image-base.bb
+require ../meta/nylon-feed.inc
+
+export IMAGE_BASENAME = "nylon-extended"
+
+NYLON_EXTENDED_DEPENDS = "${NYLON_FEED}"
+
+NYLON_EXTENDED_RDEPENDS = "\
+ hostap-modules-cs \
+ hostap-modules-pci \
+ modutils-depmod \
+ modutils-initscripts \
+ modutils-modinfo \
+ ntpdate \
+ ntp-bin \
+ ntp-tickadj \
+ openssh-scp \
+ openssh-ssh \
+ openssh-sshd \
+ perl-misc \
+ perl-module-autoloader \
+ perl-module-base \
+ perl-module-bytes \
+ perl-module-carp \
+ perl-module-config \
+ perl-module-constant \
+ perl-module-data-dumper \
+ perl-module-encode \
+ perl-module-encode-alias \
+ perl-module-encode-config \
+ perl-module-encode-encoding \
+ perl-module-encode-unicode \
+ perl-module-errno \
+ perl-module-exporter \
+ perl-module-exporter-heavy \
+ perl-module-fields \
+ perl-module-getopt-long \
+ perl-module-integer \
+ perl-module-io \
+ perl-module-io-handle \
+ perl-module-io-socket \
+ perl-module-io-socket-inet \
+ perl-module-io-socket-unix \
+ perl-module-locale \
+ perl-module-overload \
+ perl-module-posix \
+ perl-module-selectsaver \
+ perl-module-socket \
+ perl-module-strict \
+ perl-module-symbol \
+ perl-module-sys-hostname \
+ perl-module-vars \
+ perl-module-warnings \
+ perl-module-warnings-register \
+ perl-module-xsloader \
+"
+
+KERNEL_MODULES = " \
+ kernel-module-aes \
+ kernel-module-bridge \
+ kernel-module-ds \
+ kernel-module-fat \
+ kernel-module-mii \
+ kernel-module-pcmcia-core \
+ kernel-module-scsi-mod \
+ kernel-module-sd-mod \
+ kernel-module-usb-storage \
+ kernel-module-usb-ohci \
+ kernel-module-usbnet \
+ kernel-module-usbserial \
+ kernel-module-vfat \
+ kernel-module-yenta-socket \
+"
+
+
+DEPENDS += "${NYLON_EXTENDED_DEPENDS}"
+
+IMAGE_INSTALL += "${NYLON_EXTENDED_DEPENDS} ${KERNEL_MODULES} \
+ ${NYLON_EXTENDED_RDEPENDS} elvis-tools"
+
+IMAGE_INSTALL_append_mtx-1 = "\
+ kernel-module-au1x00-bi \
+ kernel-module-network-fd \
+ kernel-module-usbdcore"
+# kernel-module-usbdprocfs \
diff --git a/recipes/images/nylon-image-extra.bb b/recipes/images/nylon-image-extra.bb
new file mode 100644
index 0000000000..e943a98fc0
--- /dev/null
+++ b/recipes/images/nylon-image-extra.bb
@@ -0,0 +1,9 @@
+require nylon-image-standard.bb
+
+export IMAGE_BASENAME = "nylon-extra"
+
+IMAGE_INSTALL = "\
+ kismet \
+ netperf \
+ nylon-statistics \
+ openvpn"
diff --git a/recipes/images/nylon-image-mini.bb b/recipes/images/nylon-image-mini.bb
new file mode 100644
index 0000000000..f011cb171c
--- /dev/null
+++ b/recipes/images/nylon-image-mini.bb
@@ -0,0 +1,14 @@
+export IMAGE_BASENAME = "nylon-mini"
+
+inherit image
+
+NYLON_BASE = "base-files base-passwd busybox \
+ dropbear \
+ miniinit \
+ modutils-collateral \
+ modutils-initscripts \
+ netbase \
+ wireless-tools"
+
+IMAGE_INSTALL += "kernel ${NYLON_BASE} ${BOOTSTRAP_EXTRA_RDEPENDS}"
+IMAGE_LINGUAS = ""
diff --git a/recipes/images/nylon-image-standard.bb b/recipes/images/nylon-image-standard.bb
new file mode 100644
index 0000000000..5f79402c99
--- /dev/null
+++ b/recipes/images/nylon-image-standard.bb
@@ -0,0 +1,20 @@
+require nylon-image-base.bb
+
+export IMAGE_BASENAME = "nylon-standard"
+
+NYLON_STANDARD = "\
+ hostap-utils \
+ linux-hotplug \
+ ifplugd \
+ olsrd \
+ ppp \
+ rp-pppoe \
+ shorewall \
+ tcpdump \
+ wpa-supplicant"
+
+DEPENDS += "hostap-modules ntp \
+ ${NYLON_STANDARD}"
+
+IMAGE_INSTALL += "hostap-modules-pci ntpdate less nano elvis-tiny \
+ ${NYLON_STANDARD}"
diff --git a/recipes/images/openmoko-devel-image.bb b/recipes/images/openmoko-devel-image.bb
new file mode 100644
index 0000000000..4aec237977
--- /dev/null
+++ b/recipes/images/openmoko-devel-image.bb
@@ -0,0 +1,3 @@
+require openmoko-image.bb
+
+IMAGE_INSTALL += "task-openmoko-debug" \ No newline at end of file
diff --git a/recipes/images/openmoko-image.bb b/recipes/images/openmoko-image.bb
new file mode 100644
index 0000000000..48b0d7da4f
--- /dev/null
+++ b/recipes/images/openmoko-image.bb
@@ -0,0 +1,21 @@
+#------------------------------------------------------
+# Openmoko Image Recipe
+#------------------------------------------------------
+
+require openmoko-minimal-image.bb
+
+IMAGE_INSTALL += "\
+ task-openmoko-net \
+ task-openmoko-ui \
+ task-openmoko-base \
+ task-openmoko-phone \
+ task-openmoko-games \
+ task-openmoko-pim \
+ "
+
+DEPENDS += "\
+ task-openmoko \
+ "
+
+inherit image
+
diff --git a/recipes/images/openmoko-minimal-image.bb b/recipes/images/openmoko-minimal-image.bb
new file mode 100644
index 0000000000..678400f756
--- /dev/null
+++ b/recipes/images/openmoko-minimal-image.bb
@@ -0,0 +1,21 @@
+#------------------------------------------------------
+# Openmoko Minimal Image Recipe
+# other openmoko images should include this.
+# -----------------------------------------------------
+
+IMAGE_LINGUAS = ""
+
+IMAGE_INSTALL = "\
+ ${MACHINE_TASK_PROVIDER} \
+ task-openmoko-linux \
+ "
+
+DEPENDS = "\
+ ${MACHINE_TASK_PROVIDER} \
+ task-openmoko-linux \
+ "
+
+
+inherit image
+
+ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp;"
diff --git a/recipes/images/openmoko-python-devel-image.bb b/recipes/images/openmoko-python-devel-image.bb
new file mode 100644
index 0000000000..615042f3b8
--- /dev/null
+++ b/recipes/images/openmoko-python-devel-image.bb
@@ -0,0 +1,7 @@
+require openmoko-image.bb
+
+IMAGE_INSTALL += "\
+ task-openmoko-python-devel \
+ task-python-efl-examples \
+ edje-viewer \
+"
diff --git a/recipes/images/openmoko-sdk-image.bb b/recipes/images/openmoko-sdk-image.bb
new file mode 100644
index 0000000000..85958085ae
--- /dev/null
+++ b/recipes/images/openmoko-sdk-image.bb
@@ -0,0 +1,3 @@
+require openmoko-devel-image.bb
+
+IMAGE_INSTALL += "task-openmoko-native-sdk"
diff --git a/recipes/images/openprotium-image.bb b/recipes/images/openprotium-image.bb
new file mode 100644
index 0000000000..0f64ba2052
--- /dev/null
+++ b/recipes/images/openprotium-image.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "OpenProtium image"
+HOMEPAGE = "http://www.openprotium.com"
+
+DEPENDS = "task-openprotium"
+IMAGE_INSTALL = "task-openprotium"
+IMAGE_LINGUAS = ""
+
+IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DISTRO_VERSION}"
+PACKAGE_REMOVE = "kernel-image-* task-openprotium"
+
+USE_DEVFS = "1"
+OPENPROTIUM_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-minimal-add-md.txt')}"
+EXTRA_IMAGECMD_jffs2 += " -D ${OPENPROTIUM_DEVICE_TABLE}"
+
+IMAGE_PREPROCESS_COMMAND += "install -c -m 644 ${OPENPROTIUM_DEVICE_TABLE} ${IMAGE_ROOTFS}/etc/device_table;"
+IMAGE_PREPROCESS_COMMAND += "sed -i -es,^id:5:initdefault:,id:3:initdefault:, ${IMAGE_ROOTFS}/etc/inittab;"
+IMAGE_PREPROCESS_COMMAND += "sed -i -es,^root::0,root:BTMzOOAQfESg6:0, ${IMAGE_ROOTFS}/etc/passwd;"
+IMAGE_PREPROCESS_COMMAND += "sed -i -es,^VERBOSE=no,VERBOSE=very, ${IMAGE_ROOTFS}/etc/default/rcS;"
+IMAGE_PREPROCESS_COMMAND += "sed -i -es,^VOLATILE_ENABLE_CACHE=yes,VOLATILE_ENABLE_CACHE=no, ${IMAGE_ROOTFS}/etc/default/rcS;"
+IMAGE_PREPROCESS_COMMAND += "sed -i -es,/dev/tty0,/dev/console, ${IMAGE_ROOTFS}/etc/init.d/populate-volatile.sh;"
+IMAGE_PREPROCESS_COMMAND += "echo /dev/md >> ${IMAGE_ROOTFS}/etc/udev/mount.blacklist;"
+IMAGE_PREPROCESS_COMMAND += "echo /dev/hd >> ${IMAGE_ROOTFS}/etc/udev/mount.blacklist;"
+IMAGE_PREPROCESS_COMMAND += "echo /dev/mtd3 0x30000 0x10000 0x10000 > ${IMAGE_ROOTFS}/etc/fw_env.config;"
+
+ROOTFS_POSTPROCESS_COMMAND += "ipkg-cl ${IPKG_ARGS} -force-depends \
+ remove ${PACKAGE_REMOVE};"
+
+inherit image concatenated-image
diff --git a/recipes/images/opie-image-16mb.bb b/recipes/images/opie-image-16mb.bb
new file mode 100644
index 0000000000..6fa8bab1e0
--- /dev/null
+++ b/recipes/images/opie-image-16mb.bb
@@ -0,0 +1,21 @@
+IMAGE_LINGUAS = ""
+
+DEPENDS = "task-boot task-opie-16mb"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+IMAGE_INSTALL = "task-boot \
+ ipkg ipkg-collateral \
+ dropbear \
+ task-opie-16mb-base \
+ task-opie-16mb-applets \
+ task-opie-16mb-inputmethods \
+ task-opie-16mb-settings \
+ task-opie-16mb-apps \
+ task-opie-16mb-pim \
+ task-opie-irda \
+ ${ANGSTROM_EXTRA_INSTALL} "
+
+# create /etc/timestamp from build date
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+inherit image
diff --git a/recipes/images/opie-image.bb b/recipes/images/opie-image.bb
new file mode 100644
index 0000000000..fec6103ca9
--- /dev/null
+++ b/recipes/images/opie-image.bb
@@ -0,0 +1,17 @@
+IMAGE_LINGUAS = ""
+
+DEPENDS = "task-base task-opie"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+IMAGE_INSTALL = "task-base-extended task-opie-base task-opie-base-applets \
+ task-opie-base-inputmethods task-opie-base-apps \
+ task-opie-base-settings task-opie-base-decorations \
+ task-opie-base-styles task-opie-base-pim \
+ task-opie-extra-settings \
+ task-opie-bluetooth task-opie-irda \
+ ${ANGSTROM_EXTRA_INSTALL} "
+
+# create /etc/timestamp from build date
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+inherit image
diff --git a/recipes/images/opie-kdepim-image.bb b/recipes/images/opie-kdepim-image.bb
new file mode 100644
index 0000000000..a8cb28bf27
--- /dev/null
+++ b/recipes/images/opie-kdepim-image.bb
@@ -0,0 +1,7 @@
+require opie-image.bb
+
+DEPENDS += "kdepimpi"
+
+export IMAGE_BASENAME = "opie-kdepim-image"
+
+IMAGE_INSTALL += "kopi kapi kammu kopi-applet"
diff --git a/recipes/images/opie-xqtlauncher-image.bb b/recipes/images/opie-xqtlauncher-image.bb
new file mode 100644
index 0000000000..db32a1e893
--- /dev/null
+++ b/recipes/images/opie-xqtlauncher-image.bb
@@ -0,0 +1,7 @@
+require opie-image.bb
+
+DEPENDS += "task-xqtlauncher"
+
+export IMAGE_BASENAME = "opie-xqtlauncher-image"
+
+IMAGE_INSTALL += "task-xqtlauncher task-xqtlauncher-blackbox"
diff --git a/recipes/images/ossie-image.bb b/recipes/images/ossie-image.bb
new file mode 100644
index 0000000000..aedbecbefd
--- /dev/null
+++ b/recipes/images/ossie-image.bb
@@ -0,0 +1,15 @@
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-ossie"
+
+IMAGE_LINGUAS = ""
+IMAGE_INSTALL = "${MACHINE_TASK_PROVIDER} task-ossie"
+
+OSSIE_URI = "http://192.168.1.81/feed"
+
+FEED_URIS += " \
+ no-arch##${OSSIE_URI}/unstable/feed/all \
+ base##${OSSIE_URI}/unstable/feed/${TARGET_ARCH}/base \
+ python##${OSSIE_URI}/unstable/feed/${TARGET_ARCH}/python \
+ debug##${OSSIE_URI}/unstable/feed/${TARGET_ARCH}/debug \
+ ${MACHINE}##${OSSIE_URI}/unstable/feed/${TARGET_ARCH}/machine/${MACHINE}"
+
+inherit image
diff --git a/recipes/images/pivotboot-image.bb b/recipes/images/pivotboot-image.bb
new file mode 100644
index 0000000000..0aa7fdc575
--- /dev/null
+++ b/recipes/images/pivotboot-image.bb
@@ -0,0 +1,6 @@
+IMAGE_LINGUAS = ""
+IMAGE_INSTALL = "task-pivotboot"
+
+DEPENDS = "task-pivotboot"
+
+inherit image
diff --git a/recipes/images/qtopia-core-console-image.bb b/recipes/images/qtopia-core-console-image.bb
new file mode 100644
index 0000000000..62382cd11f
--- /dev/null
+++ b/recipes/images/qtopia-core-console-image.bb
@@ -0,0 +1,19 @@
+#QtopiaCore 'console' image
+#gives you a small images with ssh access
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+DISTRO_SSH_DAEMON ?= "dropbear"
+DEPENDS = "task-boot"
+
+IMAGE_INSTALL = "task-boot \
+ util-linux-mount util-linux-umount \
+ ${DISTRO_SSH_DAEMON} \
+ angstrom-version \
+ task-qtopia-core-console \
+ "
+
+export IMAGE_BASENAME = "trolltech-qtopia-core-console-image"
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/qtopia-core-gui-image.bb b/recipes/images/qtopia-core-gui-image.bb
new file mode 100644
index 0000000000..6f3e594e62
--- /dev/null
+++ b/recipes/images/qtopia-core-gui-image.bb
@@ -0,0 +1,20 @@
+#QtopiaCore 'console' image
+#gives you a small images with ssh access
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+DISTRO_SSH_DAEMON ?= "dropbear"
+DEPENDS = "task-boot task-qtopia-core-gui task-qtopia-core-gui"
+
+IMAGE_INSTALL = "task-boot \
+ util-linux-mount util-linux-umount \
+ ${DISTRO_SSH_DAEMON} \
+ angstrom-version \
+ task-qtopia-core-console \
+ task-qtopia-core-gui \
+ "
+
+export IMAGE_BASENAME = "trolltech-qtopia-core-gui-image"
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/sdl-image.bb b/recipes/images/sdl-image.bb
new file mode 100644
index 0000000000..9101d88e9c
--- /dev/null
+++ b/recipes/images/sdl-image.bb
@@ -0,0 +1,5 @@
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-sdl"
+
+IMAGE_INSTALL = "${MACHINE_TASK_PROVIDER} sdl-base"
+
+inherit image
diff --git a/recipes/images/sdr-image.bb b/recipes/images/sdr-image.bb
new file mode 100644
index 0000000000..9e0f4e6a41
--- /dev/null
+++ b/recipes/images/sdr-image.bb
@@ -0,0 +1,49 @@
+#Angstrom SDR image
+# An image with tools for software defined radio and unicorn radio
+
+# TODO:
+# X demo
+# xorg.conf
+
+PR = "r3"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+# Also generate tar.bz2 images for use on e.g. SD or nfsroot
+IMAGE_FSTYPES += "tar.bz2"
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+DISTRO_SSH_DAEMON ?= "dropbear"
+XSERVER ?= "xserver-kdrive-fbdev"
+
+# Install "big" X if the target has a screen
+GUIPACKAGES_BIGX = " \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-video-dummy \
+ xf86-video-fbdev \
+ ${@base_contains("COMBINED_FEATURES", "usbhost", "xf86-video-sisusb", "",d)} \
+ xf86-video-vesa \
+"
+
+GUIPACKAGES = " \
+ ${XSERVER} \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ xterm e-wm \
+"
+
+IMAGE_INSTALL = " task-base-extended \
+ kernel-modules \
+ gnuradio gnuradio-usrp \
+ screen procps \
+ ${@base_contains("MACHINE_FEATURES", "screen", "${GUIPACKAGES}", "",d)} \
+ python-core perl \
+ uucp picocom \
+ angstrom-zeroconf-audio avahi-utils \
+ ${ANGSTROM_EXTRA_INSTALL} \
+"
+
+inherit image
+
diff --git a/recipes/images/sectest-gpe-image.bb b/recipes/images/sectest-gpe-image.bb
new file mode 100644
index 0000000000..6249afa8cc
--- /dev/null
+++ b/recipes/images/sectest-gpe-image.bb
@@ -0,0 +1,30 @@
+GPE_EXTRA_THEMES = "\
+ gtk-theme-industrial \
+ gtk-industrial-engine \
+ matchbox-themes-extra-industrial"
+
+GPE_EXTRA_INSTALL_none = ""
+GPE_EXTRA_INSTALL_smallscreen = "${GPE_EXTRA_THEMES}"
+GPE_EXTRA_INSTALL_bigscreen = "minimo gpe-task-games ${GPE_EXTRA_THEMES}"
+#GPE_EXTRA_INSTALL_bigscreen = "firefox linphone"
+
+GUI_MACHINE_CLASS ?= "none"
+GPE_EXTRA_INSTALL += "${GPE_EXTRA_INSTALL_${GUI_MACHINE_CLASS}}"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-gpe"
+
+IMAGE_INSTALL = "\
+ ${MACHINE_TASK_PROVIDER} \
+ gpe-task-base \
+ gpe-task-pim \
+ gpe-task-settings \
+ gpe-task-sectest \
+ ${XSERVER} \
+ ${GPE_EXTRA_INSTALL}"
+
+ROOTFS_POSTPROCESS_COMMAND += "zap_root_password; "
+
+inherit image
+
diff --git a/recipes/images/slugos-image.bb b/recipes/images/slugos-image.bb
new file mode 100644
index 0000000000..56abc3d39f
--- /dev/null
+++ b/recipes/images/slugos-image.bb
@@ -0,0 +1,35 @@
+# 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).
+#
+DESCRIPTION = "Generic SlugOS image"
+HOMEPAGE = "http://www.nslu2-linux.org"
+
+DEPENDS = "task-slugos"
+IMAGE_INSTALL = "task-slugos"
+
+COMPATIBLE_MACHINE = "nslu2|ixp4xx"
+
+IMAGE_NAME = "${IMAGE_BASENAME}-${DISTRO_VERSION}"
+IMAGE_FSTYPES = "jffs2 tar.gz"
+EXTRA_IMAGECMD_jffs2 += " -D ${SLUGOS_DEVICE_TABLE}"
+IMAGE_LINGUAS = ""
+
+# Setting USE_DEVFS prevents *any* entries being created initially
+# in /dev
+USE_DEVFS = "1"
+
+# This is passed to the image command to build the correct /dev
+# directory (because only the image program can make actual
+# dev entries!)
+SLUGOS_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-slugos.txt')}"
+
+# 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*;"
+IMAGE_PREPROCESS_COMMAND += "install -c -m 644 ${SLUGOS_DEVICE_TABLE} ${IMAGE_ROOTFS}/etc/device_table;"
+
+inherit image nslu2-image
diff --git a/recipes/images/sugar-image.bb b/recipes/images/sugar-image.bb
new file mode 100644
index 0000000000..4dbc1671af
--- /dev/null
+++ b/recipes/images/sugar-image.bb
@@ -0,0 +1,20 @@
+XSERVER ?= "xserver-kdrive-fbdev"
+
+export IMAGE_BASENAME = "sugar-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-base-extended \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ sugar-sucrose \
+ ${ANGSTROM_EXTRA_INSTALL}"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/twin-image.bb b/recipes/images/twin-image.bb
new file mode 100644
index 0000000000..56677f5dda
--- /dev/null
+++ b/recipes/images/twin-image.bb
@@ -0,0 +1,16 @@
+DEPENDS = '${MACHINE_TASK_PROVIDER} \
+ twin \
+ orpheus \
+ nano \
+ vim \
+ mutt'
+
+IMAGE_INSTALL = '\
+ ${MACHINE_TASK_PROVIDER} \
+ twin \
+ orpheus \
+ nano \
+ vim \
+ mutt'
+
+inherit image
diff --git a/recipes/images/udumpty-image.bb b/recipes/images/udumpty-image.bb
new file mode 100644
index 0000000000..c55381ed30
--- /dev/null
+++ b/recipes/images/udumpty-image.bb
@@ -0,0 +1,53 @@
+# Image that mimics the default desktop of a certain distro
+
+XSERVER ?= "xserver-xorg \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-video-fbdev \
+ xf86-input-keyboard \
+"
+
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+
+export IMAGE_BASENAME = "Udumpty-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-base-extended \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ ${ANGSTROM_EXTRA_INSTALL} \
+ angstrom-zeroconf-audio \
+ angstrom-led-config \
+ gpe-scap \
+ psplash \
+ metacity \
+ xterm \
+ epiphany \
+ swfdec-mozilla \
+ hicolor-icon-theme gnome-icon-theme \
+ abiword \
+ gnumeric \
+ gimp \
+ powertop oprofile \
+ pidgin \
+ totem mplayer omapfbplay \
+ gnome-games \
+ rt73-firmware zd1211-firmware \
+ synergy \
+ x11vnc \
+ angstrom-gnome-icon-theme-enable \
+ gnome-panel \
+ gnome-control-center \
+ gnome-settings-daemon \
+ gnome-session \
+"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/uml-image.bb b/recipes/images/uml-image.bb
new file mode 100644
index 0000000000..9255c8c08a
--- /dev/null
+++ b/recipes/images/uml-image.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "A rootfs for User-Mode-Linux"
+
+OPIE_LIBS = "qte qpf-bitstream-vera libqpe-opie libopie2"
+OPIE_BASE = "opie-qcop opie-quicklauncher opie-taskbar"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER}"
+IMAGE_INSTALL = "${DEPENDS}"
+
+inherit image
+
diff --git a/recipes/images/unslung-image.bb b/recipes/images/unslung-image.bb
new file mode 100644
index 0000000000..9ac4140a14
--- /dev/null
+++ b/recipes/images/unslung-image.bb
@@ -0,0 +1,111 @@
+COMPATIBLE_MACHINE = "nslu2"
+
+IMAGE_BASENAME = "unslung"
+IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DISTRO_VERSION}"
+
+IMAGE_LINGUAS = ""
+USE_DEVFS = "1"
+
+DEPENDS = "virtual/kernel \
+ ${UNSLUNG_EXTRA_DEPENDS}"
+
+IMAGE_INSTALL = "kernel update-modules unslung-rootfs \
+ libc6-unslung slingbox ipkg libipkg libgcc \
+ kernel-module-netconsole \
+ ${UNSLUNG_EXTRA_INSTALL}"
+
+IMAGE_PREPROCESS_COMMAND += "unslung_clean_image; "
+
+inherit image
+
+# Note that anything in this function must be repeatable without having to rebuild the rootfs
+unslung_clean_image () {
+
+ # Remove the patches
+ rm -rf ${IMAGE_ROOTFS}/patches
+
+ # Remove the kernel image
+ rm -rf ${IMAGE_ROOTFS}/boot
+ rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/alternatives/zImage
+ # And remove the post and pre scripts for the kernel; saves flash space
+ rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/info/kernel.postinst
+ rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/info/kernel.postrm
+
+ # Remove all the postinst scripts; don't need them. But keep the
+ # postrm scripts just in case we need to remove something.
+ rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/info/*.postinst
+
+ # Remove info from the local feed used to build the image
+ rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/lists/*
+ rm -f ${IMAGE_ROOTFS}/${sysconfdir}/version
+
+ # Tidy up some thing which are in the wrong place
+ mv ${IMAGE_ROOTFS}${libdir}/libipkg* ${IMAGE_ROOTFS}/lib/
+
+ # Remove the ipkg symlink - unsling puts it back in
+ rm -f ${IMAGE_ROOTFS}${bindir}/ipkg
+ # and make the ipkg symlink point to the ipkg-fl utility instead.
+ ln -s ipkg-fl ${IMAGE_ROOTFS}${bindir}/ipkg
+
+ # Hack out the modutils stuff - it's too hard to make it work
+ rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/info/update-modules.postinst
+ rm -rf ${IMAGE_ROOTFS}/etc/rcS.d
+ echo "#!/bin/sh" > ${IMAGE_ROOTFS}/usr/sbin/update-modules
+ echo "exit 0" >> ${IMAGE_ROOTFS}/usr/sbin/update-modules
+ chmod ugo+x ${IMAGE_ROOTFS}/usr/sbin/update-modules
+ echo "#!/bin/sh" > ${IMAGE_ROOTFS}/sbin/depmod
+ echo "exit 0" >> ${IMAGE_ROOTFS}/sbin/depmod
+ chmod ugo+x ${IMAGE_ROOTFS}/sbin/depmod
+
+ # Don't need this empty directory hanging around
+ rm -rf ${IMAGE_ROOTFS}/lib/modules/2.4.22-xfs/pcmcia
+
+ # Strip symbols and fix permissions on the libgcc_s.so.1 library
+ ${STRIP} ${IMAGE_ROOTFS}/lib/libgcc_s.so.1
+ chmod ugo+x ${IMAGE_ROOTFS}/lib/libgcc_s.so.1
+
+ # FIXME: change made 24 Jul 2006 by the OE folks changes the "strip"
+ # behavior to create an extra file named .debug/<filename> containing
+ # the stripped symbols. These files are supposed to be packaged
+ # separately by the standard bb routines, but for some reason this
+ # does not alway occur. This extremely ugly step is to remove the
+ # debug cruft from the rootfs if any are left in the obvious locations.
+ # Once someone figures out why and what the right way is to fix this,
+ # this code should be removed.
+
+ rm -rf ${IMAGE_ROOTFS}/bin/.debug
+ rm -rf ${IMAGE_ROOTFS}/sbin/.debug
+ rm -rf ${IMAGE_ROOTFS}/lib/.debug
+ rm -rf ${IMAGE_ROOTFS}/usr/bin/.debug
+ rm -rf ${IMAGE_ROOTFS}/usr/sbin/.debug
+ rm -rf ${IMAGE_ROOTFS}/usr/lib/.debug
+
+# MJW - Experimental - just to make space; remove before releasing!
+# #### Hack to make space for testing! REMOVE THIS!
+# rm -rf ${IMAGE_ROOTFS}/etc/samba/codepages/unicode_map.850
+# rm -rf ${IMAGE_ROOTFS}/bin/ftp
+# #### End of Hack!
+
+}
+
+
+# Override this function for unslung, since we don't need Apex.
+
+nslu2_pack_image () {
+ slugimage -p \
+ -b ${STAGING_LIBDIR}/nslu2-binaries/RedBoot \
+ -s ${STAGING_LIBDIR}/nslu2-binaries/SysConf \
+ -k ${DEPLOY_DIR_IMAGE}/zImage-${MACHINE}.bin \
+ -r Ramdisk:1,Flashdisk:${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ -m ${STAGING_FIRMWARE_DIR}/NPE-B \
+ -t ${STAGING_LIBDIR}/nslu2-binaries/Trailer \
+ -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-nslu2.bin
+ slugimage -F -p \
+ -b ${STAGING_LIBDIR}/nslu2-binaries/RedBoot \
+ -s ${STAGING_LIBDIR}/nslu2-binaries/SysConf \
+ -k ${DEPLOY_DIR_IMAGE}/zImage-${MACHINE}.bin \
+ -r Ramdisk:1,Flashdisk:${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ -m ${STAGING_FIRMWARE_DIR}/NPE-B \
+ -t ${STAGING_LIBDIR}/nslu2-binaries/Trailer \
+ -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-nslu2-16mb.bin
+}
diff --git a/recipes/images/x11-gpe-image.bb b/recipes/images/x11-gpe-image.bb
new file mode 100644
index 0000000000..7b272f60a1
--- /dev/null
+++ b/recipes/images/x11-gpe-image.bb
@@ -0,0 +1,27 @@
+#Angstrom X11 image, with apps and kernel modules included
+
+ANGSTROM_EXTRA_INSTALL += " \
+ "
+XSERVER ?= "xserver-kdrive-fbdev"
+
+export IMAGE_BASENAME = "x11-gpe-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-base-extended \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ kernel-modules \
+ hal \
+ angstrom-gpe-task-pim \
+ ${ANGSTROM_EXTRA_INSTALL}"
+
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/x11-gpe-java-image.bb b/recipes/images/x11-gpe-java-image.bb
new file mode 100644
index 0000000000..fcc022c7a0
--- /dev/null
+++ b/recipes/images/x11-gpe-java-image.bb
@@ -0,0 +1,28 @@
+#Angstrom X11 image, with apps and kernel modules included
+
+ANGSTROM_EXTRA_INSTALL += " \
+ "
+XSERVER ?= "xserver-kdrive-fbdev"
+
+export IMAGE_BASENAME = "x11-gpe-java-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-base-extended \
+ task-java \
+ task-java-gtk \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ kernel-modules \
+ hal \
+ angstrom-gpe-task-pim \
+ ${ANGSTROM_EXTRA_INSTALL}"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/x11-image.bb b/recipes/images/x11-image.bb
new file mode 100644
index 0000000000..093e0c5b6d
--- /dev/null
+++ b/recipes/images/x11-image.bb
@@ -0,0 +1,22 @@
+#Angstrom X11 image
+
+ANGSTROM_EXTRA_INSTALL ?= ""
+XSERVER ?= "xserver-kdrive-fbdev"
+
+export IMAGE_BASENAME = "x11-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-base-extended \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ ${ANGSTROM_EXTRA_INSTALL}"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/x11-office-image.bb b/recipes/images/x11-office-image.bb
new file mode 100644
index 0000000000..48799d8998
--- /dev/null
+++ b/recipes/images/x11-office-image.bb
@@ -0,0 +1,31 @@
+#Angstrom X11 image, with apps and kernel modules included
+
+ANGSTROM_EXTRA_INSTALL += " \
+ "
+XSERVER ?= "xserver-kdrive-fbdev"
+
+export IMAGE_BASENAME = "x11-office-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-base-extended \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ kernel-modules \
+ hal \
+ abiword \
+ gnumeric \
+ cups \
+ claws-mail claws-mail claws-plugin-mailmbox claws-plugin-rssyl \
+ midori minimo \
+ gphoto2 \
+ ${ANGSTROM_EXTRA_INSTALL}"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/x11-pimlico-image.bb b/recipes/images/x11-pimlico-image.bb
new file mode 100644
index 0000000000..79dcacce6e
--- /dev/null
+++ b/recipes/images/x11-pimlico-image.bb
@@ -0,0 +1,26 @@
+#Angstrom X11 image, with apps and kernel modules included
+
+ANGSTROM_EXTRA_INSTALL += " \
+ "
+XSERVER ?= "xserver-kdrive-fbdev"
+
+export IMAGE_BASENAME = "x11-pimlico-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-base-extended \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ kernel-modules \
+ hal \
+ angstrom-ohand-task-pim \
+ ${ANGSTROM_EXTRA_INSTALL}"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+
+inherit image
diff --git a/recipes/images/x11-sato-image.bb b/recipes/images/x11-sato-image.bb
new file mode 100644
index 0000000000..0a127f85cf
--- /dev/null
+++ b/recipes/images/x11-sato-image.bb
@@ -0,0 +1,33 @@
+DISTRO_SSH_DAEMON ?= "dropbear"
+DISTRO_PACKAGE_MANAGER ?= "opkg-nogpg opkg-collateral"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+IMAGE_INSTALL = "\
+ task-base-extended \
+ ${DISTRO_SSH_DAEMON} \
+ ${DISTRO_PACKAGE_MANAGER} \
+ pointercal \
+ matchbox-wm \
+ matchbox-keyboard matchbox-keyboard-applet matchbox-keyboard-im \
+ matchbox-desktop \
+ ${XSERVER} \
+ xserver-kdrive-common xserver-nodm-init \
+ ttf-liberation-sans ttf-liberation-serif ttf-liberation-mono \
+ xauth xhost xset xrandr \
+ matchbox-sato \
+ matchbox-config-gtk \
+ matchbox-themes-gtk \
+ matchbox-applet-startup-monitor \
+ xcursor-transparent-theme \
+ sato-icon-theme \
+ settings-daemon \
+"
+
+export IMAGE_BASENAME = "${PN}"
+IMAGE_LINGUAS = ""
+
+inherit image
+
diff --git a/recipes/images/xfce-image.bb b/recipes/images/xfce-image.bb
new file mode 100644
index 0000000000..70c183c897
--- /dev/null
+++ b/recipes/images/xfce-image.bb
@@ -0,0 +1,16 @@
+export IMAGE_BASENAME = "xfce-image"
+
+IMAGE_LINGUAS = ""
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+X_DEPENDS = "virtual/xserver"
+X_RDEPENDS = "${XSERVER}"
+
+XFCE_DEPENDS = "${MACHINE_TASK_PROVIDER} task-xfce-base"
+XFCE_RDEPENDS = "${XFCE_DEPENDS}"
+
+IMAGE_INSTALL = "${X_RDEPENDS} ${XFCE_RDEPENDS}"
+DEPENDS = "${X_DEPENDS} ${XFCE_DEPENDS}"
+
+inherit image
diff --git a/recipes/images/xorg-image.bb b/recipes/images/xorg-image.bb
new file mode 100644
index 0000000000..be37f6028b
--- /dev/null
+++ b/recipes/images/xorg-image.bb
@@ -0,0 +1,8 @@
+XSERVER = "xserver-xorg \
+ xf86-input-evdev \
+ xf86-input-tslib \
+ xf86-video-fbdev "
+
+require x11-image.bb
+
+export IMAGE_BASENAME = "xorg-image"
diff --git a/recipes/images/xterminal-image.bb b/recipes/images/xterminal-image.bb
new file mode 100644
index 0000000000..726fbf7421
--- /dev/null
+++ b/recipes/images/xterminal-image.bb
@@ -0,0 +1,10 @@
+export IMAGE_BASENAME = "xterminal-image"
+
+IMAGE_LINGUAS = ""
+
+XTERMINAL_PACKAGES = "${MACHINE_TASK_PROVIDER} task-xterminal"
+
+IMAGE_INSTALL = "${XTERMINAL_PACKAGES}"
+DEPENDS = "${XTERMINAL_PACKAGES}"
+
+inherit image