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