-
-
Notifications
You must be signed in to change notification settings - Fork 53
/
device.yml
166 lines (144 loc) · 5.66 KB
/
device.yml
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
# All blocks, sections, and values can be omitted to use the default, unless otherwise specified.
# This is an individual device config so the type is "device", which is the default.
type: device
# Basic device info (REQUIRED)
device:
# Codename (REQUIRED)
name: raven
# Vendor name (REQUIRED; typically OEM name, but Pixel devices use google_devices)
vendor: google_devices
# ROM-related info (REQUIRED)
platform:
# Path to the AOSP device product makefile (REQUIRED)
product_makefile: device/google/raviole/aosp_raven.mk
# Soong namespaces to import
# No namespaces are necessary on Pixel devices.
namespaces:
- hardware/google/pixel
# All directories containing SELinux policies used for this device
sepolicy_dirs:
- hardware/google/pixel-sepolicy
- device/google/gs101-sepolicy
# Config snippets to include.
# All snippets are merged together to make the final config. Splitting configs into
# logical sections that can be reused across multiple devices is recommended; see
# config/pixel/snippets for examples.
includes:
- snippets/2019.yml
# Items to generate or extract from stock.
# Unless otherwise specified, all items are enabled by default.
# In most cases, this section is unnecessary for Pixel devices.
generate:
# Resolve overriden build rules into rules to build packages from source
overrides: true
# Identify apps that should be presigned and automatically mark them accordingly
presigned: true
# Flatten prebuilt APEX modules. Disabled by default, as this is currently broken
flat_apex: false
# Extract proprietary files
files: true
# System properties
props: true
# Build SELinux policies available in AOSP, included in stock but not built by default
sepolicy_dirs: true
# Resource overlays for configs, etc.
overlays: true
# Vendor interface HALs (manifest)
vintf: true
# Firmware for factory images packages
factory_firmware: true
# Firmware for OTA packages. Not yet implemented
ota_firmware: true
# Product targets with the same device name as stock (e.g. aosp_raven -> raven)
products: true
# Filters for items extracted from stock.
# All filter sets have the same format: match, prefix, suffix, substring, regex
# Unless otherwise specified, all filter sets are *exclusion* lists, so all items
# not matched by the filters will be *included*.
#
# For all filter sets, only *missing* items (items present in stock images, but
# not the AOSP build) will be considered. This means that filters don't have to
# be comprehensive in most cases, as many items will be ignored automatically.
filters:
# System properties (by key, e.g. ro.product.system.device)
props:
# Whether to include or exclude matched items. Items not matched will have the opposite action
# include: Inclusion list (aka whitelist, allowlist)
# exclude: Exclusion list (aka blacklist, ignorelist)
mode: exclude
# Match these specific items
match:
# Example: match "ro.gfx.angle.supported"
- ro.gfx.angle.supported
# Match all items with any of these prefixes
prefix:
# Example: match all items starting with "setupwizard."
- setupwizard.
# Match all items with any of these suffixes
suffix:
# Example: match all items ending in ".device"
- .device
# Match all items containing any of these substrings (case-sensitive)
substring:
# Example: match all items containing ".boot."
- .boot.
# Match all items matching any of these regular expressions (regexes)
# For performance reasons, you should only use these when necessary.
# Wrap regexes with single-quotes to keep special characters intact.
regex:
# Example: match all items of the format "ro.surface_flinger.*_ms"
- '^ro\.surface_flinger\.(?:.*)_ms$'
# Example 2: match all items with numbers
- '^.*[0-9].*$'
# Filter sets below are mostly empty for brevity, as the format is the same for
# all filters.
# Resource overlay keys
# Format: package/OverlayableConfig:type/res_name
overlay_keys:
match:
# Simple example
- android:string-array/config_companionDevicePackages
# Example with overlayable config
# Most packages don't need overlayable config names. Check overlays/[partition].txt for keys
- com.android.wifi.resources/WifiCustomization:integer/config_wifi_framework_wifi_score_good_link_speed_5
# Resource overlay values
overlay_values:
substring:
- com.google.android.gms
# Resource overlay APK file names (to work around aapt2 parsing bugs)
# Only base file name, not full path
overlay_files:
match:
- HbmSVManager__auto_generated_rro_product.apk
# Firmware or system partitions to exclude
partitions:
match:
# Don't build vendor
- vendor
# Exclude modem firmware
- modem
# Paths of APKs to mark as presigned
# Default mode is to *include* these apps in addition to auto-detected ones, unlike most filters
presigned:
match:
- system_ext/priv-app/EuiccSupportPixel/EuiccSupportPixel.apk
# Paths of SELinux policies to exclude
sepolicy_dirs:
match:
# Exclude ramdump debugging
- hardware/google/pixel-sepolicy/ramdump
# Files to include in barebones preparation builds.
# Start with an empty list, then add the files necessary to make generate-prep
# build successfully with no errors. These are usually dependency libraries for
# packages built from source.
#
# Default mode is to *include* only these files, unlike most filters.
# No files are included by default.
dep_files:
match:
- vendor/lib/libOpenCL.so
- vendor/lib64/libOpenCL.so
# Proprietary files to exclude
files:
match:
- product/framework/libhwinfo.jar