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
12 # with the stable/2009 branch
14 # Use this at your own risk, we welcome bugreports sent to
15 # angstrom-distro-devel@linuxtogo.org
17 # For more contact info please visit
18 # http://www.angstrom-distribution.org/contact
20 # Again, in doubt, use DISTRO="angstrom-2008.1" with the
23 #DISTRO_VERSION = "2009.X"
24 DISTRO_VERSION = "2010.4-test-${DATE}"
28 OLDEST_KERNEL ?= "2.6.16"
30 #build staging from packages
31 INHERIT += "packaged-staging"
33 require conf/distro/include/sane-srcdates.inc
34 require conf/distro/include/sane-srcrevs.inc
35 require conf/distro/include/angstrom-2008-preferred-versions.inc
36 require conf/distro/include/preferred-opie-versions-1.2.4.inc
38 #Images built can have to modes:
39 # 'debug': empty rootpassword, strace included
40 # 'release' no root password, no strace and gdb by default
41 DISTRO_TYPE ?= "debug"
42 #DISTRO_TYPE = "release"
44 # Set the toolchain type (internal, external) and brand (generic, csl etc.)
45 TOOLCHAIN_TYPE ?= "internal"
48 # Ship just basic locale by default. Locales are big (~1Mb uncompr.), so
49 # shipping some adhoc subset will be still useless and size burden for
50 # users of all other languages/countries. Instead, worth to make it easy
51 # to install additional languages: installer/wizard + metapackages which
52 # will RRECOMMEND as much as possible content for a given language
53 # (locales, UI transalations, help, etc. - useless for pros, but really
54 # helpful for common users).
55 # Also, it appears that no locales fit in 16Mb for now. "C" locale rules!
56 IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d)}'
59 # set feed path variables
60 FEED_BASEPATH = "feeds/unstable/${ANGSTROM_PKG_FORMAT}/${LIBC}/"
62 # Uncomment this to fetch packaged-staging packages from the central angstrom server
63 #PSTAGE_MIRROR = "${ANGSTROM_URI}/${FEED_BASEPATH}packaged-staging"
65 #The angstrom-mirrors.bbclass should have everything, but we can use this as a fallback
66 CVS_TARBALL_STASH ?= "\
67 http://www.angstrom-distribution.org/unstable/sources/ \
71 #Make sure we use 2.6 on machines with a 2.4/2.6 selector
73 MACHINE_KERNEL_VERSION = "2.6"
74 PCMCIA_MANAGER = "pcmciautils"
76 #Preferred version for the kernel on various machines
77 PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh20"
79 #Initramfs for kernels
80 #KERNEL_INITRAMFS_DIR = "${TMPDIR}/deploy/uclibc/images/${MACHINE}/"
81 #KERNEL_INITRAMFS_PATH = "${KERNEL_INITRAMFS_DIR}/$(readlink ${KERNEL_INITRAMFS_DIR}initramfs-bootmenu-image-${MACHINE}.cpio.gz)"
83 #This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
84 PREFERRED_VERSION_linux-libc-headers = "2.6.31"
86 #Prefer glibc 2.6 and uclibc 0.9.30, these have had the most testing.
87 PREFERRED_VERSION_glibc ?= "2.9"
88 PREFERRED_VERSION_glibc-initial ?= "2.9"
89 PREFERRED_VERSION_uclibc ?= "0.9.30.2"
90 PREFERRED_VERSION_uclibc-initial ?= "0.9.30.2"
92 #powerpc needs additional patches to gcc
93 ANGSTROM_GCC_VERSION_ppc405 ?= "4.1.1"
94 ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
95 ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
97 # Blackfin has its on gcc
98 ANGSTROM_GCC_VERSION_bfin = "4.1.2"
100 # Uncomment this if want need to build an armv7a kernel with CSL toolchain (<2.6.27 don't boot with mainline gcc)
101 #KERNEL_CCSUFFIX_armv7a = "-4.2.1+csl-arm-2007q3-53"
102 KERNEL_CCSUFFIX_archos5 = "-4.2.1+csl-arm-2007q3-53"
103 KERNEL_CCSUFFIX_archos5it = "-4.2.1+csl-arm-2007q3-53"
105 #avr32 only has support for gcc 4.2.2
106 ANGSTROM_GCC_VERSION_avr32 ?= "4.2.2"
108 #armv4 needs at least gcc 4.4.2 for eabi
109 ANGSTROM_GCC_VERSION_armv4 ?= "4.4.2"
111 #Everybody else can just use this:
112 ANGSTROM_GCC_VERSION ?= "4.3.6"
114 ANGSTROM_BINUTILS_VERSION ?= "2.21.1a"
115 #ANGSTROM_BINUTILS_VERSION_armv4 ?= "2.20"
116 #ANGSTROM_BINUTILS_VERSION_armv7a ?= "2.18.50.0.7"
118 PREFERRED_VERSION_binutils ?= "${ANGSTROM_BINUTILS_VERSION}"
119 PREFERRED_VERSION_binutils-cross ?= "${ANGSTROM_BINUTILS_VERSION}"
120 PREFERRED_VERSION_binutils-cross-sdk ?= "${ANGSTROM_BINUTILS_VERSION}"
122 PREFERRED_VERSION_gcc ?= "${ANGSTROM_GCC_VERSION}"
123 PREFERRED_VERSION_gcc-cross ?= "${ANGSTROM_GCC_VERSION}"
124 PREFERRED_VERSION_gcc-cross-sdk ?= "${ANGSTROM_GCC_VERSION}"
125 PREFERRED_VERSION_gcc-cross-initial ?= "${ANGSTROM_GCC_VERSION}"
126 PREFERRED_VERSION_gcc-cross-intermediate ?= "${ANGSTROM_GCC_VERSION}"
128 #avr32 only has patches for binutils 2.17 in OE
129 PREFERRED_VERSION_binutils_avr32 = "2.17"
130 PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
131 PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17"
133 # Toolchain virtuals:
134 require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc
136 PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
137 PREFERRED_PROVIDER_hotplug = "udev"
138 PREFERRED_PROVIDER_opkg ?= "opkg-nogpg-nocurl"
140 PREFERRED_PROVIDER_gdk-pixbuf = gdk-pixbuf
142 ANGSTROM_BLACKLIST_pn-bluez-libs = "bluez-libs 3.x has been replaced by bluez4"
143 ANGSTROM_BLACKLIST_pn-bluez-utils = "bluez-utils 3.x has been replaced by bluez4"
145 ANGSTROM_BLACKLIST_pn-fso-apm = "regular apmd is good enough"
147 require conf/distro/include/angstrom.inc
149 # If we're using an .ipk based rootfs, we want to have opkg-nogpg installed so postinst script can run
150 # We also take this opportunity to inject angstrom-version and the feed configs into the rootfs
151 IPKG_VARIANT = "opkg-nogpg-nocurl angstrom-version ${ANGSTROM_FEED_CONFIGS}"
153 # we need the same provider for opkg and u-a
154 PREFERRED_PROVIDER_virtual/update-alternatives = "opkg-nogpg-nocurl"
156 # Select xserver-xorg as default, since kdrive has been EOL'ed
157 XSERVER ?= "xserver-xorg xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-video-fbdev"
159 # do some task-base stuff here
161 # Prefer bluez4, it's needed for things like connman. Bluez4 is also largely backward compatible with
163 DISTRO_BLUETOOTH_MANAGER = "\
168 # We want to ship extra debug utils in the rootfs when doing a debug build
170 DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps",d)}'
172 # This hooks into task-base, so it won't do anything if your images doesn't include task-base.
173 # angstrom-version: ship this to have an identifiable rootfs so user can report bugs against a specific version
174 # ANGSTROM_FEED_CONFIGS: configfiles for the online feeds
175 # util-linux-ng-mount util-linux-ng-umount: busybox mount is broken
176 # angstrom-libc-fixup-hack: fixes an obscure bug with libc.so symlink
177 DISTRO_EXTRA_RDEPENDS += "\
179 ${ANGSTROM_FEED_CONFIGS} \
180 util-linux-ng-mount util-linux-ng-umount \
181 angstrom-libc-fixup-hack \
184 # This also hooks into task-base, but isn't mandatory.
185 # If you don't want parts of this in your task-base using images you can put this in the image recipe:
186 # BAD_RECOMMENDATIONS = "avahi-daemon avahi-autoipd"
187 # Note that BAD_RECOMMENDATIONS is a feature of rootfs_ipk.bbclass, not angstrom
188 # kernel modules: ship fs modules so you can mount stuff and af-packet so networking works
189 # avahi: makes finding your device on the network a lot easier
190 # openssh-sftp-server: provides sftp which combined with avahi makes it real easy to use things like sshfs
191 # psplash-angstrom: angstrom branded psplash, you can add your own psplash-foo to an image, it uses update-alternatives
192 # DEBUG_APPS: ship strace and procpc to make simple debugging a lot easier
193 DISTRO_EXTRA_RRECOMMENDS += " \
197 kernel-module-af-packet \
200 openssh-sftp-server \
204 SPLASH ?= ' ${@base_contains("MACHINE_FEATURES", "screen", "psplash-angstrom", "",d)}'
205 ARM_INSTRUCTION_SET_pn-uclibc = "arm"
206 ARM_INSTRUCTION_SET_pn-uclibc-initial = "arm"