1 #@--------------------------------------------------------------------
3 #@NAME: Angstrom <http://www.angstrom-distribution.org>
4 #@DESCRIPTION: The Linux Distribution for Kernel 2.6 based devices
5 #@MAINTAINER: Graeme 'XorA' Gregory <dp@xora.org.uk>
6 #@MAINTAINER: Koen Kooi <koen@openembedded.org>
7 #@MAINTAINER: Philip 'Crofton' Balister <philip@balister.org>
8 #@--------------------------------------------------------------------
10 # This is a aimed to be the next stable angstrom release.
11 # If you want something stable *right now*, use angstrom-2008.1
13 # Use this at your own risk, we welcome bugreports sent to
14 # angstrom-distro-devel@linuxtogo.org
16 # For more contact info please visit
17 # http://www.angstrom-distribution.org/contact
19 # Again, in doubt, use DISTRO="angstrom-2008.1"
21 #DISTRO_VERSION = "2010.X"
22 DISTRO_VERSION = "v${@time.strftime('%Y.%m',time.gmtime())}"
26 OLDEST_KERNEL ?= "2.6.16"
28 require conf/distro/include/angstrom-2010-preferred-versions.inc
29 require conf/distro/include/preferred-opie-versions-1.2.5.inc
31 #Images built can have to modes:
32 # 'debug': empty rootpassword, strace included
33 # 'release' no root password, no strace and gdb by default
34 DISTRO_TYPE ?= "debug"
35 #DISTRO_TYPE = "release"
37 # Set the toolchain type (internal, external) and brand (generic, csl etc.)
38 TOOLCHAIN_TYPE ?= "internal"
41 # Ship just basic locale by default. Locales are big (~1Mb uncompr.), so
42 # shipping some adhoc subset will be still useless and size burden for
43 # users of all other languages/countries. Instead, worth to make it easy
44 # to install additional languages: installer/wizard + metapackages which
45 # will RRECOMMEND as much as possible content for a given language
46 # (locales, UI transalations, help, etc. - useless for pros, but really
47 # helpful for common users).
48 # Also, it appears that no locales fit in 16Mb for now. "C" locale rules!
49 IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d)}'
52 # set feed path variables
53 FEED_BASEPATH = "feeds/next/${ANGSTROM_PKG_FORMAT}/${LIBC}/"
55 # Uncomment this to fetch packaged-staging packages from the central angstrom server
56 #PSTAGE_MIRROR = "${ANGSTROM_URI}/${FEED_BASEPATH}packaged-staging"
58 #Make sure we use 2.6 on machines with a 2.4/2.6 selector
60 MACHINE_KERNEL_VERSION = "2.6"
61 PCMCIA_MANAGER = "pcmciautils"
63 #Preferred version for the kernel on various machines
64 PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh20"
66 #This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
67 LINUX_LIBC_HEADERS_VERSION ?= "2.6.37"
68 PREFERRED_VERSION_linux-libc-headers = "${LINUX_LIBC_HEADERS_VERSION}"
69 PREFERRED_VERSION_linux-libc-headers-native = "${LINUX_LIBC_HEADERS_VERSION}"
71 #Prefer glibc 2.6 and uclibc 0.9.30, these have had the most testing.
72 PREFERRED_VERSION_glibc ?= "2.10.1"
73 PREFERRED_VERSION_glibc-initial ?= "2.10.1"
74 PREFERRED_VERSION_uclibc ?= "0.9.30.2"
75 PREFERRED_VERSION_uclibc-initial ?= "0.9.30.2"
76 PREFERRED_VERSION_eglibc ?= "2.12"
77 PREFERRED_VERSION_eglibc-initial ?= "2.12"
79 #powerpc needs additional patches to gcc
80 ANGSTROM_GCC_VERSION_ppc405 ?= "4.1.1"
81 ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
82 ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
84 # Blackfin has its on gcc
85 ANGSTROM_GCC_VERSION_bfin = "4.1.2"
87 # Uncomment this if want need to build an armv7a kernel with CSL toolchain (<2.6.27 don't boot with mainline gcc)
88 #KERNEL_CCSUFFIX_armv7a = "-4.2.1+csl-arm-2007q3-53"
89 KERNEL_CCSUFFIX_archos5 = "-4.2.1+csl-arm-2007q3-53"
90 KERNEL_CCSUFFIX_archos5it = "-4.2.1+csl-arm-2007q3-53"
92 #avr32 only has support for gcc 4.2.2
93 ANGSTROM_GCC_VERSION_avr32 ?= "4.2.2"
95 #Everybody else can just use this:
96 ANGSTROM_GCC_VERSION ?= "4.5"
98 ANGSTROM_BINUTILS_VERSION ?= "2.20.1"
100 PREFERRED_VERSION_binutils ?= "${ANGSTROM_BINUTILS_VERSION}"
101 PREFERRED_VERSION_binutils-cross ?= "${ANGSTROM_BINUTILS_VERSION}"
102 PREFERRED_VERSION_binutils-cross-sdk ?= "${ANGSTROM_BINUTILS_VERSION}"
104 PREFERRED_VERSION_gcc ?= "${ANGSTROM_GCC_VERSION}"
105 PREFERRED_VERSION_gcc-cross ?= "${ANGSTROM_GCC_VERSION}"
106 PREFERRED_VERSION_gcc-cross-sdk ?= "${ANGSTROM_GCC_VERSION}"
107 PREFERRED_VERSION_gcc-cross-initial ?= "${ANGSTROM_GCC_VERSION}"
108 PREFERRED_VERSION_gcc-cross-intermediate ?= "${ANGSTROM_GCC_VERSION}"
110 #avr32 only has patches for binutils 2.17 in OE
111 PREFERRED_VERSION_binutils_avr32 = "2.17"
112 PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
113 PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17"
115 PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
116 PREFERRED_PROVIDER_hotplug = "udev"
117 PREFERRED_PROVIDER_opkg ?= "opkg"
119 ANGSTROM_BLACKLIST_pn-bluez-libs = "bluez-libs 3.x has been replaced by bluez4"
120 ANGSTROM_BLACKLIST_pn-bluez-utils = "bluez-utils 3.x has been replaced by bluez4"
122 ANGSTROM_BLACKLIST_pn-fso-apm = "regular apmd is good enough"
124 ANGSTROM_BLACKLIST_pn-ipkg = "ipkg has been superseded by opkg"
126 ANGSTROM_BLACKLIST_pn-bash-noemu = "doesn't work on the target"
128 ANGSTROM_BLACKLIST_pn-hotplug-ng = "hotplug functionality is provided by udev"
129 ANGSTROM_BLACKLIST_pn-hotplug2 = "hotplug functionality is provided by udev"
130 ANGSTROM_BLACKLIST_pn-linux-hotplug = "hotplug functionality is provided by udev"
132 ANGSTROM_BLACKLIST_pn-xcursor-watchonly-theme = "xcursor-transparent-theme is good enough"
134 PREFERRED_PROVIDER_ffmpeg = "libav"
135 ANGSTROM_BLACKLIST_pn-ffmpeg = "libav is the preferred multimedia library"
137 require conf/distro/include/angstrom.inc
139 # Toolchain virtuals:
140 require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc
141 require conf/distro/include/arm-thumb.inc
143 # Set DISTRO_FEED_CONFIGS to our config var, assigned in the above .inc
144 DISTRO_FEED_CONFIGS = "${ANGSTROM_FEED_CONFIGS}"
146 # If we're using an .ipk based rootfs, we want to have opkg installed so postinst script can run
147 # We also take this opportunity to inject angstrom-version and the feed configs into the rootfs
148 IPKG_VARIANT = "opkg angstrom-version ${ANGSTROM_FEED_CONFIGS}"
150 # we need the same provider for opkg and u-a
151 PREFERRED_PROVIDER_virtual/update-alternatives = "opkg"
153 # Select xserver-xorg as default, since kdrive has been EOL'ed
154 XSERVER ?= "xserver-xorg xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-video-fbdev"
156 # do some task-base stuff here
158 # Prefer bluez4, it's needed for things like connman. Bluez4 is also largely backward compatible with
160 DISTRO_BLUETOOTH_MANAGER = "\
165 # We want to ship extra debug utils in the rootfs when doing a debug build
167 DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps",d)}'
169 # This hooks into task-base, so it won't do anything if your images doesn't include task-base.
170 # angstrom-version: ship this to have an identifiable rootfs so user can report bugs against a specific version
171 # ANGSTROM_FEED_CONFIGS: configfiles for the online feeds
172 # util-linux-ng-mount util-linux-ng-umount: busybox mount is broken
173 # angstrom-libc-fixup-hack: fixes an obscure bug with libc.so symlink
174 DISTRO_EXTRA_RDEPENDS += "\
176 ${ANGSTROM_FEED_CONFIGS} \
177 util-linux-ng-mount util-linux-ng-umount \
178 angstrom-libc-fixup-hack \
181 # This also hooks into task-base, but isn't mandatory.
182 # If you don't want parts of this in your task-base using images you can put this in the image recipe:
183 # BAD_RECOMMENDATIONS = "avahi-daemon avahi-autoipd"
184 # Note that BAD_RECOMMENDATIONS is a feature of rootfs_ipk.bbclass, not angstrom
185 # kernel modules: ship fs modules so you can mount stuff and af-packet so networking works
186 # avahi: makes finding your device on the network a lot easier
187 # openssh-sftp-server: provides sftp which combined with avahi makes it real easy to use things like sshfs
188 # psplash-angstrom: angstrom branded psplash, you can add your own psplash-foo to an image, it uses update-alternatives
189 # DEBUG_APPS: ship strace and procpc to make simple debugging a lot easier
190 DISTRO_EXTRA_RRECOMMENDS += " \
194 kernel-module-af-packet \
197 openssh-sftp-server \
201 SPLASH ?= ' ${@base_contains("MACHINE_FEATURES", "screen", "psplash-angstrom", "",d)}'
202 ARM_INSTRUCTION_SET_pn-uclibc = "arm"
203 ARM_INSTRUCTION_SET_pn-uclibc-initial = "arm"
206 #Machine specific tweaks, will move to its own include soon
207 PREFERRED_PROVIDER_virtual/kernel_beagleboard = "linux-omap"
208 PREFERRED_VERSION_linux-omap_beagleboard = "2.6.39"