summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraeme Gregory <dp@xora.org.uk>2010-04-21 11:38:52 +0100
committerGraeme Gregory <dp@xora.org.uk>2010-04-21 11:38:52 +0100
commitd0464c2574021f2276ff4ca1d499a7b907f50932 (patch)
tree9a9a1aadbd37222fa6844aadba1c80a22ad10fc2
parentcb025b960eb52ad834b3df588d8352d071b863b6 (diff)
parent315b6341f641b15a8006fdd04973cce3a76f0e5d (diff)
Merge branch 'org.openembedded.dev' of git+ssh://git.openembedded.org/openembedded into org.openembedded.dev
-rw-r--r--conf/distro/include/kaeilos-2010.inc155
-rw-r--r--conf/distro/kaeilos-2010.conf159
2 files changed, 314 insertions, 0 deletions
diff --git a/conf/distro/include/kaeilos-2010.inc b/conf/distro/include/kaeilos-2010.inc
new file mode 100644
index 0000000000..2fb30ce0f6
--- /dev/null
+++ b/conf/distro/include/kaeilos-2010.inc
@@ -0,0 +1,155 @@
+#@TYPE: Distribution
+#@NAME: kaeilos-2010
+#@DESCRIPTION: Release independent distribution configuration for KaeilOS
+#@MAINTAINER: Marco Cavallini <m.cavallini@koansoftware.com>
+#@VERSION: 21-04-2010
+#
+# 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"
+BUILDNAME = "KaeilOS ${DISTRO_VERSION}"
+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
+INHERIT += "src_distribute_local"
+SRC_DIST_LOCAL ?= "symlink"
+
+# Can be "glibc", "eglibc" or "uclibc"
+KAEILOSLIBC ?= "eglibc"
+LIBC ?= "${KAEILOSLIBC}"
+PSTAGE_EXTRAPATH = "${LIBC}"
+
+CACHE = "${TMPDIR}/cache/${LIBC}/${MACHINE}"
+DEPLOY_DIR = "${TMPDIR}/deploy/${LIBC}"
+require conf/distro/include/angstrom-${LIBC}.inc
+
+ARM_INSTRUCTION_SET = "arm"
+THUMB_INTERWORK = "yes"
+
+#Use this variable in feeds and other parts that need a URI
+KAEILOS_URI ?= "http://www.kaeilos.com"
+
+#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
+DISTRO_FEED_CONFIGS = "kaeilos-feed-configs"
+
+#Set the default maintainer of kaeilos
+MAINTAINER = "KaeilOS Mantainer <m.cavallini@koansoftware.com>"
+
+#use debian style naming
+INHERIT += "debian"
+
+#activate config checker
+INHERIT += "sanity"
+
+#make devshell available as task
+INHERIT += "devshell"
+
+#run QA tests on builds and packages and log them
+INHERIT += "insane"
+QA_LOG = "1"
+
+#run QA tests on recipes
+INHERIT += "recipe_sanity"
+
+#save statistical info on images
+INHERIT += "testlab"
+
+INHERIT += "package_ipk"
+PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
+PREFERRED_PROVIDER_virtual/update-alternatives ?= ${PREFERRED_PROVIDER_opkg}
+
+# We don't want to keep OABI compat
+ARM_KEEP_OABI = "0"
+# Do keep OABI compat for om-gta01 to keep the gllin binary working
+ARM_KEEP_OABI_pn-linux-openmoko-2.6.24_om-gta01 = "1"
+ARM_KEEP_OABI_pn-linux-openmoko-2.6.28_om-gta01 = "1"
+
+
+#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 this fp
+ENABLE_BINARY_LOCALE_GENERATION_ep9312 = "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_armv6 ?= "hard"
+TARGET_FPU_armv6-novfp ?= "soft"
+TARGET_FPU_armv7a ?= "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 ?= "${BASE_PACKAGE_ARCH}"
+
+#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}-${LIBC}-${PREFERRED_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')}"
+
+# Configuration for tinderbox, so people only need:
+# INHERIT += "tinderclient"
+# in their local.conf
+
+#Name of the client
+TINDER_MACHINE = "${MACHINE}-${LIBC}-build-image"
+
+# Which lof file to write to, which tree to report to
+TINDER_LOG = "${TMPDIR}/tinder.log"
+TINDER_TREE = "KaeilOS"
+
+# Which branch do we build
+TINDER_BRANCH = "org.openembedded.dev"
+
+## Clobbing
+## 0 for rebuilding everything from scratch
+## 1 for incremental builds
+TINDER_CLOBBER = "1"
+
+## Do a report at all
+TINDER_REPORT = "1"
+
+OESTATS_SERVER ?= "tinderbox.openembedded.org"
+
+# We want images supporting the following features (for task-base)
+DISTRO_FEATURES = "nfs wifi alsa bluetooth ext2 vfat pcmcia usbgadget usbhost pci pam"
+
+# Following features are for ARM and E500 based machines
+DISTRO_FEATURES += "eabi"
+
+# Use-like features
+DISTRO_FEATURES += "tk"
+
diff --git a/conf/distro/kaeilos-2010.conf b/conf/distro/kaeilos-2010.conf
new file mode 100644
index 0000000000..4bb637cfa6
--- /dev/null
+++ b/conf/distro/kaeilos-2010.conf
@@ -0,0 +1,159 @@
+#@--------------------------------------------------------------------
+#@TYPE: Distribution
+#@NAME: KaeilOS(R) - http://www.kaeilos.com
+#@DESCRIPTION: KaeilOS Linux Distribution ver.2010
+#@MAINTAINER: Marco Cavallini <m.cavallini@koansoftware.com>
+#@VERSION: 21-04-2010
+#
+# KaeilOS is a registered trade mark of KOAN - Bergamo - Italia
+# Product website : http://www.KaeilOS.com
+#
+# Use this at your own risk, we welcome bugreports filed at
+# http://bugs.openembedded.net
+#@--------------------------------------------------------------------
+
+DISTRO_VERSION = "2010.1-${DATE}"
+DISTRO_REVISION = "1"
+DISTRO_PR = ".1"
+
+OLDEST_KERNEL ?= "2.6.28"
+
+#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/kaeilos-2009-preferred-versions.inc
+require conf/distro/include/preferred-e-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"
+
+# Set the toolchain type (internal, external) and brand (generic, csl etc.)
+TOOLCHAIN_TYPE ?= "internal"
+TOOLCHAIN_BRAND ?= ""
+
+# 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)}'
+
+# increase inode/block ratio for ext2 filesystem
+EXTRA_IMAGECMD_ext2 = "-i 4096"
+
+# set feed path variables
+FEED_BASEPATH = "feeds/unstable/ipk/${LIBC}/"
+
+#Make sure we use 2.6 on machines with a 2.4/2.6 selector
+KERNEL = "kernel26"
+MACHINE_KERNEL_VERSION = "2.6"
+PCMCIA_MANAGER = "pcmciautils"
+
+
+require conf/distro/include/kaeilos-2010.inc
+
+# Select packaging system
+IMAGE_FSTYPES ?= "tar.gz jffs2"
+PREFERRED_PKG_FORMAT = "ipk"
+IPKG_VARIANT = "opkg-nogpg"
+
+
+
+#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.31"
+
+# see into glibc-package.bbclass : added KaeilOS hack supporting glibc 2.9
+LIBC ?= "eglibc"
+PREFERRED_VERSION_glibc ?= "2.10.1"
+PREFERRED_VERSION_glibc-initial ?= "2.10.1"
+PREFERRED_VERSION_uclibc ?= "0.9.30.1"
+PREFERRED_VERSION_uclibc-initial ?= "0.9.30.1"
+
+#armv4 needs at least gcc 4.4.2 for eabi
+KAEILOS_GCC_VERSION_armv4 ?= "4.4.2"
+
+#Everybody else can just use this:
+KAEILOS_BINUTILS_VERSION ?= "2.19.51"
+PREFERRED_VERSION_binutils ?= "${KAEILOS_BINUTILS_VERSION}"
+PREFERRED_VERSION_binutils-cross ?= "${KAEILOS_BINUTILS_VERSION}"
+PREFERRED_VERSION_binutils-cross-sdk ?= "${KAEILOS_BINUTILS_VERSION}"
+
+KAEILOS_GCC_VERSION ?= "4.3.3"
+PREFERRED_VERSION_gcc ?= "${KAEILOS_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross ?= "${KAEILOS_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-sdk ?= "${KAEILOS_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-initial ?= "${KAEILOS_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "${KAEILOS_GCC_VERSION}"
+
+PREFERRED_ARM_INSTRUCTION_SET ?= "thumb"
+require conf/distro/include/sane-toolchain.inc
+
+PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
+PREFERRED_PROVIDER_hotplug = "udev"
+PREFERRED_PROVIDER_opkg ?= "opkg-nogpg-nocurl"
+
+# PREFERRED VERSIONS
+PREFERRED_PROVIDER_opkg ?= "opkg-nogpg"
+PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-nogpg"
+
+
+# Select xserver-xorg as default, since kdrive has been EOL'ed
+XSERVER ?= "xserver-xorg xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-video-fbdev"
+
+
+# do some task-base stuff here
+
+# Prefer bluez4, it's needed for things like connman. Bluez4 is also largely backward compatible with
+# bluez 3.x
+DISTRO_BLUETOOTH_MANAGER = "\
+ blueprobe \
+ bluez4 \
+ "
+
+# 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 \
+ kaeilos-version \
+ opkg-nogpg opkg-collateral \
+ util-linux-ng-mount util-linux-ng-umount \
+ ${DEBUG_APPS} \
+ "
+
+# This also hooks into task-base, but isn't mandatory.
+# If you don't want parts of this in your task-base using images you can put this in the image recipe:
+# BAD_RECOMMENDATIONS = "avahi-daemon avahi-autoipd"
+# Note that BAD_RECOMMENDATIONS is a feature of rootfs_ipk.bbclass
+# kernel modules: ship fs modules so you can mount stuff and af-packet so networking works
+# avahi: makes finding your device on the network a lot easier
+# openssh-sftp-server: provides sftp which combined with avahi makes it real easy to use things like sshfs
+# DEBUG_APPS: ship strace and procpc to make simple debugging a lot easier
+DISTRO_EXTRA_RRECOMMENDS += " \
+ kernel-module-vfat \
+ kernel-module-ext2 \
+ kernel-module-ext3 \
+ kernel-module-af-packet \
+ avahi-daemon \
+ avahi-autoipd \
+ openssh-sftp-server \
+ ${DEBUG_APPS} \
+ "
+
+SPLASH ?= "psplash"
+
+ARM_INSTRUCTION_SET_pn-uclibc = "arm"
+ARM_INSTRUCTION_SET_pn-uclibc-initial = "arm"
+