#@-------------------------------------------------------------------- #@TYPE: Distribution #@NAME: KaeilOS(R) - http://www.kaeilos.com #@DESCRIPTION: KaeilOS Linux Distribution ver.2010 #@MAINTAINER: Marco Cavallini #@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"