xref: /OK3568_Linux_fs/yocto/meta-poky/conf/local.conf.sample.extended (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# BBMASK contains regular expressions that can be used to tell BitBake to ignore
2*4882a593Smuzhiyun# certain recipes.
3*4882a593Smuzhiyun#BBMASK = ""
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun#
6*4882a593Smuzhiyun# Parallelism Options
7*4882a593Smuzhiyun#
8*4882a593Smuzhiyun# These two options control how much parallelism BitBake should use. The first
9*4882a593Smuzhiyun# option determines how many tasks bitbake should run in parallel:
10*4882a593Smuzhiyun#
11*4882a593Smuzhiyun#BB_NUMBER_THREADS ?= "4"
12*4882a593Smuzhiyun#
13*4882a593Smuzhiyun# Default to setting automatically based on cpu count
14*4882a593Smuzhiyun#BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
15*4882a593Smuzhiyun#
16*4882a593Smuzhiyun# The second option controls how many processes make should run in parallel when
17*4882a593Smuzhiyun# running compile tasks:
18*4882a593Smuzhiyun#
19*4882a593Smuzhiyun#PARALLEL_MAKE ?= "-j 4"
20*4882a593Smuzhiyun#
21*4882a593Smuzhiyun# Default to setting automatically based on cpu count
22*4882a593Smuzhiyun#PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
23*4882a593Smuzhiyun#
24*4882a593Smuzhiyun# For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
25*4882a593Smuzhiyun# be appropriate for example.
26*4882a593Smuzhiyun#
27*4882a593Smuzhiyun# Some users are behind firewalls or use servers where the number of parallel connections
28*4882a593Smuzhiyun# is limited. In such cases you can limit the number of fetch tasks which run in parallel by
29*4882a593Smuzhiyun# setting the option below, in this case limiting to a maximum of 4 fetch tasks in parallel:
30*4882a593Smuzhiyun#
31*4882a593Smuzhiyun#do_fetch[number_threads] = "4"
32*4882a593Smuzhiyun#
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun# If you want to get an image based on directfb without x11 alter
35*4882a593Smuzhiyun# DISTRO_FEATURES:
36*4882a593SmuzhiyunDISTRO_FEATURES:append = " directfb"
37*4882a593SmuzhiyunDISTRO_FEATURES:remove = "x11"
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun# ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale
40*4882a593Smuzhiyun# packages at build time using qemu-native. Disabling it (by setting it to 0)
41*4882a593Smuzhiyun# will save some build time at the expense of breaking i18n on devices with
42*4882a593Smuzhiyun# less than 128MB RAM.
43*4882a593Smuzhiyun#ENABLE_BINARY_LOCALE_GENERATION = "1"
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun# If GLIBC_SPLIT_LC_PACKAGES is set to a non-zero value, convert
46*4882a593Smuzhiyun# glibc-binary-localedata-XX-YY to be a meta package depending on
47*4882a593Smuzhiyun# glibc-binary-localedata-XX-YY-lc-address and so on. This enables
48*4882a593Smuzhiyun# saving quite some space if someone doesn't need LC_COLLATE for
49*4882a593Smuzhiyun# example.
50*4882a593Smuzhiyun#GLIBC_SPLIT_LC_PACKAGES = "1"
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun# Set GLIBC_GENERATE_LOCALES to the locales you wish to generate should you not
53*4882a593Smuzhiyun# wish to perform the time-consuming step of generating all LIBC locales.
54*4882a593Smuzhiyun# NOTE: If removing en_US.UTF-8 you will also need to uncomment, and set
55*4882a593Smuzhiyun# appropriate value for IMAGE_LINGUAS.
56*4882a593Smuzhiyun# WARNING: this may break localisation!
57*4882a593Smuzhiyun# WARNING: some recipes expect certain localizations to be enabled, e.g.
58*4882a593Smuzhiyun# bash-ptest: fr-fr, de-de
59*4882a593Smuzhiyun# glib-2.0-ptest: tr-tr, lt-lt, ja-jp.euc-jp, fa-ir, ru-ru, de-de, hr-hr, el-gr, fr-fr, es-es, en-gb
60*4882a593Smuzhiyun# if you remove some of these and enable ptest, you'll get QA warning like:
61*4882a593Smuzhiyun# ERROR: glib-2.0-1_2.58.0-r0 do_package_qa: QA Issue: glib-2.0-ptest rdepends on locale-base-de-de, but it isn't a build dependency? [build-deps]
62*4882a593Smuzhiyun#GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8"
63*4882a593Smuzhiyun#IMAGE_LINGUAS ?= "en-gb"
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun# The following are used to control options related to debugging.
66*4882a593Smuzhiyun#
67*4882a593Smuzhiyun# Uncomment this to change the optimization to make debugging easer, at the
68*4882a593Smuzhiyun# possible cost of performance.
69*4882a593Smuzhiyun# DEBUG_BUILD = "1"
70*4882a593Smuzhiyun#
71*4882a593Smuzhiyun# Uncomment this to disable the stripping of the installed binaries
72*4882a593Smuzhiyun# INHIBIT_PACKAGE_STRIP = "1"
73*4882a593Smuzhiyun#
74*4882a593Smuzhiyun# Uncomment this to disable the split of the debug information into -dbg files
75*4882a593Smuzhiyun# INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
76*4882a593Smuzhiyun#
77*4882a593Smuzhiyun# When splitting debug information, the following controls the results of the
78*4882a593Smuzhiyun# file splitting.
79*4882a593Smuzhiyun#
80*4882a593Smuzhiyun#  .debug (default):
81*4882a593Smuzhiyun#    When splitting the debug information will be placed into
82*4882a593Smuzhiyun#    a .debug directory in the same dirname of the binary produced:
83*4882a593Smuzhiyun#      /bin/foo -> /bin/.debug/foo
84*4882a593Smuzhiyun#
85*4882a593Smuzhiyun#  debug-file-directory:
86*4882a593Smuzhiyun#    When splitting the debug information will be placed into
87*4882a593Smuzhiyun#    a central debug-file-directory, /usr/lib/debug:
88*4882a593Smuzhiyun#      /bin/foo -> /usr/lib/debug/bin/foo.debug
89*4882a593Smuzhiyun#
90*4882a593Smuzhiyun#    Any source code referenced in the debug symbols will be copied
91*4882a593Smuzhiyun#    and made available within the /usr/src/debug directory
92*4882a593Smuzhiyun#
93*4882a593Smuzhiyun#PACKAGE_DEBUG_SPLIT_STYLE = '.debug'
94*4882a593Smuzhiyun# PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun# Uncomment these to build a package such that you can use gprof to profile it.
97*4882a593Smuzhiyun# NOTE: Don't build glibc itself with these flags, or it'll fail to build.
98*4882a593Smuzhiyun#
99*4882a593Smuzhiyun# PROFILE_OPTIMIZATION = "-pg"
100*4882a593Smuzhiyun# SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}"
101*4882a593Smuzhiyun# LDFLAGS =+ "-pg"
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun# TCMODE controls the characteristics of the generated packages/images by
104*4882a593Smuzhiyun# telling poky which toolchain 'profile' to use.
105*4882a593Smuzhiyun#
106*4882a593Smuzhiyun# The default is "default" which uses the internal toolchain. With
107*4882a593Smuzhiyun# additional layers, it is possible to set this to use a precompiled
108*4882a593Smuzhiyun# external toolchain. One example is the Sourcery G++ Toolchain, support
109*4882a593Smuzhiyun# for which is now in the separate meta-sourcery layer:
110*4882a593Smuzhiyun#
111*4882a593Smuzhiyun#  http://github.com/MentorEmbedded/meta-sourcery/
112*4882a593Smuzhiyun#
113*4882a593Smuzhiyun# meta-sourcery can be used as a template for adding support for other
114*4882a593Smuzhiyun# external toolchains. See the link above for further details.
115*4882a593Smuzhiyun#
116*4882a593Smuzhiyun# TCMODE points the system to a file in conf/distro/include/tcmode-${TCMODE}.inc,
117*4882a593Smuzhiyun# so for meta-sourcery which has conf/distro/include/tcmode-external-sourcery.inc
118*4882a593Smuzhiyun# you would set it as follows:
119*4882a593Smuzhiyun#
120*4882a593Smuzhiyun# TCMODE ?= "external-sourcery"
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun# This value is currently used by pseudo to determine if the recipe should
123*4882a593Smuzhiyun# build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system.
124*4882a593Smuzhiyun#
125*4882a593Smuzhiyun# Pseudo will attempt to determine if a 32-bit wrapper is necessary, but
126*4882a593Smuzhiyun# it doesn't always guess properly.  If you have 32-bit executables on
127*4882a593Smuzhiyun# your 64-bit build system, you likely want to set this to "0",
128*4882a593Smuzhiyun# otherwise you could end up with incorrect file attributes on the
129*4882a593Smuzhiyun# target filesystem.
130*4882a593Smuzhiyun#
131*4882a593Smuzhiyun# Default is to not build 32 bit libs on 64 bit systems, uncomment this
132*4882a593Smuzhiyun# if you need the 32 bits libs
133*4882a593Smuzhiyun#NO32LIBS = "0"
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun# Uncomment the following lines to enable multilib builds
136*4882a593Smuzhiyun#require conf/multilib.conf
137*4882a593Smuzhiyun#MULTILIBS = "multilib:lib32"
138*4882a593Smuzhiyun#DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun# Set RPM_PREFER_ELF_ARCH to configure preferred ABI when using rpm packaging
141*4882a593Smuzhiyun# backend to generate a rootfs, choices are:
142*4882a593Smuzhiyun# 1: ELF32 wins
143*4882a593Smuzhiyun# 2: ELF64 wins
144*4882a593Smuzhiyun# 4: ELF64 N32 wins (for mips64 or mips64el only)
145*4882a593Smuzhiyun#RPM_PREFER_ELF_ARCH ?= "2"
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun# The network based PR service host and port
148*4882a593Smuzhiyun# Uncomment the following lines to enable PRservice.
149*4882a593Smuzhiyun# Set PRSERV_HOST to 'localhost:0' to automatically
150*4882a593Smuzhiyun# start local PRService.
151*4882a593Smuzhiyun# Set to other values to use remote PRService.
152*4882a593Smuzhiyun#PRSERV_HOST = "localhost:0"
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun# Additional image generation features
155*4882a593Smuzhiyun#
156*4882a593Smuzhiyun# The following is a list of classes to import to use in the generation of images
157*4882a593Smuzhiyun# currently an example class is image_types_uboot
158*4882a593Smuzhiyun# IMAGE_CLASSES = " image_types_uboot"
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun# The following options will build a companion 'debug filesystem' in addition
161*4882a593Smuzhiyun# to the normal deployable filesystem.  This companion system allows a
162*4882a593Smuzhiyun# debugger to know the symbols and related sources.  It can be used to
163*4882a593Smuzhiyun# debug a remote 'production' system without having to add the debug symbols
164*4882a593Smuzhiyun# and sources to remote system.  If IMAGE_FSTYPES_DEBUGFS is not defined, it
165*4882a593Smuzhiyun# defaults to IMAGE_FSTYPES.
166*4882a593Smuzhiyun#IMAGE_GEN_DEBUGFS = "1"
167*4882a593Smuzhiyun#IMAGE_FSTYPES_DEBUGFS = "tar.gz"
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun# Incremental rpm image generation, the rootfs would be totally removed
170*4882a593Smuzhiyun# and re-created in the second generation by default, but with
171*4882a593Smuzhiyun# INC_RPM_IMAGE_GEN = "1", the rpm based rootfs would be kept, and will
172*4882a593Smuzhiyun# do update(remove/add some pkgs) on it.  NOTE: This is not suggested
173*4882a593Smuzhiyun# when you want to create a productive rootfs
174*4882a593Smuzhiyun#INC_RPM_IMAGE_GEN = "1"
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun# This is a list of packages that require a commercial license to ship
177*4882a593Smuzhiyun# product. If shipped as part of an image these packages may have
178*4882a593Smuzhiyun# implications so they are disabled by default.  To enable them,
179*4882a593Smuzhiyun# un-comment the below as appropriate.
180*4882a593Smuzhiyun#LICENSE_FLAGS_ACCEPTED = "commercial_gst-fluendo-mp3 \
181*4882a593Smuzhiyun#                           commercial_gst-openmax \
182*4882a593Smuzhiyun#                           commercial_gst-plugins-ugly \
183*4882a593Smuzhiyun#                           commercial_lame \
184*4882a593Smuzhiyun#                           commercial_libmad \
185*4882a593Smuzhiyun#                           commercial_libomxil \
186*4882a593Smuzhiyun#                           commercial_mpeg2dec \
187*4882a593Smuzhiyun#                           commercial_qmmp"
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun#
191*4882a593Smuzhiyun# Disk space monitor, take action when the disk space or the amount of
192*4882a593Smuzhiyun# inode is running low, it is enabled when BB_DISKMON_DIRS is set.
193*4882a593Smuzhiyun#
194*4882a593Smuzhiyun# Set the directory for the monitor, the format is:
195*4882a593Smuzhiyun# "action,directory,minimum_space,minimum_free_inode"
196*4882a593Smuzhiyun#
197*4882a593Smuzhiyun# The "action" must be set and should be one of:
198*4882a593Smuzhiyun# HALT: Immediately halt
199*4882a593Smuzhiyun# STOPTASKS: The new tasks can't be executed any more, will stop the build
200*4882a593Smuzhiyun#           when the running tasks have been done.
201*4882a593Smuzhiyun# WARN: show warnings (see BB_DISKMON_WARNINTERVAL for more information)
202*4882a593Smuzhiyun#
203*4882a593Smuzhiyun# The "directory" must be set, any directory is OK.
204*4882a593Smuzhiyun#
205*4882a593Smuzhiyun# Either "minimum_space" or "minimum_free_inode" (or both of them)
206*4882a593Smuzhiyun# should be set, otherwise the monitor would not be enabled,
207*4882a593Smuzhiyun# the unit can be G, M, K or none, but do NOT use GB, MB or KB
208*4882a593Smuzhiyun# (B is not needed).
209*4882a593Smuzhiyun#BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
210*4882a593Smuzhiyun#
211*4882a593Smuzhiyun# Set disk space and inode interval (only works when the action is "WARN",
212*4882a593Smuzhiyun# the unit can be G, M, or K, but do NOT use the GB, MB or KB
213*4882a593Smuzhiyun# (B is not needed), the format is:
214*4882a593Smuzhiyun# "disk_space_interval,disk_inode_interval", the default value is
215*4882a593Smuzhiyun# "50M,5K" which means that it would warn when the free space is
216*4882a593Smuzhiyun# lower than the minimum space(or inode), and would repeat the warning
217*4882a593Smuzhiyun# when the disk space reduces 50M (or the amount of inode reduces 5k).
218*4882a593Smuzhiyun#BB_DISKMON_WARNINTERVAL = "50M,5K"
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun# Archive the source and put them to ${DEPLOY_DIR}/sources/.
221*4882a593Smuzhiyun#
222*4882a593Smuzhiyun#INHERIT += "archiver"
223*4882a593Smuzhiyun#
224*4882a593Smuzhiyun# The tarball for the patched source will be created by default, and you
225*4882a593Smuzhiyun# can configure the archiver as follow:
226*4882a593Smuzhiyun#
227*4882a593Smuzhiyun# Create archive for:
228*4882a593Smuzhiyun# 1) original (or unpacked) source:
229*4882a593Smuzhiyun#ARCHIVER_MODE[src] = "original"
230*4882a593Smuzhiyun# 2) patched source: (default)
231*4882a593Smuzhiyun#ARCHIVER_MODE[src] = "patched"
232*4882a593Smuzhiyun# 3) configured source:
233*4882a593Smuzhiyun#ARCHIVER_MODE[src] = "configured"
234*4882a593Smuzhiyun#
235*4882a593Smuzhiyun# 4) the patches between do_unpack and do_patch:
236*4882a593Smuzhiyun#ARCHIVER_MODE[diff] = "1"
237*4882a593Smuzhiyun# set the files that you'd like to exclude from the diff:
238*4882a593Smuzhiyun#ARCHIVER_MODE[diff-exclude] ?= ".pc autom4te.cache patches"
239*4882a593Smuzhiyun#
240*4882a593Smuzhiyun# 5) the environment data, similar to 'bitbake -e recipe':
241*4882a593Smuzhiyun#ARCHIVER_MODE[dumpdata] = "1"
242*4882a593Smuzhiyun#
243*4882a593Smuzhiyun# 6) the recipe (.bb and .inc):
244*4882a593Smuzhiyun#ARCHIVER_MODE[recipe] = "1"
245*4882a593Smuzhiyun#
246*4882a593Smuzhiyun# 7) Whether output the .src.rpm package:
247*4882a593Smuzhiyun#ARCHIVER_MODE[srpm] = "1"
248*4882a593Smuzhiyun#
249*4882a593Smuzhiyun# 8) Filter the license, the recipe whose license in
250*4882a593Smuzhiyun#    COPYLEFT_LICENSE_INCLUDE will be included, and in
251*4882a593Smuzhiyun#    COPYLEFT_LICENSE_EXCLUDE will be excluded.
252*4882a593Smuzhiyun#COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*'
253*4882a593Smuzhiyun#COPYLEFT_LICENSE_EXCLUDE = 'CLOSED Proprietary'
254*4882a593Smuzhiyun#
255*4882a593Smuzhiyun# 9) Config the recipe type that will be archived, the type can be
256*4882a593Smuzhiyun#    target, native, nativesdk, cross, crosssdk and cross-canadian,
257*4882a593Smuzhiyun#    you can set one or more types. Archive all types by default.
258*4882a593Smuzhiyun#COPYLEFT_RECIPE_TYPES = 'target'
259*4882a593Smuzhiyun#
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun#
262*4882a593Smuzhiyun# GCC/LD FLAGS to enable more secure code generation
263*4882a593Smuzhiyun#
264*4882a593Smuzhiyun# By including the security_flags include file you enable flags
265*4882a593Smuzhiyun# to the compiler and linker that cause them to generate more secure
266*4882a593Smuzhiyun# code.
267*4882a593Smuzhiyun# This does affect compile speed slightly.
268*4882a593Smuzhiyun#
269*4882a593Smuzhiyun# Use the following line to enable the security compiler and linker flags to your build
270*4882a593Smuzhiyun#require conf/distro/include/security_flags.inc
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun# Image level user/group configuration.
273*4882a593Smuzhiyun# Inherit extrausers to make the setting of EXTRA_USERS_PARAMS effective.
274*4882a593Smuzhiyun#IMAGE_CLASSES += "extrausers"
275*4882a593Smuzhiyun# User / group settings
276*4882a593Smuzhiyun# The settings are separated by the ; character.
277*4882a593Smuzhiyun# Each setting is actually a command. The supported commands are useradd,
278*4882a593Smuzhiyun# groupadd, userdel, groupdel, usermod and groupmod.
279*4882a593Smuzhiyun#EXTRA_USERS_PARAMS = "\
280*4882a593Smuzhiyun#    useradd -p '' tester; \
281*4882a593Smuzhiyun#    groupadd developers; \
282*4882a593Smuzhiyun#    userdel nobody; \
283*4882a593Smuzhiyun#    groupdel video; \
284*4882a593Smuzhiyun#    groupmod -g 1020 developers; \
285*4882a593Smuzhiyun#    usermod -s /bin/sh tester; \
286*4882a593Smuzhiyun#"
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun# Various packages dynamically add users and groups to the system at package
289*4882a593Smuzhiyun# install time.  For programs that do not care what the uid/gid is of the
290*4882a593Smuzhiyun# resulting users/groups, the order of the install will determine the final
291*4882a593Smuzhiyun# uid/gid.  This can lead to non-deterministic uid/gid values from one build
292*4882a593Smuzhiyun# to another.  Use the following settings to specify that all user/group adds
293*4882a593Smuzhiyun# should be created based on a static passwd/group file.
294*4882a593Smuzhiyun#
295*4882a593Smuzhiyun# Note, if you enable or disable the useradd-staticids in a configured system,
296*4882a593Smuzhiyun# the TMPDIR may contain incorrect uid/gid values.  Clearing the TMPDIR
297*4882a593Smuzhiyun# will correct this condition.
298*4882a593Smuzhiyun#
299*4882a593Smuzhiyun# By default the system looks in the BBPATH for files/passwd and files/group
300*4882a593Smuzhiyun# the default can be overridden by specifying USERADD_UID/GID_TABLES.
301*4882a593Smuzhiyun#
302*4882a593Smuzhiyun#USERADDEXTENSION = "useradd-staticids"
303*4882a593Smuzhiyun#USERADD_UID_TABLES = "files/passwd"
304*4882a593Smuzhiyun#USERADD_GID_TABLES = "files/group"
305*4882a593Smuzhiyun#
306*4882a593Smuzhiyun# In order to prevent generating a system where a dynamicly assigned uid/gid
307*4882a593Smuzhiyun# can exist, you should enable the following setting.  This will force the
308*4882a593Smuzhiyun# system to error out if the user/group name is not defined in the
309*4882a593Smuzhiyun# files/passwd or files/group (or specified replacements.)
310*4882a593Smuzhiyun#USERADD_ERROR_DYNAMIC = "1"
311*4882a593Smuzhiyun
312*4882a593Smuzhiyun# Enabling FORTRAN
313*4882a593Smuzhiyun# Note this is not officially supported and is just illustrated here to
314*4882a593Smuzhiyun# show an example of how it can be done
315*4882a593Smuzhiyun# You'll also need your fortran recipe to depend on libgfortran
316*4882a593Smuzhiyun#FORTRAN:forcevariable = ",fortran"
317*4882a593Smuzhiyun
318*4882a593Smuzhiyun#
319*4882a593Smuzhiyun# Kernel image features
320*4882a593Smuzhiyun#
321*4882a593Smuzhiyun# The INITRAMFS_IMAGE image variable will cause an additional recipe to
322*4882a593Smuzhiyun# be built as a dependency to the what ever rootfs recipe you might be
323*4882a593Smuzhiyun# using such as core-image-sato.  The initramfs might be needed for
324*4882a593Smuzhiyun# the initial boot of the target system such as to load kernel
325*4882a593Smuzhiyun# modules prior to mounting the root file system.
326*4882a593Smuzhiyun#
327*4882a593Smuzhiyun# INITRAMFS_IMAGE_BUNDLE variable controls if the image recipe
328*4882a593Smuzhiyun# specified by the INITRAMFS_IMAGE will be run through an extra pass
329*4882a593Smuzhiyun# through the kernel compilation in order to build a single binary
330*4882a593Smuzhiyun# which contains both the kernel image and the initramfs.  The
331*4882a593Smuzhiyun# combined binary will be deposited into the tmp/deploy directory.
332*4882a593Smuzhiyun# NOTE: You can set INITRAMFS_IMAGE in an image recipe, but
333*4882a593Smuzhiyun#       INITRAMFS_IMAGE_BUNDLE can only be set in a conf file.
334*4882a593Smuzhiyun#
335*4882a593Smuzhiyun#INITRAMFS_IMAGE = "core-image-minimal-initramfs"
336*4882a593Smuzhiyun#INITRAMFS_IMAGE_BUNDLE = "1"
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun#
339*4882a593Smuzhiyun# IPK Hierarchical feed
340*4882a593Smuzhiyun#
341*4882a593Smuzhiyun# In some cases it may be desirable not to have all package files in the same
342*4882a593Smuzhiyun# directory. An example would be when package feeds are to be uploaded to a
343*4882a593Smuzhiyun# shared webhosting service or transferred to a Windows machine which may have
344*4882a593Smuzhiyun# problems with directories containing multiple thousands of files.
345*4882a593Smuzhiyun#
346*4882a593Smuzhiyun# If the IPK_HIERARCHICAL_FEED variable is set to "1", packages will be split
347*4882a593Smuzhiyun# between subdirectories in a similar way to how Debian package feeds are
348*4882a593Smuzhiyun# organised. In the hierarchical feed, package files are written to
349*4882a593Smuzhiyun# <outdir>/<arch>/<pkg_prefix>/<pkg_subdir>, where pkg_prefix is the first
350*4882a593Smuzhiyun# letter of the package file name for non-lib packages or "lib" plus the 4th
351*4882a593Smuzhiyun# letter of the package file name for lib packages (eg, 'l' for less, 'libc' for
352*4882a593Smuzhiyun# libc6).  pkg_subdir is the root of the package file name, discarding the
353*4882a593Smuzhiyun# version and architecture parts and the common suffixes '-dbg', '-dev', '-doc',
354*4882a593Smuzhiyun# '-staticdev', '-locale' and '-locale-*' which are listed in
355*4882a593Smuzhiyun# meta/conf/bitbake.conf.
356*4882a593Smuzhiyun#
357*4882a593Smuzhiyun# If IPK_HIERARCHICAL_FEED is unset or set to any other value, the traditional
358*4882a593Smuzhiyun# feed layout is used where package files are placed in <outdir>/<arch>/.
359*4882a593Smuzhiyun#
360*4882a593Smuzhiyun#IPK_HIERARCHICAL_FEED = "1"
361*4882a593Smuzhiyun#
362*4882a593Smuzhiyun
363*4882a593Smuzhiyun#
364*4882a593Smuzhiyun# System initialization
365*4882a593Smuzhiyun#
366*4882a593Smuzhiyun#INIT_MANAGER = "none"
367*4882a593Smuzhiyun#INIT_MANAGER = "sysvinit"
368*4882a593Smuzhiyun#INIT_MANAGER = "systemd"
369*4882a593Smuzhiyun#INIT_MANAGER = "mdev-busybox"
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun#
372*4882a593Smuzhiyun# Use a full set of packages instead of busybox for base utils
373*4882a593Smuzhiyun#
374*4882a593Smuzhiyun#PREFERRED_PROVIDER_base-utils = "packagegroup-core-base-utils"
375*4882a593Smuzhiyun#VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils"
376*4882a593Smuzhiyun#VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock"
377*4882a593Smuzhiyun#VIRTUAL-RUNTIME_base-utils-syslog = "syslog"
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun#
380*4882a593Smuzhiyun# Enable LTO system-wide
381*4882a593Smuzhiyun#
382*4882a593Smuzhiyun#require conf/distro/include/lto.inc
383*4882a593Smuzhiyun#DISTRO_FEATURES:append = " lto"
384*4882a593Smuzhiyun
385*4882a593Smuzhiyun#
386*4882a593Smuzhiyun# Set PS1 for SDK
387*4882a593Smuzhiyun#
388*4882a593Smuzhiyun#SDK_PS1 ?= "${SDK_NAME}${SDK_VENDOR}:\$ "
389