aboutsummaryrefslogtreecommitdiffstats
path: root/conf/local.conf.sample
blob: ed044f2d2b61d8aa0639b6df920b919c10440f8e (plain)
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
# Distro is set to Mentor Embedded Linux Flex OS distro.
DISTRO = 'mel'

# You need to select a specific machine to target the build with. There are a selection
# of emulated machines available which can boot and run in the QEMU emulator:
# qemuarm, qemumips, qemuppc, qemux86, qemux86-64.
MACHINE ??= "qemux86"

# The path to the installed sourcery toolchain. This defaults to using the one
# from the CodeBench we're installed in.
#EXTERNAL_TOOLCHAIN ?= "/path/to/toolchain"

# Uncomment to use the oe/yocto-built toolchain rather than the external
#TCMODE:mel = "default"

# The CORE_IMAGE_EXTRA_INSTALL variable allows extra individual packages to be
# added to any of the images inheriting core-image.bbclass, including the
# "core" images (e.g. core-image-base, core-image-minimal) as well as
# development-image and production-image..
#CORE_IMAGE_EXTRA_INSTALL += "bash"

# The EXTRA_IMAGE_FEATURES variable allows groups of packages to be added to
# the generated images. Some of these options are added to certain image types
# automatically. The variable can contain the following options:
#
#  "graphics"        - add a graphical environment, defaulting to wayland/weston
#                      or x11 depending on vendor support.
#  "dbg-pkgs"        - add -dbg packages for all installed packages
#                      (adds symbol information for debugging/profiling)
#  "dev-pkgs"        - add -dev packages for all installed packages
#                      (useful if you want to develop against libs in the image)
#  "tools-sdk"       - add development tools (gcc, make, pkgconfig etc.)
#  "tools-debug"     - add debugging tools (gdb, strace)
#  "tools-profile"   - add profiling tools (oprofile, exmap, lttng valgrind (x86 only))
#  "tools-benchmark" - add benchmarking tools (bonnie++, lmbench, etc)
#  "tools-testapps"  - add useful testing tools (ts_print, aplay, arecord etc.)
#  "codebench-debug" - core debug tools for use with codebench. this is
#                      a subset of tools-debug (gdbserver, strace, sftp server)
#  "debug-tweaks"    - make an image suitable for development
#                      e.g. ssh root access has a blank password
#  "splash"          - include a splashscreen (default: psplash, but the
#                      particular package can be set with the SPLASH variable)
#  "multimedia"      - add gstreamer support for running multimedia files
#  "multilib-runtime" - basic runtime multilib libraries to enable execution
#                       of third party executables and CodeBench development
#                       on non-default archs (libgcc, libc, libstdc++, lttng)
#
# There are other options that can be used here, see
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more
# details.

IMAGE_FEATURES_DEVELOPMENT ?= "debug-tweaks"
IMAGE_FEATURES_DEVELOPMENT:append:feature-mel-bsp = " codebench-debug ssh-server-openssh tools-profile"
EXTRA_IMAGE_FEATURES = "${IMAGE_FEATURES_DEVELOPMENT} multilib-runtime"

# Image features for production-image
IMAGE_FEATURES_PRODUCTION ?= ""
IMAGE_FEATURES_DISABLED_PRODUCTION ?= "${IMAGE_FEATURES_DEVELOPMENT} ssh-server-dropbear"

# Install tzdata with systemd when building read only images
CORE_IMAGE_EXTRA_INSTALL += "${@bb.utils.contains('IMAGE_FEATURES', 'read-only-rootfs', 'tzdata' if d.getVar('VIRTUAL-RUNTIME_init_manager') == 'systemd' else '', '', d)}"

# Uncomment to enable runtime testing with ptest
#USER_FEATURES += "ptest"
#EXTRA_IMAGE_FEATURES += "ptest-pkgs"

# Example of how to add additional image types beyond the default. If the
# machine doesn't define them, the default types are tar.bz2 and ext3.
#IMAGE_FSTYPES:append = " jffs2"

# Uncomment and alter to set the root password. Set to '0' to explicitly allow
# the empty root password even in production-image. Set to '*' to explicitly
# disable root login.
#ROOT_PASSWORD = "0"
IMAGE_CLASSES:append = " image-root-password"

# User features lets you manipulate the distro features. To add a distro
# feature, simply add it to USER_FEATURES. To remove, prefix it with ~.
#
# # Disable x11
# USER_FEATURES += "~x11"
#
# Disable 3g by default, as most won't need it.
USER_FEATURES += "~3g"

# Disable near field communication support by default
USER_FEATURES += "~nfc"

# How many tasks bitbake should run in parallel
BB_NUMBER_THREADS ?= "${@int(oe.utils.cpu_count() * 1.5)}"

# How many jobs 'make' should run in parallel when compiling
PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count() * 2}"

# Uncomment to exclude GPLv3 software from the build
#INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0*"

# Uncomment this to enable inclusion of gdbserver in the codebench-debug
# packagegroup / image feature even when GPL-3.0 is in INCOMPATIBLE_LICENSE, or
# using a distro which sets it that way (atp).
#ALLOW_GPLV3_GDBSERVER = "1"

# The gplv2 binutils does not support aarch64, so the gplv3 version is built and
# installed with tools-profile on that architecture by default, even in a
# non-gplv3 build. To disable this, you may comment this out, comment out line
# which installs binutils, or remove tools-profile from EXTRA_IMAGE_FEATURES.
INCOMPATIBLE_LICENSE_EXCEPTIONS:append:aarch64 = " ${BINUTILS_EXCEPTION}"
BINUTILS_EXCEPTION = "${@'binutils:GPL-3.0-only' if d.getVar('PN') == 'binutils' or (bb.data.inherits_class('image', d) and bb.utils.filter('IMAGE_FEATURES', 'tools-profile', d) == 'tools-profile') else ''}"

# Download files from a mirror
# Uncomment this INHERIT, and define SOURCE_MIRROR_URL
#
#INHERIT += "own-mirrors"
#SOURCE_MIRROR_URL = "file:///cache/downloads"
#SOURCE_MIRROR_URL = "http://myserver/sources"

# Our download directory / cache for the workspace
DL_DIR ?= "${MELDIR}/downloads"

# Continue to pull downloads from the build dir if available
PREMIRRORS:prepend = "\
    .*://.*/.* file://${MELDIR}/${MACHINE}/downloads/ \n \
    .*://.*/.* file://${TOPDIR}/downloads/ \n \
"

# BitBake has the capability to accelerate builds based on previously built
# output. This is done using "shared state" files which can be thought of as
# cache objects and this variable determines where those files are placed.
SSTATE_DIR ?= "${TOPDIR}/cached-binaries"

# Continue to pull cached binaries from the MEL install
SSTATE_MIRROR_SITES += "\
    file://${MELDIR}/${MACHINE}/cached-binaries \
    file://${MELDIR}/cached-binaries \
"

# Where to place the build output and temporary artifacts
#
# The default value follows:
#TMPDIR = "${TOPDIR}/tmp"

# When we're using an external toolchain, we don't want to ship a newly built
# toolchain inside the Yocto SDK.
include conf/include/drop-toolchain-from-sdk.inc

#
# Package Management configuration
#
# This variable lists which packaging formats to enable. Multiple package backends
# can be enabled at once and the first item listed in the variable will be used
# to generate the root filesystems.
#
#  - 'package_deb' for debian style deb files
#  - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
#  - 'package_rpm' for rpm style packages
#
# We default to ipk:
#PACKAGE_CLASSES ?= "package_ipk"

# SDK/ADT target architecture
#
# Set to one of the mingw32 SDKMACHINEs to target Windows rather than Linux.
# Warning: if you choose to add packages to TOOLCHAIN_HOST_TASK and target
# Windows, then you must add the meta-mingw layer to your configuration.
#
# Valid values: i686, x86_64, i686-mingw32, x86_64-mingw32
#SDKMACHINE ?= "x86_64"

# Uncomment to make populate_sdk write a tar file rather than a .sh installer
#SDK_PACKAGING_FUNC = ""

# By default, only include the target sysroot in the SDK/ADE, not host tools.
# Comment this line to change that. This packagegroup includes host tools like
# autoconf, automake, etc. See the aforementioned warning about use of Windows
# SDKMACHINE while setting TOOLCHAIN_HOST_TASK, if you're building a Windows
# SDK/ADE.
TOOLCHAIN_HOST_REMOVE ??= "nativesdk-packagegroup-sdk-host"
TOOLCHAIN_HOST_TASK:remove = "${TOOLCHAIN_HOST_REMOVE}"

# TOOLCHAIN_HOST_TASK is used to add host packages to the ADE/SDK, for
# example, to add bash:
#TOOLCHAIN_HOST_TASK_EXTRA += " nativesdk-bash"

# TOOLCHAIN_TARGET_TASK is used to add target packages to the ADE/SDK, for
# example, to add libncurses:
#TOOLCHAIN_TARGET_TASK_EXTRA += " ncurses-libncurses"

# Uncomment to set a site name (shown in CodeBench) for the ADE
# Default: ADE for ${ADE_IDENTIFIER}
#ADE_SITENAME ?= "My Company's ADE for ${ADE_IDENTIFIER}"

# Uncomment to alter the identifier for the ADE. This mechanism is used to
# support installation of multiple ADEs side-by-side. By default, every ADE
# build gets its own identifier, so is self-contained already.
# Default: ${SDKMACHINE}-${IMAGE_BASENAME}-${MACHINE}-${ADE_VERSION}
#ADE_IDENTIFIER ?= "${SDKMACHINE}-${IMAGE_BASENAME}-${MACHINE}-${ADE_VERSION}.customized"

# The following is a list of additional classes to use when building which
# enable extra features. Some available options which can be included in this variable
# are:
#   - 'buildstats' to collect build statistics (e.g. task times)
USER_CLASSES ?= "buildstats"

# Interactive shell configuration
#
# Under certain circumstances the system may need input from you and to do this it
# can launch an interactive shell. It needs to do this since the build is
# multithreaded and needs to be able to handle the case where more than one parallel
# process may require the user's attention. The default is iterate over the available
# terminal types to find one that works.
#
# Examples of the occasions this may happen are when resolving patches which cannot
# be applied, to use the devshell or the kernel menuconfig
#
# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
# Note: currently, Konsole support only works for KDE 3.x due to the way
# newer Konsole versions behave
#OE_TERMINAL = "auto"

# Uncomment to automatically spawn a terminal if a patch fails to apply
#PATCHRESOLVE = "user"

# Archive the source and put them to ${DEPLOY_DIR}/sources/. This is
# particularly useful for license compliance.
#
#INHERIT += "archiver"
#
# The tarball for the patched source will be created by default, and you
# can configure the archiver as follow:
#
# Create archive for:
# 1) original (or unpacked) source:
#ARCHIVER_MODE[src] = "original"
# 2) patched source: (default)
#ARCHIVER_MODE[src] = "patched"
# 3) configured source:
#ARCHIVER_MODE[src] = "configured"
#
# 4) the patches between do_unpack and do_patch:
#ARCHIVER_MODE[diff] = "1"
# set the files that you'd like to exclude from the diff:
#ARCHIVER_MODE[diff-exclude] ?= ".pc autom4te.cache patches"
#
# 5) the environment data, similar to 'bitbake -e recipe':
#ARCHIVER_MODE[dumpdata] = "1"
#
# 6) the recipe (.bb and .inc):
#ARCHIVER_MODE[recipe] = "1"
#
# 7) Whether output the .src.rpm package:
#ARCHIVER_MODE[srpm] = "1"
#

# 8) Filter the license, the recipe whose license in COPYLEFT_LICENSE_INCLUDE
# will be included, and in COPYLEFT_LICENSE_EXCLUDE will be excluded. These
# variables affect both archiver and copyleft_compliance (similar to archiver,
# but lighter and less flexible)
COPYLEFT_LICENSE_INCLUDE = "GPL* LGPL*"
COPYLEFT_LICENSE_EXCLUDE = "CLOSED Proprietary* Mentor Freescale EULA INTEL NetLogic"

# Alternative to the above archiver class. Doesn't support srpm, patched or
# configured source, diff generation, metadata, etc. Only emits original
# pristine source from SRC_URI with patch series file. Upside is it symlinks,
# so its tasks run very quickly, and it bypasses sstate (binary caching), so
# we don't bloat up our SSTATE_DIR with source which already lives in DL_DIR.
#INHERIT += "copyleft_compliance"

# Disk Space Monitoring during the build
#
# Monitor the disk space during the build. If there is less that 1GB of space or less
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard halt
# of the build. The reason for this is that running completely out of space can corrupt
# files and damages the build in ways which may not be easily recoverable.
# It's necessary to monitor /tmp, if there is no space left the build will fail
# with very exotic errors.
BB_DISKMON_DIRS ??= "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    HALT,${TMPDIR},100M,1K \
    HALT,${DL_DIR},100M,1K \
    HALT,${SSTATE_DIR},100M,1K \
    HALT,/tmp,10M,1K"

# Shared-state files from other locations
#
# The SSTATE_MIRROR_SITES variable can be used to configure the system to
# search other mirror locations for these objects before it builds the data
# itself.
#
# This can be a filesystem directory, or a remote url such as http or ftp.
# These would contain the sstate-cache results from previous builds (possibly
# from other machines). This variable works like fetcher MIRRORS/PREMIRRORS
# and points to the cache locations to check for the shared objects.
#
#SSTATE_MIRROR_SITES += "http://mymirror/sstate"
#SSTATE_MIRROR_SITES += "\
#    http://someserver.tld/share/sstate \
#    file:///some/local/dir \
#"

# This may be used to abort the build when using an untested/unverified
# version of the external toolchain.
#SOURCERY_VERSION_REQUIRED = "2012.03"

# The following options will build a companion 'debug filesystem' in addition
# to the normal deployable filesystem.  This companion system allows a
# debugger to know the symbols and related sources.  It can be used to
# debug a remote 'production' system without having to add the debug symbols
# and sources to remote system.  If IMAGE_FSTYPES_DEBUGFS is not defined, it
# defaults to IMAGE_FSTYPES.
#IMAGE_GEN_DEBUGFS = "1"
#IMAGE_FSTYPES_DEBUGFS = "tar.gz"
#
# Use this to add extra packages to the split-debug filesystem
#EXTRA_DEBUG_PACKAGES = "ltrace strace"

# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
# this doesn't mean anything to you.
CONF_VERSION = "2"