aboutsummaryrefslogtreecommitdiffstats
path: root/meta-arago-distro/conf/distro/arago.conf
blob: f483091a2241e4ef42b8d2fda56d5d2e76292740 (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
# Name and version of the distribution
DISTRO_NAME = "Arago"
DISTRO_VERSION = "2019.11"
DISTRO_FEED_URI ?= "http://lcpd.gt.design.ti.com"
BUILD_VARIANT = "${@['prod','rt','systest'][int(d.getVar('ARAGO_RT_ENABLE'))+int(d.getVar('ARAGO_SYSTEST_ENABLE'))*2]}"
FEEDURIPREFIX ?= "packages/${DISTRO}-thud/${BUILD_VARIANT}/"

OPKG_ARGS_remove = "--prefer-arch-to-version"

TI_MIRROR = "http://software-dl.ti.com/processor-sdk-mirror/sources/"
MIRRORS += " \
ftp://.*/.*       http://arago-project.org/files/sources/ \n \
https?$://.*/.*   http://arago-project.org/files/sources/ \n \
bzr://.*/.*      ${TI_MIRROR} \n \
cvs://.*/.*      ${TI_MIRROR} \n \
git://.*/.*      ${TI_MIRROR} \n \
gitsm://.*/.*    ${TI_MIRROR} \n \
hg://.*/.*       ${TI_MIRROR} \n \
osc://.*/.*      ${TI_MIRROR} \n \
p4://.*/.*       ${TI_MIRROR} \n \
npm://.*/.*      ${TI_MIRROR} \n \
ftp://.*/.*      ${TI_MIRROR} \n \
https?$://.*/.*  ${TI_MIRROR} \n \
svn://.*/.*      ${TI_MIRROR} \n \
"

# SDK paths and names
SDK_NAME_PREFIX = "arago"
SDK_VERSION = "${DISTRO_VERSION}"
SDK_VENDOR = "-${SDK_NAME_PREFIX}"
SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_VERSION}"
SDKPATH_REAL = "/usr/local/${SDK_NAME_PREFIX}-${SDK_VERSION}"
SDKPATH = "${@"/tmp/"+"x"*96+"/"+"y"*96}"

IMAGE_CLASSES += "image_types_md5"
IMAGE_FSTYPES += "tar.xz.md5"

# FIT image for secure devices
KERNEL_CLASSES += "kernel-fitimage"
FITIMAGE_HASH_ALGO = ""
FITIMAGE_PACK_TEE = "0"
FITIMAGE_PACK_TEE_am437x-hs-evm = "1"
FITIMAGE_PACK_TEE_am57xx-hs-evm = "1"
FITIMAGE_PACK_TEE_dra7xx-hs-evm = "1"
FITIMAGE_DTB_BY_NAME = "1"
FITIMAGE_TEE_BY_NAME = "1"
FITIMAGE_CONF_BY_NAME = "1"

KERNEL_IMAGETYPES_dra7xx-hs-evm = "zImage fitImage"
KERNEL_IMAGETYPES_am57xx-hs-evm = "zImage fitImage"
KERNEL_IMAGETYPES_am437x-hs-evm = "zImage fitImage"
KERNEL_IMAGETYPES_am335x-hs-evm = "zImage fitImage"
KERNEL_IMAGETYPES_am65xx-hs-evm = "Image fitImage"

KERNEL_IMAGETYPES_k2e-hs-evm = "zImage fitImage"
INITRAMFS_IMAGE_k2e-hs-evm = "k2-fw-initrd"
INITRAMFS_FSTYPES_k2e-hs-evm = "cpio.gz"

KERNEL_IMAGETYPES_k2hk-hs-evm = "zImage fitImage"
INITRAMFS_IMAGE_k2hk-hs-evm = "k2-fw-initrd"
INITRAMFS_FSTYPES_k2hk-hs-evm = "cpio.gz"

KERNEL_IMAGETYPES_k2g-hs-evm = "zImage fitImage"
INITRAMFS_IMAGE_k2g-hs-evm = "k2-fw-initrd"
INITRAMFS_FSTYPES_k2g-hs-evm = "cpio.gz"

KERNEL_IMAGETYPES_k2l-hs-evm = "zImage fitImage"
INITRAMFS_IMAGE_k2l-hs-evm = "k2-fw-initrd"
INITRAMFS_FSTYPES_k2l-hs-evm = "cpio.gz"

# Mask any broken recipes (currently none)
#BBMASK = ""

# Start with default set of distro features
DISTRO_FEATURES = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"

# Remove some unwanted features
DISTRO_FEATURES_remove = "x11"

# Add additional distro features
DISTRO_FEATURES_append = " pam wayland opengl"

# Set global runtime providers for major components
ARAGO_SYSVINIT ?= "0"
VIRTUAL-RUNTIME_dev_manager = "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "udev", "systemd", d)}"
VIRTUAL-RUNTIME_init_manager = "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "sysvinit", "systemd", d)}"
VIRTUAL-RUNTIME_initscripts = "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "initscripts", "systemd-compat-units", d)}"
VIRTUAL-RUNTIME_initramfs = "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "sysvinit-initramfs", "systemd-initramfs", d)}"
VIRTUAL-RUNTIME_login_manager = "busybox shadow"

DISTRO_FEATURES_append = "${@oe.utils.conditional("ARAGO_SYSVINIT", "1", "", " systemd", d)}"

# Set preferred Qt version
QT_PROVIDER ?= "qt5"

# Distro-specific package configuration
PACKAGECONFIG_pn-weston = "egl kms launch clients"
PACKAGECONFIG_append_pn-systemd = " coredump"

# Configure Qt5 flags (GLES is still required for qtdeclarative and qtwebkit)
PACKAGECONFIG_GL_pn-qtbase = "gles2 linuxfb"
PACKAGECONFIG_DISTRO_pn-qtbase = "icu examples accessibility gif gbm kms libinput xkbcommon-evdev"
PACKAGECONFIG_FONTS_pn-qtbase = "fontconfig"

# Add gstreamer in package configuration to enable video
PACKAGECONFIG_append_pn-qtmultimedia  = " gstreamer"

# Prefer OpenSSL over GnuTLS for curl due to TSU exemptions
PACKAGECONFIG_pn-curl = "${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)} ssl zlib"

# No GFX on Keystone or OMAPL1
PACKAGECONFIG_remove_pn-gstreamer1.0-plugins-base_keystone = "wayland egl gles2"
PACKAGECONFIG_remove_pn-gstreamer1.0-plugins-good_keystone = "wayland egl gles2"
PACKAGECONFIG_remove_pn-gstreamer1.0-plugins-bad_keystone = "wayland egl gles2"

PACKAGECONFIG_remove_pn-gstreamer1.0-plugins-base_omapl1 = "wayland egl gles2"
PACKAGECONFIG_remove_pn-gstreamer1.0-plugins-good_omapl1 = "wayland egl gles2"
PACKAGECONFIG_remove_pn-gstreamer1.0-plugins-bad_omapl1 = "wayland egl gles2"

PACKAGECONFIG_pn-glmark2 = "drm-gles2 wayland-gles2"

# Enable U-boot OPTEE config for K3
PACKAGECONFIG_append_pn-u-boot-ti-staging_k3 = " optee"

# Enable encryption support in open62541
PACKAGECONFIG_append_pn-open62541 = " encrypt"

# Enable netperf intervals/pacing and histogram
PACKAGECONFIG_append_pn-netperf = "intervals histogram"

# Use OpenGL ES2 for SDL2
PACKAGECONFIG_GL_pn-libsdl2 = "gles2"

# Configure RAMFS for jailhouse linux-demo
JH_RAMFS_IMAGE = "arago-tiny-image"

# K3 devices also requre R5 SPL and SYSFW to boot
EXTRA_IMAGEDEPENDS_append_k3 = " u-boot-k3-r5 ti-sci-fw"
IMAGE_BOOT_FILES_append_k3 = " tiboot3.bin sysfw.itb"
EXTRA_WIC_DEPENDS = ""
EXTRA_WIC_DEPENDS_k3 = "u-boot-k3-r5:do_deploy ti-sci-fw:do_deploy"
do_image_wic[depends] += "${EXTRA_WIC_DEPENDS}"

# Enable UI and scripting for perf
PERF_FEATURES_ENABLE ?= "perf-scripting perf-tui"

# Do not warn on meta-gnome w/o x11
SKIP_META_GNOME_SANITY_CHECK = "1"

ARAGO_KERNEL_SUFFIX ?= ""

# Set real-time kernel suffix
ARAGO_RT_ENABLE ?= "0"
ARAGO_KERNEL_SUFFIX_append = "${@oe.utils.conditional("ARAGO_RT_ENABLE", "1", "-rt", "", d)}"

# Set systest kernel suffix
ARAGO_SYSTEST_ENABLE ?= "0"
ARAGO_KERNEL_SUFFIX_append = "${@oe.utils.conditional("ARAGO_SYSTEST_ENABLE", "1", "-systest", "", d)}"
IMAGE_FSTYPES_remove = "${@['','ubi ubifs'][d.getVar('ARAGO_SYSTEST_ENABLE') == '1']}"

# Toolchain should be selected by setting TOOLCHAIN_BRAND in local.conf
# Set some sane defaults, in case someone forgets to set them in local.conf
TC_SANE_DEFAULT ?= "arm"
TOOLCHAIN_TYPE ?= "external"
TOOLCHAIN_TYPE_omapl1 = "internal"
TOOLCHAIN_BRAND ?= "${@[d.getVar('TC_SANE_DEFAULT'),'gcc'][d.getVar('TOOLCHAIN_TYPE') == 'internal']}"

require conf/distro/include/toolchain-${TOOLCHAIN_BRAND}.inc
require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc

# Enable basic stack and buffer overflow protections
#TARGET_CPPFLAGS += "-fstack-protector -D_FORTIFY_SOURCE=1"
#TARGET_CPPFLAGS += "-fstack-protector"

# Load default preferences
require conf/distro/include/arago-prefs.inc

# Enable generation of source packages for SDKs
require conf/distro/include/arago-source-ipk.inc

# Allow branding on top of Arago Distro and Core TI-SDK
# If ARAGO_BRAND is not set in local.conf, default to core
ARAGO_BRAND ??= "core"

require conf/distro/include/branding-${ARAGO_BRAND}.inc

# Disable polkit's systemd configuration from meta-oe
POLKITAUTH = ""

# Disable meta-virtualization sanity check and warning
SKIP_META_VIRT_SANITY_CHECK = "1"

# Set ENTERPRISE_DISTRO flag to ensure that recipes that have been flagged
# do not attempt to enable features that have potential commercial
# licensing issues.
ENTERPRISE_DISTRO = "1"

# oe-core uses external libav instead of internal libav for gst-ffmpeg. We
# disable by default the codecs in libav that causes issues with shipping an
# Arago based SDK. No need to prevent gst-ffmpeg from being used since we
# disable troublesome software.
LICENSE_FLAGS_WHITELIST = "commercial_gst-ffmpeg commercial_gstreamer1.0-libav commercial_faad2 non-commercial_netperf"

# Do not package own copy of perl into devkit, rely on host one
ASSUME_PROVIDED += "nativesdk-perl"