Add all of the packages used to support older/upgrading devices to GSI

There are packages included in system_ext based on the shipping api level of
the device. All of those packages should be added to GSI to
support all of the devices with supported shipping API levels

Test: lunch aosp_x86_64 && m
Bug: 298506436
Bug: 205764958
Change-Id: I0956b25bc4e4dc1f80584adc8664bad7a291eca0
1 file changed
tree: 85cfb7cce75145bac6618c91b1af66c4513419ea
  1. bluetooth/
  2. dummy_arm/
  3. dummy_arm64/
  4. dummy_x86/
  5. dummy_x86_64/
  6. gki419_arm64/
  7. gki_arm64/
  8. gki_x86_64/
  9. mgsi/
  10. overlays/
  11. Android.bp
  12. AndroidProducts.mk
  13. BoardConfigGkiCommon.mk
  14. gki419_arm64.mk
  15. gki_arm64.mk
  16. gki_common.mk
  17. gki_x86_64.mk
  18. gsi_arm.mk
  19. gsi_arm64.mk
  20. gsi_product.mk
  21. gsi_system_ext.mk
  22. gsi_x86.mk
  23. gsi_x86_64.mk
  24. METADATA
  25. OWNERS
  26. README.md
README.md

GSI

This document introduces special GSI settings for facilitating xTS-on-GSI with a single image.

Support system_dlkm partition

[BoardConfigGsiCommon.mk]

BOARD_USES_SYSTEM_DLKMIMAGE := true
BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm

[gsi_release.mk]

PRODUCT_BUILD_SYSTEM_DLKM_IMAGE := false

Starting from Android 13, all devices must include a system_dlkm partition. GSI enables system_dlkm to support the devices with system_dlkm partition, and be compatible with old devices without a system_dlkm partition.

With these configurations, /system/system_dlkm would not be created. Instead, a /system/lib/modules -> /system_dlkm/lib/modules symlink is created.

For device without system_dlkm partition, the symlink would be dangling. The dangling symlink shouldn‘t be followed anyway because the device doesn’t use system_dlkm.

For device with system_dlkm, they can load modules via that path normally like when they are using their original system image.

SystemUI overlays

Some devices access the private android framework resource by @*android: while overlaying their SystemUI setting status_bar_header_height_keyguard. However, referencing private framework resource IDs from RRO packages in the vendor partition crashes on these devices when GSI is used. This is because private framework resource don't have a stable ID, and these vendor RRO packages would be referencing to dangling resource references after GSI is used (b/245806899).

In order to prevent SystemUI crash, GSI adds a runtime resource overlay in the system_ext partition, which have higher overlay precedence than RROs on vendor partition, so the problematic vendor RROs would be overridden.

Lifetime of this package:

  • Starts at: Android 14.
  • Deprecation plan: TBD, depends on b/254581880.