From 7785ce4baefbb17b2fd2f8ebe64e8a91a7fade32 Mon Sep 17 00:00:00 2001 From: Martin Lund Date: Thu, 30 Apr 2009 13:15:36 +0200 Subject: Initial add of micro linux dist --- conf/distro/micro-uclibc.conf | 43 ++++++++++++++++++ conf/distro/micro.conf | 100 ++++++++++++++++++++++++++++++++++++++++++ recipes/images/micro-image.bb | 34 ++++++++++++++ 3 files changed, 177 insertions(+) create mode 100644 conf/distro/micro-uclibc.conf create mode 100644 conf/distro/micro.conf create mode 100644 recipes/images/micro-image.bb diff --git a/conf/distro/micro-uclibc.conf b/conf/distro/micro-uclibc.conf new file mode 100644 index 0000000000..82b78cbf79 --- /dev/null +++ b/conf/distro/micro-uclibc.conf @@ -0,0 +1,43 @@ +############################################################################# +#@TYPE: Distribution +#@NAME: Micro uclibc +#@DESCRIPTION: Micro Linux Distribution (uclibc based) +#@MAINTAINER: Martin Lund +#@COMMENT: This distribution configuration defines a Micro Linux distribution +#@COMMENT: based on uclibc. +############################################################################# + +# Based on the Micro Linux distribution +require conf/distro/micro.conf + +############################################################################# +# DISTRO CONFIGURATION +############################################################################# +DISTRO_NAME = "micro-uclibc" + +############################################################################# +# TARGET OS +############################################################################# +# Use linux uclibc +TARGET_OS = "linux-uclibc" + +############################################################################# +# TOOLCHAIN +############################################################################# +PREFERRED_LIBC = "uclibc" + +############################################################################# +# PREFERRED PROVIDERS +############################################################################# +PREFERRED_PROVIDER_virtual/libc = "uclibc" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross" +PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers" +PREFERRED_PROVIDER_virtual/libintl = "proxy-libintl" + +############################################################################# +# PREFERRED VERSIONS +############################################################################# +PREFERRED_VERSION_uclibc = "0.9.30.1" +PREFERRED_VERSION_uclibc-initial = "0.9.30.1" + diff --git a/conf/distro/micro.conf b/conf/distro/micro.conf new file mode 100644 index 0000000000..bf4e5e1a82 --- /dev/null +++ b/conf/distro/micro.conf @@ -0,0 +1,100 @@ +############################################################################# +#@TYPE: Distribution +#@NAME: Micro +#@DESCRIPTION: Micro Linux Distribution (glibc based) +#@MAINTAINER: Martin Lund +#@COMMENT: This distribution configuration defines a truely tiny OE Linux +#@COMMENT: distribution. The matching buildable image target (micro-image) +#@COMMENT: basically consists of: libc, busybox, udev, sysv init, and a few +#@COMMENT: init scripts for running up the system. +############################################################################# + +############################################################################# +# DISTRO CONFIGURATION +############################################################################# +DISTRO_NAME = "micro" +DISTRO_VERSION = "${SRCDATE}" + +############################################################################# +# TARGET OS +############################################################################# +# Linux +TARGET_OS = "linux" + +############################################################################# +# DISTRO FEATURE SELECTION +############################################################################# +# No features selected +DISTRO_FEATURES = "" + +############################################################################# +# LIBRARY NAMES +############################################################################# +# Use Debian naming scheme for library (.so) files +INHERIT += "debian" + +############################################################################# +# PACKAGING & FEEDS +############################################################################# +# Select packaging system +PREFERRED_PKG_FORMAT = "ipk" +IPKG_VARIANT = "opkg-nogpg" + +require conf/distro/include/sane-feed.inc +require conf/distro/include/sane-feed-${PREFERRED_PKG_FORMAT}.inc + +############################################################################# +# IMAGES +############################################################################# +# Name generated images +IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${PREFERRED_LIBC}-\ +${PREFERRED_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}" + +CACHE ?= "${TMPDIR}/cache/${PREFERRED_LIBC}/${MACHINE}" +DEPLOY_DIR ?= "${TMPDIR}/deploy/${PREFERRED_LIBC}" +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}" + +# Image output types +IMAGE_FSTYPES ?= "tar.gz jffs2" + +############################################################################# +# LINUX KERNEL SELECTION +############################################################################# +KERNEL = "kernel26" +MACHINE_KERNEL_VERSION = "2.6" + +############################################################################# +# TOOLCHAIN +############################################################################# +PREFERRED_LIBC = "glibc" +require conf/distro/include/sane-toolchain.inc + +############################################################################# +# OVERRIDES adjusted from bitbake.conf to feature the MACHINE_CLASS +############################################################################# +OVERRIDES = "local:${MACHINE}:${MACHINE_CLASS}:${DISTRO}:${TARGET_OS}:\ +${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}" + +############################################################################# +# PREFERRED PROVIDERS +############################################################################# +PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap" +PREFERRED_PROVIDER_virtual/libintl = "glibc" + +############################################################################# +# PREFERRED VERSIONS +############################################################################# +require conf/distro/include/sane-srcdates.inc +require conf/distro/include/sane-srcrevs.inc + +############################################################################# +# NLS +############################################################################# +USE_NLS = "no" +USE_NLS_glib-2.0 = "yes" +USE_NLS_glib-2.0-native = "yes" +USE_NLS_gcc-cross = "no" + +# Disable binary locale generation +ENABLE_BINARY_LOCALE_GENERATION = "0" + diff --git a/recipes/images/micro-image.bb b/recipes/images/micro-image.bb new file mode 100644 index 0000000000..b31365d1d1 --- /dev/null +++ b/recipes/images/micro-image.bb @@ -0,0 +1,34 @@ +# micro-image +# +# Image configuration for the OE Micro Linux Distribuion (micro, micro-uclibc) +# +# This image basically consists of: libc, busybox, udev, sysv init, and a few +# init scripts for running up the system. +# +# It is truely tiny and should build with most architectures/machines. +# +# The image is tested to build and run succesfully with the following machines: +# +# * at91sam9263ek (jffs2 image size ~ 1 MB, uclibc) +# * x86 +# +# Maintainer: Martin Lund +# + +# Install basic files only +IMAGE_INSTALL = "base-files base-passwd" +IMAGE_LINGUAS = "" + +# Use busybox as login manager +IMAGE_LOGIN_MANAGER = "busybox" + +# Include minimum init and init scripts +IMAGE_DEV_MANAGER = "udev" +IMAGE_INIT_MANAGER = "sysvinit sysvinit-pidof" +IMAGE_INITSCRIPTS = "" + +# Do not install target package management system +ONLINE_PACKAGE_MANAGEMENT = "none" + +inherit image + -- cgit 1.2.3-korg