-
Notifications
You must be signed in to change notification settings - Fork 57
/
angstrom.conf
156 lines (130 loc) · 6.89 KB
/
angstrom.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#@--------------------------------------------------------------------
#@TYPE: Distribution
#@NAME: Angstrom <http://www.angstrom-distribution.org>
#@DESCRIPTION: The Linux Distribution for Kernel 2.6+ based devices
#@MAINTAINER: Graeme 'XorA' Gregory <dp@xora.org.uk>
#@MAINTAINER: Koen Kooi <koen@openembedded.org>
#@MAINTAINER: Khem Raj <raj.khem@gmail.com>
#@MAINTAINER: Philip 'Crofton' Balister <philip@balister.org>
#@--------------------------------------------------------------------
# This is a aimed to be the next stable angstrom release.
# If you want something stable *right now*, use angstrom-v2013.12
#
# Use this at your own risk, we welcome bugreports sent to
# angstrom-distro-devel@linuxtogo.org
#
# For more contact info please visit
# http://www.angstrom-distribution.org/contact
#
# Again, in doubt, use the master branch of setup-scripts
DISTRO_VERSION = "v${@time.strftime('%Y.%m',time.gmtime())}"
require conf/distro/include/sane-srcdates.inc
require conf/distro/include/sane-srcrevs.inc
require conf/distro/include/angstrom-preferred-versions.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!
ROOT_FLASH_SIZE ??= "32"
IMAGE_LINGUAS ?= '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d)}'
# set feed path variables
FEED_BASEPATH = "feeds/next/${ANGSTROM_PKG_FORMAT}/${TCLIBC}/"
#Everybody else can just use this:
ANGSTROM_GCC_VERSION ?= "4.9%"
ANGSTROM_BINUTILS_VERSION ?= "2.25%"
ANGSTROM_GDB_VERSION ?= "7.9%"
#use Linaro tools for ARM
ANGSTROM_GCC_VERSION_arm ?= "linaro-4.9%"
ANGSTROM_BINUTILS_VERSION_arm ?= "linaro-%"
ANGSTROM_GDB_VERSION_arm ?= "linaro-%"
ANGSTROM_GCC_VERSION_aarch64 ?= "linaro-4.9%"
ANGSTROM_BINUTILS_VERSION_aarch64 ?= "linaro-%"
ANGSTROM_GDB_VERSION_aarch64 ?= "linaro-%"
PREFERRED_VERSION_cross-localedef-native ?= "2.2%"
ANGSTROM_QEMU_VERSION ?= "2%"
GCCVERSION = "${ANGSTROM_GCC_VERSION}"
BINUVERSION = "${ANGSTROM_BINUTILS_VERSION}"
GDBVERSION = "${ANGSTROM_GDB_VERSION}"
PREFERRED_VERSION_qemu = "${ANGSTROM_QEMU_VERSION}"
PREFERRED_VERSION_qemu-native = "${ANGSTROM_QEMU_VERSION}"
PREFERRED_VERSION_nativesdk-qemu = "${ANGSTROM_QEMU_VERSION}"
PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
PREFERRED_PROVIDER-gconf-dbus = "gconf"
PREFERRED_PROVIDER_hotplug = "systemd"
PREFERRED_PROVIDER_opkg ?= "opkg"
PREFERRED_PROVIDER_opkg-native ?= "opkg-native"
# Prefer gummiboot over grub
EFI_PROVIDER = "gummiboot"
# blacklist policy
PNBLACKLIST[pn-fso-apm] = "regular apmd is good enough"
PNBLACKLIST[gconf-dbus] = "gconf-dbus has been merged back into main GConf"
PNBLACKLIST[gconf-dbus-native] = "gconf-dbus has been merged back into main GConf"
PNBLACKLIST[ffmpeg] = "libav is preferred over ffmpeg"
# Define splash before it gets set to empty in angstrom-core-tweaks.inc:
SPLASH ?= ' ${@base_contains("MACHINE_FEATURES", "screen", "dietsplash", "",d)}'
require conf/distro/include/angstrom.inc
# Prefer openssh over dropbear
TASK_BASIC_SSHDAEMON = "openssh-ssh openssh-sshd openssh-scp openssh-sftp openssh-sftp-server"
# Toolchain virtuals:
require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc
# Processor specific tunes like hard float ABI
include conf/distro/include/${TARGET_ARCH}-defaults.inc
# Set DISTRO_FEED_CONFIGS to our config var, assigned in the above .inc
DISTRO_FEED_CONFIGS = "${ANGSTROM_FEED_CONFIGS}"
# If we're using an .ipk based rootfs, we want to have opkg installed so postinst script can run
# We also take this opportunity to inject angstrom-version and the feed configs into the rootfs
IPKG_VARIANT = "opkg angstrom-version ${ANGSTROM_FEED_CONFIGS}"
# 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 packagegroup-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 \
bluez5 \
"
# 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)}'
# This hooks into packagegroup-base, so it won't do anything if your images doesn't include packagegroup-base.
# angstrom-version: ship this to have an identifiable rootfs so user can report bugs against a specific version
# ANGSTROM_FEED_CONFIGS: configfiles for the online feeds
# util-linux-mount util-linux-umount: busybox mount is broken
# angstrom-libc-fixup-hack: fixes an obscure bug with libc.so symlink
DISTRO_EXTRA_RDEPENDS += "\
angstrom-version \
${ANGSTROM_FEED_CONFIGS} \
util-linux-mount util-linux-umount \
angstrom-libc-fixup-hack \
"
# This also hooks into packagegroup-base, but isn't mandatory.
# If you don't want parts of this in your packagegroup-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, not angstrom
# 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
# psplash-angstrom: angstrom branded psplash, you can add your own psplash-foo to an image, it uses update-alternatives
# 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} \
"