README.md
1# GSI
2
3This document introduces special GSI settings for facilitating xTS-on-GSI with
4a single image.
5
6### Support system_dlkm partition
7
8```
9[BoardConfigGsiCommon.mk]
10
11BOARD_USES_SYSTEM_DLKMIMAGE := true
12BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
13TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm
14
15[gsi_release.mk]
16
17PRODUCT_BUILD_SYSTEM_DLKM_IMAGE := false
18```
19
20Starting from Android 13, all devices must include a [system_dlkm partition].
21GSI enables system_dlkm to support the devices with system_dlkm partition,
22and be compatible with old devices without a system_dlkm partition.
23
24With these configurations, `/system/system_dlkm` would not be created.
25Instead, a `/system/lib/modules` -> `/system_dlkm/lib/modules` symlink is
26created.
27
28For device without system_dlkm partition, the symlink would be dangling.
29The dangling symlink shouldn't be followed anyway because the device doesn't
30use system_dlkm.
31
32For device with system_dlkm, they can load modules via that path normally like
33when they are using their original system image.
34
35[system_dlkm partition]: https://source.android.com/docs/core/architecture/bootloader/partitions/gki-partitions
36
37### SystemUI overlays
38
39Some devices access the private android framework resource by `@*android:`
40while overlaying their SystemUI setting `status_bar_header_height_keyguard`.
41However, referencing private framework resource IDs from RRO packages in the
42vendor partition crashes on these devices when GSI is used. This is because
43private framework resource don't have a stable ID, and these vendor RRO
44packages would be referencing to dangling resource references after GSI is
45used (b/245806899).
46
47In order to prevent SystemUI crash, GSI adds a runtime resource overlay in
48the system_ext partition, which have higher overlay precedence than RROs on
49vendor partition, so the problematic vendor RROs would be overridden.
50
51Lifetime of this package:
52* Starts at: Android 14.
53* Deprecation plan: TBD, depends on b/254581880.
54