kaeilos: first attempt to make new Angstrom based distro
authorMarcin Juszkiewicz <hrw@koansoftware.com>
Tue, 16 Dec 2008 11:28:07 +0000 (12:28 +0100)
committerMarcin Juszkiewicz <hrw@koansoftware.com>
Thu, 12 Feb 2009 13:00:23 +0000 (14:00 +0100)
conf/distro/include/kaeilos.inc [new file with mode: 0644]
conf/distro/kaeilos.conf [new file with mode: 0644]

diff --git a/conf/distro/include/kaeilos.inc b/conf/distro/include/kaeilos.inc
new file mode 100644 (file)
index 0000000..6d5ceb8
--- /dev/null
@@ -0,0 +1,292 @@
+#@TYPE: Distribution
+#@NAME: KaeilOS 
+#@DESCRIPTION: Release independent distribution configuration for KaeilOS 
+#@MAINTAINER: Marco Cavallini <m.cavallini@koansoftware.com>
+# KaeilOS is a registered trade mark of KOAN - Bergamo - Italia
+# Product website : http://www.KaeilOS.com 
+
+# Preserve original DISTRO value
+USERDISTRO := "${DISTRO}"
+DISTRO = "kaeilos"
+DISTRO_NAME = "KaeilOS"
+
+TARGET_VENDOR = "-kaeilos"
+
+# Add FEED_ARCH to overrides
+OVERRIDES .= ":${FEED_ARCH}"
+
+# Put links to sources in deploy/sources to make it easier for people to be GPL compliant
+SRC_DIST_LOCAL ?= "symlink"
+INHERIT += "src_distribute_local"
+
+# Can be "glibc", "eglibc" or "uclibc"
+ANGSTROMLIBC ?= "glibc"
+PSTAGE_EXTRAPATH = "${ANGSTROMLIBC}"
+
+CACHE = "${TMPDIR}/cache/${ANGSTROMLIBC}/${MACHINE}"
+DEPLOY_DIR = "${TMPDIR}/deploy/${ANGSTROMLIBC}"
+require conf/distro/include/angstrom-${ANGSTROMLIBC}.inc
+
+# ARM920T and up can use thumb mode to decrease binary size at the expense of speed
+# (the complete story is a bit more nuanced due to cache starvation)
+# KaeilOS turns on thumb for armv4t machine according to this RFC:
+# http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2008-October/002714.html
+
+# We can't do ARM_INSTRUCTION_SET_armv4t since that will un-overridable in recipes like gcc
+ANGSTROM_ARM_INSTRUCTION_SET ?= "arm"
+ANGSTROM_ARM_INSTRUCTION_SET_armv4t = "thumb"
+ANGSTROM_ARM_INSTRUCTION_SET_armv5te = "thumb"
+
+
+ARM_INSTRUCTION_SET = "${ANGSTROM_ARM_INSTRUCTION_SET}"
+# "arm" "thumb"
+#    The instruction set the compiler should use when generating application
+#    code.  The kernel is always compiled with arm code at present.  arm code
+#    is the original 32 bit ARM instruction set, thumb code is the 16 bit
+#    encoded RISC sub-set.  Thumb code is smaller (maybe 70% of the ARM size)
+#    but requires more instructions (140% for 70% smaller code) so may be
+#    slower.
+
+THUMB_INTERWORK = "yes"
+# "yes" "no"
+#    Whether to compile with code to allow interworking between the two
+#    instruction sets.  This allows thumb code to be executed on a primarily
+#    arm system and vice versa.  It is strongly recommended that DISTROs not
+#    turn this off - the actual cost is very small.
+
+
+#Use this variable in feeds and other parts that need a URI
+ANGSTROM_URI ?= "http://www.angstrom-distribution.org"
+
+#Use this variable to select which recipe you want to use to get feed configs (/etc/ipkg/, /etc/apt/sources.list)
+# usefull for derivative distros and local testing
+# As this is runtime we can't and won't use virtual/feed-configs
+ANGSTROM_FEED_CONFIGS ?= "angstrom-feed-configs"
+
+#Set the default maintainer to angstrom-dev
+MAINTAINER = "KaeilOS Developers <info@koansoftware.com>"
+
+#use debian style naming
+INHERIT += "debian"
+
+#activate config checker
+INHERIT += "sanity" 
+
+#make devshell available as task
+INHERIT += "devshell" 
+
+#use angstrom source mirrors to combat 404s
+INHERIT += "angstrom-mirrors" 
+
+#run QA tests on builds and packages and log them  
+INHERIT += "insane"
+QA_LOG = "1"
+
+ANGSTROM_PKG_FORMAT ?= "ipk"
+require conf/distro/include/angstrom-package-${ANGSTROM_PKG_FORMAT}.inc
+
+# We don't want to keep OABI compat
+ARM_KEEP_OABI = "0"
+
+#Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable
+PREFERRED_PROVIDER_qemu-native = "qemu-native"
+ENABLE_BINARY_LOCALE_GENERATION ?= "1"
+
+# We only want to build UTF8 locales
+LOCALE_UTF8_ONLY = "1"
+
+#qemu doesn't like armv6/eabi/vfp
+ENABLE_BINARY_LOCALE_GENERATION_armv7a = "0"
+
+#qemu has taken a dislike to armeb as well
+ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
+
+#ARM EABI is softfloat by default, but let's make sure :)
+#make it overridable for platforms with FPU, like ep93xx or i.mx31
+TARGET_FPU_arm ?= "soft"
+TARGET_FPU_armeb ?= "soft"
+TARGET_FPU_ixp4xx ?= "soft"
+TARGET_FPU_ppc405 ?= "soft"
+
+TARGET_FPU_armv6 ?= "hard"
+TARGET_FPU_armv6-novfp ?= "soft"
+TARGET_FPU_armv7a ?= "hard"
+TARGET_FPU_ppc603e ?= "hard"
+
+# webkit-gtk and cairo have alignment issues with double instructions on armv5 so
+# disable them here
+TARGET_CC_ARCH_pn-webkit-gtk_armv5te = "-march=armv4t"
+TARGET_CC_ARCH_pn-cairo_armv5te = "-march=armv4t"
+
+#Set the right arch for the feeds
+#Alphabetically sorted
+
+FEED_ARCH ?= "${TARGET_ARCH}"
+
+#blackfin machines
+FEED_ARCH_bfin          = "blackfin"
+
+#armv4t machines
+
+FEED_ARCH_acern30      = "armv4t"
+FEED_ARCH_amsdelta     = "armv4t"
+FEED_ARCH_ep93xx       = "armv4t"
+FEED_ARCH_eteng500     = "armv4t"
+FEED_ARCH_om-gta01     = "armv4t"
+FEED_ARCH_om-gta02     = "armv4t"
+FEED_ARCH_h1940        = "armv4t"
+FEED_ARCH_h6300        = "armv4t"
+FEED_ARCH_kb9202       = "armv4t"
+FEED_ARCH_ks8695       = "armv4t"
+FEED_ARCH_rx1950       = "armv4t"
+FEED_ARCH_rx3000       = "armv4t"
+FEED_ARCH_sarge-at91   = "armv4t"
+FEED_ARCH_smdk2440     = "armv4t"
+FEED_ARCH_smdk2443     = "armv4t"
+
+#armv5t machines
+
+FEED_ARCH_a1200        = "armv5te"
+FEED_ARCH_a780                 = "armv5te"
+FEED_ARCH_akita        = "armv5te"
+FEED_ARCH_asus620      = "armv5te"
+FEED_ARCH_asus730      = "armv5te"
+FEED_ARCH_at91sam9263ek = "armv5te"
+FEED_ARCH_aximx50      = "armv5te"
+FEED_ARCH_aximx50v     = "armv5te"
+FEED_ARCH_c7x0                 = "armv5te"
+FEED_ARCH_compulab-pxa270 = "armv5te"
+FEED_ARCH_davinci-dvevm = "armv5te"
+FEED_ARCH_devkitidp-pxa255 = "armv5te"
+FEED_ARCH_e680                 = "armv5te"
+FEED_ARCH_er0100       = "armv5te"
+FEED_ARCH_gumstix      = "armv5te"
+FEED_ARCH_gumstix-verdex = "armv5te"
+FEED_ARCH_gumstix-connex = "armv5te"
+FEED_ARCH_h1910        = "armv5te"
+FEED_ARCH_h2200        = "armv5te"
+FEED_ARCH_h3900        = "armv5te"
+FEED_ARCH_h4000        = "armv5te"
+FEED_ARCH_h5000        = "armv5te"
+FEED_ARCH_htcalpine    = "armv5te"
+FEED_ARCH_htcapache    = "armv5te"
+FEED_ARCH_htcblueangel         = "armv5te"
+FEED_ARCH_htchimalaya  = "armv5te"
+FEED_ARCH_htcsable     = "armv5te"
+FEED_ARCH_htctornado   = "armv5te"
+FEED_ARCH_htcuniversal         = "armv5te"
+FEED_ARCH_hx2000       = "armv5te"
+FEED_ARCH_hx4700       = "armv5te"
+FEED_ARCH_ixp4xxle     = "armv5te"
+FEED_ARCH_logicpd-pxa270 = "armv5te"
+FEED_ARCH_looxc550     = "armv5te"
+FEED_ARCH_lsarm        = "armv5te"
+FEED_ARCH_magician     = "armv5te"
+FEED_ARCH_mainstone    = "armv5te"
+FEED_ARCH_mnci                 = "armv5te"
+FEED_ARCH_mtx-3        = "armv5te"
+FEED_ARCH_mx21ads      = "armv5te"
+FEED_ARCH_n2100        = "armv5te"
+FEED_ARCH_navman-icn330 = "armv5te"
+FEED_ARCH_netbook-pro  = "armv5te"
+FEED_ARCH_nokia770     = "armv5te"
+FEED_ARCH_rokre2       = "armv5te"
+FEED_ARCH_nslu2le      = "armv5te"
+FEED_ARCH_omap1510inn  = "armv5te"
+FEED_ARCH_omap1610h2   = "armv5te"
+FEED_ARCH_omap1710h3   = "armv5te"
+FEED_ARCH_omap5912osk  = "armv5te"
+FEED_ARCH_palmld       = "armv5te"
+FEED_ARCH_palmt650     = "armv5te"
+FEED_ARCH_palmt680     = "armv5te"
+FEED_ARCH_palmtc       = "armv5te"
+FEED_ARCH_palmtt       = "armv5te"
+FEED_ARCH_palmtt3      = "armv5te"
+FEED_ARCH_palmtt5      = "armv5te"
+FEED_ARCH_palmtx       = "armv5te"
+FEED_ARCH_palmz31      = "armv5te"
+FEED_ARCH_palmz71      = "armv5te"
+FEED_ARCH_palmz72      = "armv5te"
+FEED_ARCH_poodle       = "armv5te"
+FEED_ARCH_qemuarm      = "armv5te"
+FEED_ARCH_spitz        = "armv5te"
+FEED_ARCH_tosa                 = "armv5te"
+FEED_ARCH_triton       = "armv5te"
+
+FEED_ARCH_ixp4xxbe     = "armv5teb"
+FEED_ARCH_nslu2be      = "armv5teb"
+
+# armv6
+
+FEED_ARCH_mx31ads      = "armv6"
+FEED_ARCH_mx31moboard  = "armv6"
+FEED_ARCH_nokia800     = "armv6"  
+FEED_ARCH_omap2420h4   = "armv6"
+FEED_ARCH_omap2430sdp   = "armv6"
+
+#i486 machines
+FEED_ARCH_geodegx      = "i486"
+FEED_ARCH_geodelx      = "i486"
+FEED_ARCH_netvista     = "i486"
+FEED_ARCH_wrap                 = "i486"
+FEED_ARCH_x86          = "i486"
+
+#i586 machines
+FEED_ARCH_epia                 = "i586"
+FEED_ARCH_i586-generic         = "i586"
+FEED_ARCH_qemux86      = "i586"
+
+#i686 machines
+
+FEED_ARCH_alix                 = "i686"
+FEED_ARCH_colinux      = "i686"
+FEED_ARCH_guinness     = "i686"
+FEED_ARCH_i686-generic         = "i686"
+FEED_ARCH_progear      = "i686"
+
+#powerpc machines
+
+FEED_ARCH_dht-walnut   = "ppc405"
+FEED_ARCH_magicbox     = "ppc405"
+FEED_ARCH_xilinx-ml403         = "ppc405"
+FEED_ARCH_xilinx-ml410         = "ppc405"
+FEED_ARCH_sequoia      = "ppc440e"
+FEED_ARCH_efika        = "ppc603e"
+FEED_ARCH_lite5200     = "ppc603e"
+FEED_ARCH_lsppchd      = "ppc603e"
+FEED_ARCH_lsppchg      = "ppc603e"
+FEED_ARCH_storcenter   = "ppc603e"
+FEED_ARCH_turbostation         = "ppc603e"
+FEED_ARCH_mpc8313e-rdb         = "ppce300c3"
+FEED_ARCH_mpc8323e-rdb         = "ppce300c2"
+
+
+#strongarm machines, no EABI
+
+FEED_ARCH_collie       = "arm-oabi"
+FEED_ARCH_h3600        = "arm-oabi"
+FEED_ARCH_h3800        = "arm-oabi"
+FEED_ARCH_htcwallaby   = "arm-oabi"
+FEED_ARCH_jornada56x   = "arm-oabi"
+FEED_ARCH_jornada7xx   = "arm-oabi"
+FEED_ARCH_shark        = "arm-oabi"
+FEED_ARCH_simpad       = "arm-oabi"
+
+
+#Tweak packaging for strongarm machines since they can't use EABI
+
+PACKAGE_EXTRA_ARCHS_collie = "arm-oabi"
+PACKAGE_EXTRA_ARCHS_h3600  = "arm-oabi"
+PACKAGE_EXTRA_ARCHS_h3800  = "arm-oabi"
+PACKAGE_EXTRA_ARCHS_simpad = "arm-oabi"
+PACKAGE_EXTRA_ARCHS_htcwallaby = "arm-oabi"
+
+
+#Name the generated images in a sane way
+IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${ANGSTROMLIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
+DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
+
+# KaeilOS *always* has some form of release config, so error out if someone thinks he knows better 
+DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}"
+
+# We want images supporting the following features (for task-base)
diff --git a/conf/distro/kaeilos.conf b/conf/distro/kaeilos.conf
new file mode 100644 (file)
index 0000000..4f112d7
--- /dev/null
@@ -0,0 +1,184 @@
+#@--------------------------------------------------------------------
+#@TYPE: Distribution
+#@NAME: KaeilOS 
+#@DESCRIPTION: KaeilOS Linux Distribution for Kernel 2.6 based devices
+#@MAINTAINER: Marco Cavallini <m.cavallini@koansoftware.com>
+#@--------------------------------------------------------------------
+
+#DISTRO_VERSION = "2008.1"
+DISTRO_VERSION = "2008.1-test-${DATE}"
+DISTRO_REVISION = "1"
+DISTRO_PR = ".1"
+
+#build staging from packages
+INHERIT += "packaged-staging"
+
+require conf/distro/include/sane-srcdates.inc
+require conf/distro/include/sane-srcrevs.inc
+require conf/distro/include/angstrom-2008-preferred-versions.inc
+require conf/distro/include/preferred-opie-versions-1.2.4.inc
+
+#Images built can have to modes:
+# 'debug': empty rootpassword, strace included
+# 'release' no root password, no strace and gdb by default
+DISTRO_TYPE ?= "debug"
+#DISTRO_TYPE = "release"
+
+# Ship just basic locale by default. Locales are big (~1Mb uncompr.), so
+# shipping some adhoc subset will be still useless and size burden for
+# users of all other languages/countries. Instead, worth to make it easy
+# to install additional languages: installer/wizard + metapackages which
+# will RRECOMMEND as much as possible content for a given language
+# (locales, UI transalations, help, etc. - useless for pros, but really 
+# helpful for common users).
+# Also, it appears that no locales fit in 16Mb for now. "C" locale rules!
+IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d)}'
+
+
+# set feed path variables
+FEED_BASEPATH = "feeds/2008/${ANGSTROM_PKG_FORMAT}/${ANGSTROMLIBC}/"
+
+
+#The angstrom-mirrors.bbclass should have everything, but we can use this as a fallback
+CVS_TARBALL_STASH ?= "\
+             http://www.angstrom-distribution.org/unstable/sources/ \
+            "
+
+PCMCIA_MANAGER = "pcmciautils"
+
+#This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
+PREFERRED_VERSION_linux-libc-headers    = "2.6.23"
+
+#Prefer glibc 2.6 and uclibc 0.9.30, these have had the most testing.
+PREFERRED_VERSION_glibc         ?= "2.6.1"
+PREFERRED_VERSION_glibc-initial     ?= "2.6.1"
+PREFERRED_VERSION_uclibc            ?= "0.9.30"
+PREFERRED_VERSION_uclibc-initial    ?= "0.9.30"
+
+PREFERRED_PROVIDER_avahi = "avahi"
+
+#Small machines prefer kdrive, but we might ship full Xorg in other images
+PREFERRED_PROVIDER_virtual/xserver  ?= "xserver-kdrive"
+PREFERRED_PROVIDER_xserver          ?= "xserver-kdrive"
+
+#powerpc needs additional patches to gcc
+ANGSTROM_GCC_VERSION_ppc405         ?= "4.1.1"
+ANGSTROM_GCC_VERSION_xilinx-ml403   ?= "4.1.1"
+ANGSTROM_GCC_VERSION_xilinx-ml403   ?= "4.1.1"
+
+# Blackfin has its own gcc
+ANGSTROM_GCC_VERSION_bfin           = "4.1.2"
+
+#for proper NEON support we need a CSL toolchain 
+#ANGSTROM_GCC_VERSION_armv7a         = "4.2.1+csl-arm-2007q3-53"
+ANGSTROM_GCC_VERSION_armv7a     = "4.3.1" 
+
+#Horrible workaround for armv7a follows:
+# gcc 4.3.1 builds a kernel that oopses with a null-pointer in the rcu-update function
+# gcc 4.2.1 (the one from *gasp* csl) builds a working kernel, but non-working userspace
+
+KERNEL_CCSUFFIX_armv7a= "-4.2.1+csl-arm-2007q3-53"
+
+#avr32 only has support for gcc 4.2.2
+ANGSTROM_GCC_VERSION_avr32      ?= "4.2.2"
+
+#Everybody else can just use this: 
+ANGSTROM_GCC_VERSION            ?= "4.2.4"
+PREFERRED_VERSION_binutils              ?= "2.18.50.0.7"
+PREFERRED_VERSION_binutils-cross        ?= "2.18.50.0.7"
+PREFERRED_VERSION_binutils-cross-sdk    ?= "2.18.50.0.7"
+
+PREFERRED_VERSION_gcc                    ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross              ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-sdk          ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-initial      ?= "${ANGSTROM_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "${ANGSTROM_GCC_VERSION}"
+
+#Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom
+require conf/distro/include/preferred-e-versions.inc
+require conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
+require conf/distro/include/preferred-xorg-versions-X11R7.4.inc
+
+#avr32 only has patches for binutils 2.17 in OE
+PREFERRED_VERSION_binutils_avr32 = "2.17"
+PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
+PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17"
+
+# Virtuals:
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
+
+# hostap stuff, we prefer the in-kernel modules, but those don't work for all machines
+PREFERRED_PROVIDER_hostap-conf                      ?= "hostap-conf"
+
+PREFERRED_PROVIDER_virtual/db           ?= "db"
+PREFERRED_PROVIDER_virtual/db-native    ?= "db-native"
+PREFERRED_PROVIDER_virtual/libsdl       ?= "libsdl-x11"
+PREFERRED_PROVIDER_virtual/libx11       ?= "libx11"
+PREFERRED_PROVIDER_virtual/libxine      ?= "libxine-x11"
+PREFERRED_PROVIDER_virtual/xserver      ?= "xserver-kdrive"
+
+# Others:
+PREFERRED_PROVIDER_linux-libc-headers     = "linux-libc-headers"
+PREFERRED_PROVIDER_dbus-glib              = "dbus-glib"
+PREFERRED_PROVIDER_esound                ?= "pulseaudio"
+PREFERRED_PROVIDER_gconf                 ?= "gconf-dbus"
+PREFERRED_PROVIDER_gnome-vfs             ?= "gnome-vfs"
+PREFERRED_PROVIDER_gnome-vfs-plugin-file ?= "gnome-vfs"
+PREFERRED_PROVIDER_tslib                 ?= "tslib"
+PREFERRED_PROVIDER_tslib-conf            ?= "tslib"
+PREFERRED_PROVIDER_libgpewidget          ?= "libgpewidget"
+PREFERRED_PROVIDER_ntp                   ?= "ntp"
+PREFERRED_PROVIDER_hotplug                = "udev"
+PREFERRED_PROVIDER_libxss                 = "libxss"
+PREFERRED_PROVIDER_bluez-utils-dbus       = "bluez-utils"
+
+# we don't ship gtk-directfb by default
+PREFERRED_PROVIDER_gtk+                   ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-ani  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-bmpg ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-gif  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-ico  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-jpeg ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-pcx  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-png  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-pnm  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-ras  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-tga  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-wbmp ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-xbm  ?= "gtk+"
+PREFERRED_PROVIDER_gdk-pixbuf-loader-xpm  ?= "gtk+"
+
+#Silence a warning during parsing
+PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap"
+
+require conf/distro/include/kaeilos.inc
+
+# do some task-base stuff here
+
+# We want to ship extra debug utils in the rootfs when doing a debug build 
+DEBUG_APPS ?= ""
+DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps",d)}'
+
+# KaeilOS want to ship some extra stuff. This should be moved into task-base eventually
+# contains ipkg specific stuff as well :(
+DISTRO_EXTRA_RDEPENDS += "\
+    update-modules \
+    ${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \   
+    kaeilos-version \
+    opkg-nogpg opkg-collateral ${ANGSTROM_FEED_CONFIGS} \
+    util-linux-ng-mount util-linux-ng-umount \
+    ${DEBUG_APPS} angstrom-libc-fixup-hack \
+    "
+
+DISTRO_EXTRA_RRECOMMENDS += " \
+    kernel-module-vfat \
+    kernel-module-ext2 \
+    kernel-module-af-packet \
+    avahi-daemon \
+    avahi-autoipd \
+    openssh-sftp-server \
+    "