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
|
require conf/distro/poky.conf
# Insert overrides "agldefaulttune" and "forcedefaulttune" before forcevariable
OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}${LIBCOVERRIDE}:agldefaulttune:forcedefaulttune:forcevariable"
# AGL specific derivations
DISTRO = "poky-agl"
DISTRO_NAME = "Automotive Grade Linux"
# Release flags
DISTRO_CODENAME = "salmon"
AGL_BRANCH = "master"
AGLVERSION = "18.91.0"
# switch devel/release
#AGLRELEASETYPE ?= "agldevelopment"
AGLRELEASETYPE := "aglrelease"
OVERRIDES .= ":${AGLRELEASETYPE}"
#for development
DISTRO_VERSION:agldevelopment := "${AGLVERSION}+snapshot-${METADATA_REVISION}"
#for release
DISTRO_VERSION:aglrelease := "${AGLVERSION}"
DISTRO_BRANCH_VERSION_TAG = "${DISTRO_CODENAME}/${@'${DISTRO_VERSION}'.replace('+snapshot-${METADATA_REVISION}','')}"
# reproducible builds:
# Set the desired timestamps
# E.g. update for (major) releases
export SOURCE_DATE_EPOCH = "1732531413"
REPRODUCIBLE_TIMESTAMP_ROOTFS = "1732531413"
# SDK
SDK_VENDOR = "-aglsdk"
# SDKPATHINSTALL is the folder where the SDK is going to be installed
# Due to an issue with the qt5 environment (see SPEC-1667),
# we add DEFAULTTUNE to the SDKPATH to mitigate the issue.
SDKPATHINSTALL = "/opt/agl-sdk/${SDK_VERSION}-${DEFAULTTUNE}"
MAINTAINER = "AGL https://lists.automotivelinux.org/g/agl-dev-community"
TARGET_VENDOR = "-agl"
# Override these in poky based distros
AGL_DEFAULT_DISTRO_FEATURES = "usrmerge largefile opengl wayland pam bluetooth bluez5 3g polkit"
POKY_DEFAULT_DISTRO_FEATURES := "${AGL_DEFAULT_DISTRO_FEATURES}"
OVERRIDES .= ":${DISTRO_CODENAME}"
DISTRO_FEATURES:remove = "x11"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "pulseaudio"
INIT_MANAGER = "systemd"
# Override default of "systemd-compat-units"
VIRTUAL-RUNTIME_initscripts = ""
# Override default of "busybox-syslog"
VIRTUAL-RUNTIME_base-utils-syslog = ""
# network manager to use (possible values: systemd, connman)
VIRTUAL-RUNTIME_net_manager ?= "connman"
QEMU_TARGETS ?= "arm aarch64 i386 x86_64 riscv64"
# Other QEMU_TARGETS "mips mips64 mips64el ppc sh4"
MIRRORS =+ "\
bzr://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
cvs://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
git://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
gitsm://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
hg://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
osc://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
p4://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
svn://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
bzr://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
cvs://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
git://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
gitsm://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
hg://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
osc://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
p4://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
svn://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
\
ftp://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
http://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
https://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
ftp://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
http://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
https://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
"
# The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
# fetch from the network (and warn you if not). To disable the test set
# the variable to be empty.
# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=HEAD
CONNECTIVITY_CHECK_URIS ?= ""
# using multiple BSP layers causes dangling bbappends in meta-agl-bsp
# turn it into a warning
#BB_DANGLINGAPPENDS_WARNONLY = "1"
# Not yet upstreamed; should be submitted.
SECURITY_CFLAGS:pn-qtwebengine = "${SECURITY_NO_PIE_CFLAGS}"
# AGL uses 4 optimization levels
# 2 for ARM 32bit
# - a high and a medium setting for the CCARGS
# - the high setting is default (needs >= cortex-a15)
# - the medium setting is enabled with: DISTRO_FEATURES:append = " agl-medium-arm-compiler "
# 1 for ARM 64bit / AARCH64
# 1 for x86-64
# 1 for RISC-V 64-bit
require conf/distro/include/${TARGET_ARCH}-tune.inc
# Generic qemu and qemuboot (runqemu) enhancements
# check qemuboot.bbclass
# - use 2G RAM by default
QB_MEM ?= "-m 2048"
# use pulseaudio on the host side - off as qemu-native is built with alsa
#QB_AUDIO_DRV = "pa"
# expose a virtual 'hda' sound card to the guest (arm/aarch64/x86-64)
QB_AUDIO_OPT = "-device intel-hda -device hda-duplex -audiodev alsa,id=agl"
# Board templates can add extra IMAGE_FSTYPES through this.
# It is added (late) through the AGL image recipes.
AGL_EXTRA_IMAGE_FSTYPES ??= ""
AGL_EXTRA_INITRAMFS_FSTYPES ??= ""
#
# Default IMAGE FSTYPES wic.xz
AGL_DEFAULT_IMAGE_FSTYPES ?= "wic.xz wic.bmap wic.xz.sha256sum"
AGL_DEFAULT_IMAGE_FSTYPES:qemuall ?= "${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
AGL_DEFAULT_IMAGE_FSTYPES:append:netboot = " ${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
AGL_DEFAULT_INITRAMFS_FSTYPES ?= "ext4.gz"
# DEFAULT IMAGE_FSTYPES for AGL (no - BSPs should not set this)
#
IMAGE_FSTYPES = "${AGL_DEFAULT_IMAGE_FSTYPES} ${AGL_EXTRA_IMAGE_FSTYPES}"
INITRAMFS_FSTYPES = "${AGL_DEFAULT_INITRAMFS_FSTYPES} ${AGL_EXTRA_INITRAMFS_FSTYPES}"
#
|