From 1fa8bf58855fc3fb7fa527c6bcd0f95fef394152 Mon Sep 17 00:00:00 2001 From: Devika Krishnadas Date: Mon, 26 Feb 2024 17:58:11 +0000 Subject: [PATCH 01/72] Move Gralloc packages to gs-common Bug: 275906497 Test: Boot succeeds Change-Id: I879a5ef8365abe018c501cdb0b06c9753e0e5902 Signed-off-by: Devika Krishnadas --- device.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/device.mk b/device.mk index e3818ced..db280183 100644 --- a/device.mk +++ b/device.mk @@ -546,10 +546,6 @@ PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000 PRODUCT_PACKAGES += \ com.android.future.usb.accessory -PRODUCT_PACKAGES += \ - android.hardware.graphics.mapper@4.0-impl \ - android.hardware.graphics.allocator-V1-service - PRODUCT_PACKAGES += \ android.hardware.memtrack-service.pixel \ libion_exynos \ From d19f4e8c9561c324fadeb86ae7a0ab23abea761f Mon Sep 17 00:00:00 2001 From: Sungtak Lee Date: Tue, 27 Feb 2024 17:28:23 +0000 Subject: [PATCH 02/72] Add media.c2 aidl fragments Bug: 321808716 Change-Id: I0540df5a15d2186f511fac64de195f7656a78e3d --- manifest_media.xml | 12 ++++++++++++ manifest_media_aosp.xml | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/manifest_media.xml b/manifest_media.xml index 195d587b..d3692477 100644 --- a/manifest_media.xml +++ b/manifest_media.xml @@ -1,4 +1,5 @@ + android.hardware.media.c2 hwbinder @@ -9,4 +10,15 @@ default1 + + + android.hardware.media.c2 + 1 + IComponentStore/default1 + + + android.hardware.media.c2 + 1 + IComponentStore/default + diff --git a/manifest_media_aosp.xml b/manifest_media_aosp.xml index 9a1a3dba..2d1888be 100644 --- a/manifest_media_aosp.xml +++ b/manifest_media_aosp.xml @@ -1,4 +1,5 @@ + android.hardware.media.c2 hwbinder @@ -8,4 +9,10 @@ default + + + android.hardware.media.c2 + 1 + IComponentStore/default + From 7847851d6c40f6ee85801b7e4a1249c8e1ab1531 Mon Sep 17 00:00:00 2001 From: Sungtak Lee Date: Tue, 27 Feb 2024 16:59:35 +0000 Subject: [PATCH 03/72] Enable AIDL media.c2 Bug: 321808716 Change-Id: I2c2d7d3d7539a65aa82125ab13f1498c6defdebf --- device.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/device.mk b/device.mk index e3818ced..eaf4dce6 100644 --- a/device.mk +++ b/device.mk @@ -787,6 +787,8 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PROPERTY_OVERRIDES += \ debug.stagefright.c2inputsurface=-1 \ +PRODUCT_PROPERTY_OVERRIDES += media.c2.hal.selection=aidl + # 2. OpenMAX IL PRODUCT_COPY_FILES += \ device/google/zuma/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ From 47cbecc736d01b8c7f5ba2cc75136f3512ffe429 Mon Sep 17 00:00:00 2001 From: Mark Chang Date: Wed, 28 Feb 2024 13:37:07 +0000 Subject: [PATCH 04/72] Add sepolicy include to zuma. Bug: 325422902 Test: Manual, system booted without sepolicy denied error. Change-Id: Ibbf4fd4f0eab82589915933d5c298839bc0c7f01 Signed-off-by: Mark Chang --- device.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device.mk b/device.mk index 5c62c2e2..cf1dfdad 100644 --- a/device.mk +++ b/device.mk @@ -1182,8 +1182,8 @@ include device/google/gs-common/pixel_ril/ril.mk endif # Touch service -include hardware/google/pixel/input/twoshay.mk include device/google/gs-common/touch/twoshay/aidl_zuma.mk +include device/google/gs-common/touch/twoshay/twoshay.mk # Allow longer timeout for incident report generation in bugreport # Overriding in /product partition instead of /vendor intentionally, From eb1c1ce9363672c9b35c2943ae29baa568bf0c5f Mon Sep 17 00:00:00 2001 From: Juan Yescas Date: Thu, 29 Feb 2024 13:11:48 -0800 Subject: [PATCH 05/72] zuma: Set max supported page size to 65536 Set the max page size on zuma devices to 65536. Bug: 300367402 Test: readelf -Wl /system/bin/init Change-Id: I4d3e45f5da1cfc50c639aea44d5670a936ca47a8 --- device-common.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/device-common.mk b/device-common.mk index 1998d96d..f3e33959 100644 --- a/device-common.mk +++ b/device-common.mk @@ -44,9 +44,6 @@ PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \ ro.thermal_warmreset = true -# Set the max page size to 4096 (b/300367402) -PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 4096 - # Trigger fsck on upgrade (305658663) PRODUCT_PRODUCT_PROPERTIES += \ ro.preventative_fsck = 1 From fe980182cc8f21d7af154271d58aff971f72132c Mon Sep 17 00:00:00 2001 From: Daniel Chapin Date: Tue, 5 Mar 2024 00:55:40 +0000 Subject: [PATCH 06/72] Revert "Add betterbug mk to zuma" Revert submission 26348985-bb-sepolicy-poc Reason for revert: Droidfood blocking bug: b/327991669 Bug: b/327991669 Reverted changes: /q/submissionid:26348985-bb-sepolicy-poc Change-Id: I83de6f389e4ce5113afd751871e0e10e67fb0b4f --- device.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/device.mk b/device.mk index 4c1b246a..fdf33fa8 100644 --- a/device.mk +++ b/device.mk @@ -42,7 +42,6 @@ include device/google/gs-common/sota_app/factoryota.mk include device/google/gs-common/misc_writer/misc_writer.mk include device/google/gs-common/gyotaku_app/gyotaku.mk include device/google/gs-common/bootctrl/bootctrl_aidl.mk -include device/google/gs-common/betterbug/betterbug.mk include device/google/zuma/dumpstate/item.mk From 590a555cb98f4da6ef0cd93cde10cf21efb81306 Mon Sep 17 00:00:00 2001 From: Hongyang Jiao Date: Tue, 5 Mar 2024 23:30:04 +0000 Subject: [PATCH 07/72] Add betterbug.mk to zuma Test: manual test Bug: 322543833 Change-Id: Ibd314393d11b2552b79a7f73cd7ed888e08934b2 --- device.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device.mk b/device.mk index 1d605077..f95742e7 100644 --- a/device.mk +++ b/device.mk @@ -42,6 +42,7 @@ include device/google/gs-common/sota_app/factoryota.mk include device/google/gs-common/misc_writer/misc_writer.mk include device/google/gs-common/gyotaku_app/gyotaku.mk include device/google/gs-common/bootctrl/bootctrl_aidl.mk +include device/google/gs-common/betterbug/betterbug.mk include device/google/zuma/dumpstate/item.mk From 3ceb5170ce03587387eaf794a4ee5d0c68540664 Mon Sep 17 00:00:00 2001 From: Shashwat Razdan Date: Tue, 5 Mar 2024 23:46:52 -0800 Subject: [PATCH 08/72] Adding android.software.contextualsearch to zuma devices. Bug: 326143814 Test: Built and tested on device Change-Id: I4ee1ecd9e292d6e1807ba1f77851e53380db0a07 --- device.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device.mk b/device.mk index 5c62c2e2..50b872e5 100644 --- a/device.mk +++ b/device.mk @@ -286,6 +286,7 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ + frameworks/native/data/etc/android.software.contextualsearch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.contextualsearch.xml \ frameworks/native/data/etc/android.software.vulkan.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ frameworks/native/data/etc/android.software.opengles.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml From c0f9207cf5ad3b04ac4c64c844ab85c4a6803aab Mon Sep 17 00:00:00 2001 From: Chungro Lee Date: Mon, 11 Mar 2024 20:18:13 +0000 Subject: [PATCH 09/72] pixelstats: move learning/model load path to sysfs Reporting learning(relaxation) and model loading once a day * learning and model loading path moved from uevent to sysfs collector. Bug: 329124192 Change-Id: I91039ce3a8ee4630a76113ef7ae6be3bc6908f64 Signed-off-by: Chungro Lee --- pixelstats/service.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index bb64ea62..718fb82c 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -105,6 +105,14 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { "/sys/class/power_supply/maxfg/gmsr", "/sys/class/power_supply/maxfg_base/gmsr", }, + .FGLearningPath = { + "/sys/class/power_supply/maxfg/fg_learning_events", + "/sys/class/power_supply/maxfg_base/fg_learning_events" + }, + .FGModelLoadingPath = { + "/sys/class/power_supply/maxfg/m5_model_state", + "/sys/class/power_supply/maxfg_base/m5_model_state" + }, .DisplayPortStatsPaths = { "/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/link_negotiation_failures", "/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/edid_read_failures", @@ -126,15 +134,7 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { const struct UeventListener::UeventPaths ueventPaths = { .AudioUevent = "/devices/virtual/amcs/amcs", .TypeCPartnerUevent = "PRODUCT_TYPE=", - .FGLearningPath = { - "/sys/class/power_supply/maxfg/fg_learning_events", - "/sys/class/power_supply/maxfg_base/fg_learning_events" - }, - .FwUpdatePath = "", - .FGModelLoadingPath = { - "/sys/class/power_supply/maxfg/m5_model_state", - "/sys/class/power_supply/maxfg_base/m5_model_state" - } + .FwUpdatePath = "" }; int main() { From a4b4967c038aad263bc75f9248a7850355af62a1 Mon Sep 17 00:00:00 2001 From: Spade Lee Date: Tue, 12 Mar 2024 16:51:28 +0000 Subject: [PATCH 10/72] pixelstats: zuma: add history validation path Bug: 329174074 Change-Id: Ia134e6b6b8dc0c9db35bcf36bed700b67466f353 Signed-off-by: Spade Lee --- pixelstats/service.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index 718fb82c..89348a50 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -128,7 +128,8 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { "/sys/devices/platform/hdcp/hdcp1_success_count", "/sys/devices/platform/hdcp/hdcp1_fail_count", "/sys/devices/platform/hdcp/hdcp0_count", - } + }, + .FGLogBufferPath = "/dev/logbuffer_maxfg_monitor" }; const struct UeventListener::UeventPaths ueventPaths = { From df92ac07bdde2453d6f1a0f87d8c1ab0e71df013 Mon Sep 17 00:00:00 2001 From: Shashwat Razdan Date: Tue, 5 Mar 2024 23:46:52 -0800 Subject: [PATCH 11/72] Adding android.software.contextualsearch to zuma devices. Bug: 326143814 Test: Built and tested on device (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3ceb5170ce03587387eaf794a4ee5d0c68540664) Merged-In: I4ee1ecd9e292d6e1807ba1f77851e53380db0a07 Change-Id: I4ee1ecd9e292d6e1807ba1f77851e53380db0a07 CP feature CLs to 24d1-dev --- device.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device.mk b/device.mk index 72a74752..0a3ef25b 100644 --- a/device.mk +++ b/device.mk @@ -287,6 +287,7 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ + frameworks/native/data/etc/android.software.contextualsearch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.contextualsearch.xml \ frameworks/native/data/etc/android.software.vulkan.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ frameworks/native/data/etc/android.software.opengles.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml From 523717b768f5b5ffedfcad86d5403dc8ac87b6a7 Mon Sep 17 00:00:00 2001 From: RD Babiera Date: Tue, 19 Mar 2024 18:28:45 +0000 Subject: [PATCH 12/72] usb: handle displayport debounce timer empty reads If the device is unplugged then plugged before mDisplayPortDebounceTimer triggers, then the new displayPortPollWork could process the trigger in the intial epoll handling loop. Because the timer can be rearmed, the timerfd read results in -EAGAIN because no data is ready, but stale data was ready to begin with. Disarm the debounce timer when displayPortPollWork closes to prevent new work threads from reading timer when not ready. Also log debounce read errors as a warning and not an error. Test: manual test on device Bug: 328553922 (cherry-picked from 94c9c1ac86f398c22ddc446f17bd7ab3fddb675c) Change-Id: Icf3dbe929eb9f0520941a4efe3dcea79a71d46c3 Signed-off-by: RD Babiera --- usb/usb/Usb.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp index 7b037303..fcb31ead 100644 --- a/usb/usb/Usb.cpp +++ b/usb/usb/Usb.cpp @@ -1724,8 +1724,10 @@ void *displayPortPollWork(void *param) { std::vector currentPortStatus; ret = read(usb->mDisplayPortDebounceTimer, &res, sizeof(res)); ALOGI("usbdp: dp debounce triggered, val:%lu ret:%d", res, ret); - if (ret < 0) - ALOGE("usbdp: debounce read errno:%d", errno); + if (ret < 0) { + ALOGW("usbdp: debounce read error:%d", errno); + continue; + } queryVersionHelper(usb, ¤tPortStatus); } else if (events[n].data.fd == usb->mDisplayPortActivateTimer) { string activePartner, activePort; @@ -1776,6 +1778,7 @@ void *displayPortPollWork(void *param) { error: /* Need to disarm so new threads don't get old event */ + armTimerFdHelper(usb->mDisplayPortDebounceTimer, 0); armTimerFdHelper(usb->mDisplayPortActivateTimer, 0); close(link_training_status_fd); link_training_status_fd_error: From 3248117d0616a3402b0e2b8fe30fbd6be5dad55d Mon Sep 17 00:00:00 2001 From: Oleg Blinnikov Date: Fri, 15 Mar 2024 13:45:54 +0000 Subject: [PATCH 13/72] persist.sys.hdcp_checking controls max hdcp Change-Id: Ibe2554019449b6f958fc6e0168ae0deccc9f589d Bug: 321344894 Test: set persist.sys.hdcp_checking, check the file is updated --- conf/init.zuma.usb.rc | 9 +++++++++ device.mk | 3 +++ 2 files changed, 12 insertions(+) diff --git a/conf/init.zuma.usb.rc b/conf/init.zuma.usb.rc index 2cbb30b5..88e187be 100644 --- a/conf/init.zuma.usb.rc +++ b/conf/init.zuma.usb.rc @@ -423,3 +423,12 @@ on property:persist.vendor.usb.displayport.enabled=1 on property:persist.vendor.usb.displayport.enabled=0 write /sys/module/exynos_drm/parameters/dp_enabled 0 write /sys/class/typec/port0/port0.0/mode1/active "no" + +on property:persist.sys.hdcp_checking=always + write /sys/module/exynos_hdcp2/parameters/max_ver 2 + +on property:persist.sys.hdcp_checking="drm-only" + write /sys/module/exynos_hdcp2/parameters/max_ver 2 + +on property:persist.sys.hdcp_checking=never + write /sys/module/exynos_hdcp2/parameters/max_ver 0 diff --git a/device.mk b/device.mk index db84a510..6035df1c 100644 --- a/device.mk +++ b/device.mk @@ -217,6 +217,9 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.usb.displayport.enabled=1 endif +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.hdcp_checking=always + USE_LASSEN_OEMHOOK := true # Use for GRIL From 3a14c951a22987bbc98127fb7235574cfd936fae Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 30 Jan 2024 10:07:06 +0000 Subject: [PATCH 14/72] zuma: upgrade IDisplay to V11 Bug: 307787644 Test: build pass Change-Id: I538f57a0d67f9e8d248e8a1d46e4be46889f0d42 --- device_framework_matrix_product.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml index ba83dfa4..cabebd09 100644 --- a/device_framework_matrix_product.xml +++ b/device_framework_matrix_product.xml @@ -114,7 +114,7 @@ com.google.hardware.pixel.display - 10 + 11 IDisplay default From b80719b25f9e6e4177d9d43352aadc1aa2b52053 Mon Sep 17 00:00:00 2001 From: Wesley Lee Date: Wed, 10 Jan 2024 16:44:36 -0800 Subject: [PATCH 15/72] Adjust 720P and below performance point Bug: 325950790 Change-Id: I3038b4056819e55fff9171f809ff66d6ada969ab Signed-off-by: Wesley Lee --- media_codecs_bo_c2.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/media_codecs_bo_c2.xml b/media_codecs_bo_c2.xml index 443c27e4..2ae83ba7 100644 --- a/media_codecs_bo_c2.xml +++ b/media_codecs_bo_c2.xml @@ -57,10 +57,10 @@ - + - + From f6558918708b3a81b0e954db375015ea0e4b1e3c Mon Sep 17 00:00:00 2001 From: Herbert Xue Date: Wed, 13 Mar 2024 11:39:54 +0800 Subject: [PATCH 16/72] Update SOONG_NAMESPACES to include power-anomaly-sitril folder Bug: 326175117 Test: lunch husky-trunk_staging-userdebug && m PowerAnomalySitril Change-Id: Icdaf363a37c29d9bc7b07b3ee552440fa723f80d --- device.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/device.mk b/device.mk index db84a510..b832b73f 100644 --- a/device.mk +++ b/device.mk @@ -218,6 +218,11 @@ PRODUCT_PROPERTY_OVERRIDES += \ endif USE_LASSEN_OEMHOOK := true +# The "power-anomaly-sitril" is added into PRODUCT_SOONG_NAMESPACES when +# $(USE_LASSEN_OEMHOOK) is true and $(BOARD_WITHOUT_RADIO) is not true. +ifneq ($(BOARD_WITHOUT_RADIO),true) + PRODUCT_SOONG_NAMESPACES += vendor/google/tools/power-anomaly-sitril +endif # Use for GRIL USES_LASSEN_MODEM := true From 82bb1a51126620d8c6427e556c219edf385fece0 Mon Sep 17 00:00:00 2001 From: Jack Wu Date: Fri, 22 Mar 2024 21:33:35 +0800 Subject: [PATCH 17/72] Update health AIDL HAL to V3 Bug: 328327545 Test: TH Test: vts-tradefed run vts -m vts_treble_vintf_vendor_test Signed-off-by: Jack Wu (cherry picked from https://android-review.googlesource.com/q/commit:40f89b2d464071389d395f39928ef0e6d99bf2fb) Merged-In: I7582ba278abcb30cebe041f775efe45633a58bad Change-Id: I7582ba278abcb30cebe041f775efe45633a58bad 24D1-dev is based on 24Q2-release. Therefore, we merged this CL to 24D1-dev. --- health/android.hardware.health-service.zuma.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/health/android.hardware.health-service.zuma.xml b/health/android.hardware.health-service.zuma.xml index 1fe9b8d2..2acaabac 100644 --- a/health/android.hardware.health-service.zuma.xml +++ b/health/android.hardware.health-service.zuma.xml @@ -1,7 +1,7 @@ android.hardware.health - 2 + 3 IHealth/default From 5032fc7cb5da86f9246f00347af480e5713975c9 Mon Sep 17 00:00:00 2001 From: Shashwat Razdan Date: Thu, 28 Mar 2024 18:59:22 +0000 Subject: [PATCH 18/72] Revert "Adding android.software.contextualsearch to zuma devices." Revert submission 26467635-feature_cs Reason for revert: b/329350496 - Introducing new config with `android.*` namespace is not allowed in 24Q2. Reverted changes: /q/submissionid:26467635-feature_cs Change-Id: Icee16ce2f1d8b4971f9db615b862ba36588a9f65 --- device.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/device.mk b/device.mk index 50b872e5..5c62c2e2 100644 --- a/device.mk +++ b/device.mk @@ -286,7 +286,6 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ - frameworks/native/data/etc/android.software.contextualsearch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.contextualsearch.xml \ frameworks/native/data/etc/android.software.vulkan.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ frameworks/native/data/etc/android.software.opengles.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml From 6531ad3c8178c2d1b2de92ac31f8343d07e0b7a2 Mon Sep 17 00:00:00 2001 From: Ziyi Yang Date: Fri, 29 Mar 2024 23:53:45 +0000 Subject: [PATCH 19/72] Adding post notification to gca default permissions Bug: 331677590 Test: Build and flash. Permission was pregranted to gca. Change-Id: Id358ad4ad34b700409e157345a43a93729009af5 --- default-permissions.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/default-permissions.xml b/default-permissions.xml index fd29d6bc..dc6a0a3f 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -51,6 +51,10 @@ + + + + From da4eb5e611f389cf1b9777da3adf313a9cd039c4 Mon Sep 17 00:00:00 2001 From: wenchangliu Date: Mon, 1 Apr 2024 04:05:05 +0000 Subject: [PATCH 20/72] update odd resolution support in vpx and av1 codecs [VSR-4.2.004.001] MUST support the smallest width/height alignment allowed by the video standard. For AVC/HEVC/VCC, this requires 2x2 pixel alignment for YUV 4:2:0 profiles, and 2x1 pixel alignment for YUV 4:2:2 profiles. For VP8/VP9/AV1, this requires 1x1 pixel alignment for any profiles. Note: This is usually stored as the crop rectangle in the bitstream. Bug: 329378524 Test: CtsMediaV2TestCases Change-Id: I0e84a342bf1093c74c712d2c811b37eca9c7908c --- media_codecs_aosp_c2.xml | 10 +++++----- media_codecs_bo_c2.xml | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/media_codecs_aosp_c2.xml b/media_codecs_aosp_c2.xml index c1d4a891..ab61ca92 100644 --- a/media_codecs_aosp_c2.xml +++ b/media_codecs_aosp_c2.xml @@ -108,7 +108,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -222,7 +222,7 @@ - + @@ -238,7 +238,7 @@ - + diff --git a/media_codecs_bo_c2.xml b/media_codecs_bo_c2.xml index 443c27e4..ebafe959 100644 --- a/media_codecs_bo_c2.xml +++ b/media_codecs_bo_c2.xml @@ -19,7 +19,7 @@ - + @@ -34,7 +34,7 @@ - + @@ -52,7 +52,7 @@ - + From f8c54e99126678b4147885dbcddf7f0a25f1f3a3 Mon Sep 17 00:00:00 2001 From: Enzo Liao Date: Mon, 18 Mar 2024 22:34:32 +0800 Subject: [PATCH 21/72] Apply common SELinux policies related to ramdumps and coredumps to zuma. Refer: ag/26620507 Bug: 298102808 Design: go/sys-software-logging Test: Manual Change-Id: I9f0d29ef69dc88cb8e876e37aac09ed7331c79b7 --- device.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/device.mk b/device.mk index 5ac6cbd2..7af2ca08 100644 --- a/device.mk +++ b/device.mk @@ -16,7 +16,7 @@ include device/google/gs-common/device.mk include device/google/gs-common/gs_watchdogd/watchdog.mk -include device/google/gs-common/ramdump/ramdump.mk +include device/google/gs-common/ramdump_and_coredump/ramdump_and_coredump.mk include device/google/gs-common/soc/soc.mk include device/google/gs-common/modem/modem.mk include device/google/gs-common/aoc/aoc.mk @@ -1147,9 +1147,6 @@ else BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/logger_app endif -# sscoredump -include hardware/google/pixel/sscoredump/device.mk - # RadioExt Version USES_RADIOEXT_V1_6 = true From 0a091afcbc6f99cba7e25fe8c077c03d23bb92a7 Mon Sep 17 00:00:00 2001 From: Dinesh Yadav Date: Thu, 4 Apr 2024 04:18:01 +0000 Subject: [PATCH 22/72] TPU Rio Tachyon Migration This change includes tachyon targets for edgetpu in the final image TESTED: Create a private build with this change and verified that the tachyon targets were present after flashing on a local device. Bug: 307591410 Change-Id: Id531f0941d043319771e2b10fd3cb6c93c9a7a24 --- device.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/device.mk b/device.mk index 5ac6cbd2..8bddf093 100644 --- a/device.mk +++ b/device.mk @@ -1095,7 +1095,9 @@ PRODUCT_SOONG_NAMESPACES += \ vendor/google_devices/zuma/proprietary/gchips/tpu/darwinn_logging_service \ vendor/google_devices/zuma/proprietary/gchips/tpu/nnapi_stable_aidl \ vendor/google_devices/zuma/proprietary/gchips/tpu/aidl \ - vendor/google_devices/zuma/proprietary/gchips/tpu/hal + vendor/google_devices/zuma/proprietary/gchips/tpu/hal \ + vendor/google_devices/zuma/proprietary/gchips/tpu/tachyon/api \ + vendor/google_devices/zuma/proprietary/gchips/tpu/tachyon/service # TPU firmware PRODUCT_PACKAGES += edgetpu-rio.fw From e47d4c3767acb02ec9de0ed6872fdcdbe709bdbf Mon Sep 17 00:00:00 2001 From: Daniel Chapin Date: Tue, 5 Mar 2024 00:55:40 +0000 Subject: [PATCH 23/72] Revert "Add betterbug mk to zuma" Revert submission 26348985-bb-sepolicy-poc Reason for revert: Droidfood blocking bug: b/327991669 Bug: 327991669 Reverted changes: /q/submissionid:26348985-bb-sepolicy-poc (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:fe980182cc8f21d7af154271d58aff971f72132c) Merged-In: I83de6f389e4ce5113afd751871e0e10e67fb0b4f Change-Id: I83de6f389e4ce5113afd751871e0e10e67fb0b4f 24D1-dev is based on 24Q2-release. Therefore, we merged this CL to 24D1-dev. --- device.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/device.mk b/device.mk index 0a3ef25b..50b872e5 100644 --- a/device.mk +++ b/device.mk @@ -42,7 +42,6 @@ include device/google/gs-common/sota_app/factoryota.mk include device/google/gs-common/misc_writer/misc_writer.mk include device/google/gs-common/gyotaku_app/gyotaku.mk include device/google/gs-common/bootctrl/bootctrl_aidl.mk -include device/google/gs-common/betterbug/betterbug.mk include device/google/zuma/dumpstate/item.mk From 625450137c2d76e6e267aad3fa61c111b572ac8b Mon Sep 17 00:00:00 2001 From: Martin Liu Date: Thu, 11 Apr 2024 00:14:29 +0000 Subject: [PATCH 24/72] Disable proactive compaction From field data, sometimes kcompactd is pretty activated and can impact critical CUJs. Disable it first to mitigate the impact. Bug: 332916849 Test: boot Change-Id: I87cdcf184afb5fe10e873162b94bd3bf54b1acbd Signed-off-by: Martin Liu --- conf/init.zuma.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index b6e622e5..99efd046 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -109,6 +109,9 @@ on init # adjust PCP high level write /proc/sys/vm/percpu_pagelist_high_fraction 430 + # disable proactive compaction + write /proc/sys/vm/compaction_proactiveness 0 + # Some user code relies on ro.boot.hardware.revision setprop ro.boot.hardware.revision ${ro.revision} From 6f61b2f689a712b158a71f3270c017d3d097d74e Mon Sep 17 00:00:00 2001 From: Jaegeuk Kim Date: Wed, 10 Apr 2024 10:38:46 -0700 Subject: [PATCH 25/72] Zuma: disable compression on apex Compression on apex disables direct IO for loopback, which introduces double buffering and longer latency. Bug: 298717358 Change-Id: I3b1de10f17931bec7769947bad62a22637a8a528 Signed-off-by: Jaegeuk Kim --- conf/fstab.zuma.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/fstab.zuma.in b/conf/fstab.zuma.in index b2a5f141..9fb13e72 100644 --- a/conf/fstab.zuma.in +++ b/conf/fstab.zuma.in @@ -20,6 +20,6 @@ vendor_dlkm /vendor_dlkm /dev/block/platform/13200000.ufs/by-name/misc /misc emmc defaults wait /dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount #/dev/block/platform/13200000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount -/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=apex,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,zoned_device +/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,zoned_device /dev/block/platform/13200000.ufs/by-name/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount /devices/platform/11210000.usb* auto vfat defaults voldmanaged=usb:auto From c59a55ffc86910c11561249dfe7163f34815312d Mon Sep 17 00:00:00 2001 From: Jack Wu Date: Fri, 22 Mar 2024 21:33:35 +0800 Subject: [PATCH 26/72] Update health AIDL HAL to V3 Bug: Test: TH Test: vts-tradefed run vts -m vts_treble_vintf_vendor_test Signed-off-by: Jack Wu (cherry picked from https://android-review.googlesource.com/q/commit:40f89b2d464071389d395f39928ef0e6d99bf2fb) Merged-In: I7582ba278abcb30cebe041f775efe45633a58bad Change-Id: I7582ba278abcb30cebe041f775efe45633a58bad 24D1-dev is based on 24Q2-release. Therefore, we merged this CL to 24D1-dev. --- health/android.hardware.health-service.zuma.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/health/android.hardware.health-service.zuma.xml b/health/android.hardware.health-service.zuma.xml index 1fe9b8d2..2acaabac 100644 --- a/health/android.hardware.health-service.zuma.xml +++ b/health/android.hardware.health-service.zuma.xml @@ -1,7 +1,7 @@ android.hardware.health - 2 + 3 IHealth/default From 0725eeb71196706983911a3aa013c9291f06b198 Mon Sep 17 00:00:00 2001 From: Hongyang Jiao Date: Tue, 5 Mar 2024 23:30:04 +0000 Subject: [PATCH 27/72] Add betterbug.mk to zuma Test: manual test Bug: 322543833 Change-Id: Ibd314393d11b2552b79a7f73cd7ed888e08934b2 --- device.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device.mk b/device.mk index 50b872e5..0a3ef25b 100644 --- a/device.mk +++ b/device.mk @@ -42,6 +42,7 @@ include device/google/gs-common/sota_app/factoryota.mk include device/google/gs-common/misc_writer/misc_writer.mk include device/google/gs-common/gyotaku_app/gyotaku.mk include device/google/gs-common/bootctrl/bootctrl_aidl.mk +include device/google/gs-common/betterbug/betterbug.mk include device/google/zuma/dumpstate/item.mk From 2c344ad3fa4c314a002c6cbb52d367485663e487 Mon Sep 17 00:00:00 2001 From: Martin Liu Date: Thu, 18 Apr 2024 03:49:46 +0000 Subject: [PATCH 28/72] move common MM settings to gs common folder Bug: 332916849 Bug: 309409009 Test: boot Change-Id: If5515f107b4fb2490d83c2d48c78727bd6f2e51f Signed-off-by: Martin Liu --- conf/init.zuma.rc | 6 ------ overlay/frameworks/base/core/res/res/values/config.xml | 3 +++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index 99efd046..4ee0ece7 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -106,12 +106,6 @@ on init write /sys/block/zram0/comp_algorithm lz77eh write /proc/sys/vm/page-cluster 0 - # adjust PCP high level - write /proc/sys/vm/percpu_pagelist_high_fraction 430 - - # disable proactive compaction - write /proc/sys/vm/compaction_proactiveness 0 - # Some user code relies on ro.boot.hardware.revision setprop ro.boot.hardware.revision ${ro.revision} diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 921b7522..995fcfa5 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -74,6 +74,9 @@ true + + false + true From 4f00775b4ef4b34799373538b0c07ffd202abd30 Mon Sep 17 00:00:00 2001 From: Priyanka Advani Date: Fri, 19 Apr 2024 20:44:19 +0000 Subject: [PATCH 29/72] Revert "Enable AIDL media.c2" Revert submission 26384060-c2aidl-pixel-enable Reason for revert: Culprit for b/335892284. Will be verifying through ABTD for confirmation and before submitting the revert. Reverted changes: /q/submissionid:26384060-c2aidl-pixel-enable Change-Id: I7b331a48f64b89a19fcedeeae783fe8fc83c22c2 --- device.mk | 2 -- 1 file changed, 2 deletions(-) diff --git a/device.mk b/device.mk index eaf4dce6..e3818ced 100644 --- a/device.mk +++ b/device.mk @@ -787,8 +787,6 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PROPERTY_OVERRIDES += \ debug.stagefright.c2inputsurface=-1 \ -PRODUCT_PROPERTY_OVERRIDES += media.c2.hal.selection=aidl - # 2. OpenMAX IL PRODUCT_COPY_FILES += \ device/google/zuma/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ From bb210c9c43c1de116d3f4485022675b80179f61d Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Thu, 18 Apr 2024 10:09:32 -0700 Subject: [PATCH 30/72] Move EFS/persist mount to a separate fstab Next CLs in this stack will make changes to persist/efs mount process This CL will first move relevant code to a separate file for easier review. To support booting under 16K page size, we need to copy files on persist partition(F2FS, which does not support 16K page size) to data partition(which will would be EXT4 for dev option enabled devices). Bug: 319335586 Change-Id: I2750eb8b53431037cecc972448799409345f5ca3 --- conf/fstab.efs | 6 ++++++ conf/fstab.zuma.in | 3 --- conf/init.efs.rc | 43 +++++++++++++++++++++++++++++++++++++++++++ conf/init.zuma.rc | 40 +--------------------------------------- device.mk | 6 ++++-- 5 files changed, 54 insertions(+), 44 deletions(-) create mode 100644 conf/fstab.efs create mode 100644 conf/init.efs.rc diff --git a/conf/fstab.efs b/conf/fstab.efs new file mode 100644 index 00000000..23182479 --- /dev/null +++ b/conf/fstab.efs @@ -0,0 +1,6 @@ +# Android fstab file. +# +# Create the specific fstab file for efs partitions for flexibility +/dev/block/platform/13200000.ufs/by-name/efs /mnt/vendor/efs f2fs noatime,sync wait,check,formattable +/dev/block/platform/13200000.ufs/by-name/efs_backup /mnt/vendor/efs_backup f2fs noatime,sync wait,check,formattable +/dev/block/platform/13200000.ufs/by-name/modem_userdata /mnt/vendor/modem_userdata f2fs noatime,sync wait,check,formattable \ No newline at end of file diff --git a/conf/fstab.zuma.in b/conf/fstab.zuma.in index 9fb13e72..fc3452a9 100644 --- a/conf/fstab.zuma.in +++ b/conf/fstab.zuma.in @@ -14,9 +14,6 @@ vendor /vendor vendor_dlkm /vendor_dlkm ext4 noatime,ro wait,slotselect,avb=vbmeta,avb_keys=no_such_key,logical,first_stage_mount /dev/block/platform/13200000.ufs/by-name/boot /boot emmc defaults slotselect,avb=boot,first_stage_mount /dev/block/platform/13200000.ufs/by-name/init_boot /init_boot emmc defaults slotselect,avb=init_boot,first_stage_mount -/dev/block/platform/13200000.ufs/by-name/efs /mnt/vendor/efs f2fs noatime,sync wait,check,formattable -/dev/block/platform/13200000.ufs/by-name/efs_backup /mnt/vendor/efs_backup f2fs noatime,sync wait,check,formattable -/dev/block/platform/13200000.ufs/by-name/modem_userdata /mnt/vendor/modem_userdata f2fs noatime,sync wait,check,formattable /dev/block/platform/13200000.ufs/by-name/misc /misc emmc defaults wait /dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount #/dev/block/platform/13200000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount diff --git a/conf/init.efs.rc b/conf/init.efs.rc new file mode 100644 index 00000000..d15dbc13 --- /dev/null +++ b/conf/init.efs.rc @@ -0,0 +1,43 @@ +on property:ro.vendor.persist.status=mounted + # for battery defender + mkdir /mnt/vendor/persist/battery 0700 system system + + # Factory calibration files + chmod 0771 /mnt/vendor/persist/camera + chmod 0771 /mnt/vendor/persist/camera/OTP_calibration + chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data + mkdir /mnt/vendor/persist/camera/rear 0771 system camera + chmod 0771 /mnt/vendor/persist/camera/rear + + restorecon_recursive /mnt/vendor/persist + restorecon_recursive /mnt/vendor/persist/aoc + restorecon_recursive /mnt/vendor/persist/audio + restorecon_recursive /mnt/vendor/persist/sensors + restorecon_recursive /mnt/vendor/persist/battery + restorecon_recursive /mnt/vendor/persist/camera + restorecon_recursive /mnt/vendor/persist/modem + # Set up display-related directories and permissions + # Add restorecon_recursive command to make sure the restorecon label is persist_display_file. + restorecon_recursive /mnt/vendor/persist/display + mkdir /mnt/vendor/persist/data/sfs 0700 system system + mkdir /mnt/vendor/persist/data/tz 0700 system system + mkdir /mnt/vendor/persist/touch 0770 system system + + # Proxy for Secure Storage + mkdir /data/vendor/rebootescrow 0770 hsm hsm + mkdir /data/vendor/ss 0770 root system + mkdir /mnt/vendor/persist/ss 0770 root system + restorecon_recursive /mnt/vendor/persist/ss + symlink /mnt/vendor/persist/ss /data/vendor/ss/persist + chown root system /data/vendor/ss/persist + chmod 0770 /data/vendor/ss/persist + symlink /dev/block/platform/13200000\.ufs/by-name/trusty_persist /data/vendor/ss/persist/0 + chown system system /data/vendor/ss/persist/0 + chown system system /data/vendor/ss/persist/nsp + + restart storageproxyd + +on post-fs-data + mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist + setprop ro.vendor.persist.status mounted diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index 4ee0ece7..c9dd76fe 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -1,9 +1,9 @@ import /vendor/etc/init/hw/init.zuma.usb.rc +import /vendor/etc/init/hw/init.efs.rc import android.hardware.drm@1.2-service.widevine.rc import init.exynos.sensorhub.rc on early-init - mount_all /vendor/etc/fstab.persist --early write /proc/sys/kernel/sched_pelt_multiplier 1 write /sys/kernel/mm/lru_gen/enabled n @@ -440,13 +440,6 @@ on post-fs-data chown system system /dev/ispolin_ranging chmod 0660 /dev/ispolin_ranging - # Factory calibration files - chmod 0771 /mnt/vendor/persist/camera - chmod 0771 /mnt/vendor/persist/camera/OTP_calibration - chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data - mkdir /mnt/vendor/persist/camera/rear 0771 system camera - chmod 0771 /mnt/vendor/persist/camera/rear - # Audio dump and debug mkdir /data/vendor/audio 0770 audio audio @@ -619,23 +612,6 @@ on fs mount_all /vendor/etc/fstab.modem --early restorecon_recursive /mnt/vendor/modem_img - # for battery defender - mkdir /mnt/vendor/persist/battery 0700 system system - - restorecon_recursive /mnt/vendor/persist - restorecon_recursive /mnt/vendor/persist/aoc - restorecon_recursive /mnt/vendor/persist/audio - restorecon_recursive /mnt/vendor/persist/sensors - restorecon_recursive /mnt/vendor/persist/battery - restorecon_recursive /mnt/vendor/persist/camera - restorecon_recursive /mnt/vendor/persist/modem - # Set up display-related directories and permissions - # Add restorecon_recursive command to make sure the restorecon label is persist_display_file. - restorecon_recursive /mnt/vendor/persist/display - mkdir /mnt/vendor/persist/data/sfs 0700 system system - mkdir /mnt/vendor/persist/data/tz 0700 system system - mkdir /mnt/vendor/persist/touch 0770 system system - # Permissions for ION chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated chown system system /sys/class/ion_cma/ion_video_ext/isolated @@ -934,20 +910,6 @@ service bugreport /system/bin/dumpstate -d -p -z oneshot keycodes 114 115 116 -# Proxy for Secure Storage -on post-fs-data - mkdir /data/vendor/rebootescrow 0770 hsm hsm - mkdir /data/vendor/ss 0770 root system - mkdir /mnt/vendor/persist/ss 0770 root system - restorecon_recursive /mnt/vendor/persist/ss - symlink /mnt/vendor/persist/ss /data/vendor/ss/persist - chown root system /data/vendor/ss/persist - chmod 0770 /data/vendor/ss/persist - symlink /dev/block/platform/13200000\.ufs/by-name/trusty_persist /data/vendor/ss/persist/0 - chown system system /data/vendor/ss/persist/0 - chown system system /data/vendor/ss/persist/nsp - - restart storageproxyd service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 \ -r /dev/sg1 -p /data/vendor/ss -t ufs diff --git a/device.mk b/device.mk index 8c10ffa0..47a7672b 100644 --- a/device.mk +++ b/device.mk @@ -356,7 +356,8 @@ PRODUCT_COPY_FILES += \ device/google/zuma/conf/ueventd.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc PRODUCT_COPY_FILES += \ - device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc + device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc \ + device/google/zuma/conf/init.efs.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_COPY_FILES += \ @@ -378,7 +379,8 @@ PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \ - device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem + device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem \ + device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs # Shell scripts PRODUCT_PACKAGES += \ From 54d3a9babcf645424fc7a660596d2d6ac3b0beb2 Mon Sep 17 00:00:00 2001 From: Enzo Liao Date: Mon, 18 Mar 2024 22:34:32 +0800 Subject: [PATCH 31/72] Apply common SELinux policies related to ramdumps and coredumps to zuma. Refer: ag/26620507 Bug: 298102808 Design: go/sys-software-logging Test: Manual (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f8c54e99126678b4147885dbcddf7f0a25f1f3a3) Merged-In: I9f0d29ef69dc88cb8e876e37aac09ed7331c79b7 Change-Id: I9f0d29ef69dc88cb8e876e37aac09ed7331c79b7 --- device.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/device.mk b/device.mk index 0a3ef25b..f6164ebb 100644 --- a/device.mk +++ b/device.mk @@ -16,7 +16,7 @@ include device/google/gs-common/device.mk include device/google/gs-common/gs_watchdogd/watchdog.mk -include device/google/gs-common/ramdump/ramdump.mk +include device/google/gs-common/ramdump_and_coredump/ramdump_and_coredump.mk include device/google/gs-common/soc/soc.mk include device/google/gs-common/modem/modem.mk include device/google/gs-common/aoc/aoc.mk @@ -1143,9 +1143,6 @@ else BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/logger_app endif -# sscoredump -include hardware/google/pixel/sscoredump/device.mk - # RadioExt Version USES_RADIOEXT_V1_6 = true From 52be8e937c9fdd459505c6aea34d62164ebfb8e3 Mon Sep 17 00:00:00 2001 From: Kevin Ying Date: Mon, 22 Apr 2024 22:20:42 +0000 Subject: [PATCH 32/72] Add sepolicy for power_state node Bug: 329703995 Test: manual - use camera Change-Id: If9f14980e15a3b936bf2117f066e734ee122d72d Signed-off-by: Kevin Ying --- conf/init.zuma.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index b6e622e5..2077fbd8 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -657,6 +657,7 @@ on fs chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_need_handle_idle_exit chown system system /sys/devices/platform/exynos-drm/primary-panel/op_hz chown system system /sys/devices/platform/exynos-drm/primary-panel/refresh_ctrl + chown system system /sys/devices/platform/exynos-drm/primary-panel/power_state chown system system /sys/module/drm/parameters/vblankoffdelay chown system system /sys/module/drm/parameters/debug chown system system /sys/class/dqe0/atc/ambient_light From bfc4292c115b2da958eca2113331ab8ab2bdc744 Mon Sep 17 00:00:00 2001 From: Sungtak Lee Date: Tue, 23 Apr 2024 08:49:45 +0000 Subject: [PATCH 33/72] Reapply "Enable AIDL media.c2" This reverts commit 4f00775b4ef4b34799373538b0c07ffd202abd30. Bug: 321808716 Change-Id: I5f0b50b5e55924ea7c25f3bcfeabc0a4d5b32ffa --- device.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/device.mk b/device.mk index 8c10ffa0..2d64d99d 100644 --- a/device.mk +++ b/device.mk @@ -797,6 +797,8 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PROPERTY_OVERRIDES += \ debug.stagefright.c2inputsurface=-1 \ +PRODUCT_PROPERTY_OVERRIDES += media.c2.hal.selection=aidl + # 2. OpenMAX IL PRODUCT_COPY_FILES += \ device/google/zuma/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ From b9d89f2a98c88aebb61fa5e08ee5daf0d9af4711 Mon Sep 17 00:00:00 2001 From: Chungro Lee Date: Mon, 11 Mar 2024 20:18:13 +0000 Subject: [PATCH 34/72] pixelstats: move learning/model load path to sysfs Reporting learning(relaxation) and model loading once a day * learning and model loading path moved from uevent to sysfs collector. Bug: 329124192 Signed-off-by: Chungro Lee (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c0f9207cf5ad3b04ac4c64c844ab85c4a6803aab) Merged-In: I91039ce3a8ee4630a76113ef7ae6be3bc6908f64 Change-Id: I91039ce3a8ee4630a76113ef7ae6be3bc6908f64 --- pixelstats/service.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index bb64ea62..718fb82c 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -105,6 +105,14 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { "/sys/class/power_supply/maxfg/gmsr", "/sys/class/power_supply/maxfg_base/gmsr", }, + .FGLearningPath = { + "/sys/class/power_supply/maxfg/fg_learning_events", + "/sys/class/power_supply/maxfg_base/fg_learning_events" + }, + .FGModelLoadingPath = { + "/sys/class/power_supply/maxfg/m5_model_state", + "/sys/class/power_supply/maxfg_base/m5_model_state" + }, .DisplayPortStatsPaths = { "/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/link_negotiation_failures", "/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/edid_read_failures", @@ -126,15 +134,7 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { const struct UeventListener::UeventPaths ueventPaths = { .AudioUevent = "/devices/virtual/amcs/amcs", .TypeCPartnerUevent = "PRODUCT_TYPE=", - .FGLearningPath = { - "/sys/class/power_supply/maxfg/fg_learning_events", - "/sys/class/power_supply/maxfg_base/fg_learning_events" - }, - .FwUpdatePath = "", - .FGModelLoadingPath = { - "/sys/class/power_supply/maxfg/m5_model_state", - "/sys/class/power_supply/maxfg_base/m5_model_state" - } + .FwUpdatePath = "" }; int main() { From e5daed552dcad3ef9d001f53e799bc7d2c0b1583 Mon Sep 17 00:00:00 2001 From: Spade Lee Date: Tue, 12 Mar 2024 16:51:28 +0000 Subject: [PATCH 35/72] pixelstats: zuma: add history validation path Bug: 329174074 Signed-off-by: Spade Lee (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a4b4967c038aad263bc75f9248a7850355af62a1) Merged-In: Ia134e6b6b8dc0c9db35bcf36bed700b67466f353 Change-Id: Ia134e6b6b8dc0c9db35bcf36bed700b67466f353 --- pixelstats/service.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index 718fb82c..89348a50 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -128,7 +128,8 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { "/sys/devices/platform/hdcp/hdcp1_success_count", "/sys/devices/platform/hdcp/hdcp1_fail_count", "/sys/devices/platform/hdcp/hdcp0_count", - } + }, + .FGLogBufferPath = "/dev/logbuffer_maxfg_monitor" }; const struct UeventListener::UeventPaths ueventPaths = { From 17b87611d90504a0b273f1ecd13a82593061c163 Mon Sep 17 00:00:00 2001 From: Spade Lee Date: Mon, 22 Apr 2024 18:32:33 +0000 Subject: [PATCH 36/72] pixelstats: zuma: add all logbuffer paths Bug: 335934710 Change-Id: I79f65bc1069402a721bf75f97d6973c066a002a9 Signed-off-by: Spade Lee --- pixelstats/service.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index 89348a50..57aebfec 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -105,14 +105,16 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { "/sys/class/power_supply/maxfg/gmsr", "/sys/class/power_supply/maxfg_base/gmsr", }, - .FGLearningPath = { - "/sys/class/power_supply/maxfg/fg_learning_events", - "/sys/class/power_supply/maxfg_base/fg_learning_events" - }, .FGModelLoadingPath = { "/sys/class/power_supply/maxfg/m5_model_state", "/sys/class/power_supply/maxfg_base/m5_model_state" }, + .FGLogBufferPath = { + "/dev/logbuffer_maxfg_monitor", + "/dev/logbuffer_max77779fg_monitor", + "/dev/logbuffer_maxfg_base_monitor", + "/dev/logbuffer_maxfg_secondary_monitor" + }, .DisplayPortStatsPaths = { "/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/link_negotiation_failures", "/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/edid_read_failures", @@ -128,8 +130,7 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { "/sys/devices/platform/hdcp/hdcp1_success_count", "/sys/devices/platform/hdcp/hdcp1_fail_count", "/sys/devices/platform/hdcp/hdcp0_count", - }, - .FGLogBufferPath = "/dev/logbuffer_maxfg_monitor" + } }; const struct UeventListener::UeventPaths ueventPaths = { From 52494655a66dad118db0cccc45aec92f33511f9d Mon Sep 17 00:00:00 2001 From: Qian-Hao Huang Date: Tue, 23 Apr 2024 23:34:14 +0800 Subject: [PATCH 37/72] zuma: Change the path of prebuilt fips140.ko Placing the fips140.ko at the same level as other kernel modules makes it easier for automation tools to handle all of them. Bug: 331791671 Change-Id: Id6d978afbd18f98f2a07d418c405699885c05bf0 Signed-off-by: Qian-Hao Huang --- BoardConfig-common.mk | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index fee3bb32..692d2c62 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -391,11 +391,19 @@ KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko) BOARD_SYSTEM_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/system_dlkm.modules.blocklist BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist -BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_kernel_boot.modules.load)) -ifndef BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD +# Prebuilt kernel modules that are *not* listed in vendor_kernel_boot.modules.load +BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES = fips140.ko +BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k))) + +# Kernel modules that are listed in vendor_kernel_boot.modules.load +BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_kernel_boot.modules.load)) +ifndef BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE $(error vendor_kernel_boot.modules.load not found or empty) endif -BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD))) +BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD := $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA) +BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD += $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE) +BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA)) +BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE))) BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load)) ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD From 76caf6b95468ff0d3d1ee40474d9f3376c91a830 Mon Sep 17 00:00:00 2001 From: Jaegeuk Kim Date: Tue, 30 Apr 2024 18:14:35 -0700 Subject: [PATCH 38/72] Adjust the fstab option for ZUFS Bug: 336319772 Change-Id: Ic3088e693d4dd9f784215da27a5c4b6c47759ef2 Signed-off-by: Jaegeuk Kim --- conf/fstab.zuma.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/fstab.zuma.in b/conf/fstab.zuma.in index fc3452a9..bcb0c2f5 100644 --- a/conf/fstab.zuma.in +++ b/conf/fstab.zuma.in @@ -17,6 +17,6 @@ vendor_dlkm /vendor_dlkm /dev/block/platform/13200000.ufs/by-name/misc /misc emmc defaults wait /dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount #/dev/block/platform/13200000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount -/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,zoned_device +/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device /dev/block/platform/13200000.ufs/by-name/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount /devices/platform/11210000.usb* auto vfat defaults voldmanaged=usb:auto From 39eccba58f0e6085f5837728ef489420b925ebca Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Thu, 1 Feb 2024 16:04:39 -0800 Subject: [PATCH 39/72] Support booting on ext4 for zuma devices When a user opts into 16K developer option, we would need to convert the /data and /metadata partition into ext4. Add necessary fstab entries for ext4 so that zuma devices can boot on ext4. This CL does not automatically switch existing devices to ext4, the newly added fstab entries are intentionally marked as "non-formattable", so that we don't accidentally format a wiped device as ext4. This CL merely allows the device to boot if the /data partition is already formatted as ext4. Test: adb shell cmd recovery wipe ext4 , make sure device boots Bug: 293313353 Change-Id: I3a2a2e9d09cdea884f58b509a06c6829938dc369 --- conf/fstab.zuma.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf/fstab.zuma.in b/conf/fstab.zuma.in index bcb0c2f5..903bfe47 100644 --- a/conf/fstab.zuma.in +++ b/conf/fstab.zuma.in @@ -16,7 +16,9 @@ vendor_dlkm /vendor_dlkm /dev/block/platform/13200000.ufs/by-name/init_boot /init_boot emmc defaults slotselect,avb=init_boot,first_stage_mount /dev/block/platform/13200000.ufs/by-name/misc /misc emmc defaults wait /dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount +/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,first_stage_mount,metadata_csum #/dev/block/platform/13200000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount /dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device +/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption /dev/block/platform/13200000.ufs/by-name/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount /devices/platform/11210000.usb* auto vfat defaults voldmanaged=usb:auto From 7251274bee1bc27227f92db1c0707c043d8bb657 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Wed, 13 Mar 2024 15:45:45 -0700 Subject: [PATCH 40/72] Copy files on EFS partition to /data on boot During boot, this CL adds the following sequence of actions: 1. mount original efs partitions(most likely f2fs) on /mnt/vendor/efs 2. copy files in /mnt/vendor/efs to /data/vendor/copied/efs.img 3. fsync all the files in /data/vendor/copied/efs.img 4. rename /data/vendor/copied/efs.img to /data/vendor/copied/efs 5. bind-mount /data/vendor/copied/efs to /mnt/vendor/efs 6. repeat 1-5 for efs_backup and modem_userdata The original EFS partitions are mounted and only used for file copying, no destructive action done on original efs partitions. Test: reformat /data as ext4, boot the device Bug: 319335586 Change-Id: I4c4024b4cad18199226f5644f98254b2230574d6 --- Android.bp | 11 ++++++++ conf/fstab.efs.from_data | 8 ++++++ conf/init.efs.16k.rc | 27 ++++++++++++++++++ conf/init.efs.4k.rc | 4 +++ conf/{init.efs.rc => init.persist.rc} | 5 ---- conf/init.zuma.rc | 1 + copy_efs_files_to_data.sh | 40 +++++++++++++++++++++++++++ device.mk | 17 ++++++++++-- 8 files changed, 106 insertions(+), 7 deletions(-) create mode 100644 conf/fstab.efs.from_data create mode 100644 conf/init.efs.16k.rc create mode 100644 conf/init.efs.4k.rc rename conf/{init.efs.rc => init.persist.rc} (92%) create mode 100644 copy_efs_files_to_data.sh diff --git a/Android.bp b/Android.bp index bf7fac7e..45720c33 100644 --- a/Android.bp +++ b/Android.bp @@ -41,3 +41,14 @@ sh_binary { vendor: true, sub_dir: "hw", } + +// Filesystem: Copy efs/efs_backup/modem_userdata to /data partition +// so that they can be accessed under 16K mode. By default, these partitions +// are 4K F2FS , which can't be mounted under 16K mode. +// (b/293313353) +sh_binary { + name: "copy_efs_files_to_data", + src: "copy_efs_files_to_data.sh", + vendor: true, +} + diff --git a/conf/fstab.efs.from_data b/conf/fstab.efs.from_data new file mode 100644 index 00000000..dbddeac5 --- /dev/null +++ b/conf/fstab.efs.from_data @@ -0,0 +1,8 @@ +# Android fstab file. +# +# Create the specific fstab file for efs partitions for flexibility +/data/vendor/copied/efs /mnt/vendor/efs none bind latemount + +/data/vendor/copied/efs_backup /mnt/vendor/efs_backup none bind latemount + +/data/vendor/copied/modem_userdata /mnt/vendor/modem_userdata none bind latemount diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc new file mode 100644 index 00000000..a9066835 --- /dev/null +++ b/conf/init.efs.16k.rc @@ -0,0 +1,27 @@ + +service copy_efs_files_to_data /vendor/bin/copy_efs_files_to_data + user root + group root radio system audio media graphics camera + stdio_to_kmsg + oneshot + disabled + +on post-fs-data && property:ro.boot.flash.locked=0 + mkdir /data/vendor/copied 0775 radio system + restorecon_recursive /data/vendor/copied + restorecon_recursive /mnt/vendor + mount_all /vendor/etc/fstab.efs + exec_start copy_efs_files_to_data + umount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.efs.from_data + mount_all /vendor/etc/fstab.persist + restorecon_recursive /mnt/vendor/efs + restorecon_recursive /mnt/vendor/efs_backup + restorecon_recursive /mnt/vendor/modem_userdata + setprop ro.vendor.persist.status mounted + +on post-fs-data && property:ro.boot.flash.locked=1 + mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist + setprop ro.vendor.persist.status mounted + diff --git a/conf/init.efs.4k.rc b/conf/init.efs.4k.rc new file mode 100644 index 00000000..506c7220 --- /dev/null +++ b/conf/init.efs.4k.rc @@ -0,0 +1,4 @@ +on post-fs-data + mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist + setprop ro.vendor.persist.status mounted diff --git a/conf/init.efs.rc b/conf/init.persist.rc similarity index 92% rename from conf/init.efs.rc rename to conf/init.persist.rc index d15dbc13..26a9c4d7 100644 --- a/conf/init.efs.rc +++ b/conf/init.persist.rc @@ -36,8 +36,3 @@ on property:ro.vendor.persist.status=mounted chown system system /data/vendor/ss/persist/nsp restart storageproxyd - -on post-fs-data - mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist - setprop ro.vendor.persist.status mounted diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index c9dd76fe..b5c707e6 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -1,4 +1,5 @@ import /vendor/etc/init/hw/init.zuma.usb.rc +import /vendor/etc/init/hw/init.persist.rc import /vendor/etc/init/hw/init.efs.rc import android.hardware.drm@1.2-service.widevine.rc import init.exynos.sensorhub.rc diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh new file mode 100644 index 00000000..bcbe8828 --- /dev/null +++ b/copy_efs_files_to_data.sh @@ -0,0 +1,40 @@ +#!/vendor/bin/sh + +CHECKPOINT_DIR=/data/vendor/copied + +BIN_DIR=/vendor/bin + +$BIN_DIR/mkdir -p $CHECKPOINT_DIR + +function copy_files_to_data() +{ + partition_name=$(basename $1) + mount_point=$2 + tmpdir=$CHECKPOINT_DIR/$partition_name.img + build_checkpoint=$CHECKPOINT_DIR/$partition_name + if [ ! -e $build_checkpoint ]; then + $BIN_DIR/rm -rf $tmpdir + $BIN_DIR/rm -rf $build_checkpoint + cp -rp $mount_point $tmpdir + if [ $? -ne 0 ]; then + echo "Failed to cp -rp $mount_point $tmpdir" + return + fi + fsync `find $tmpdir -type fd` + mv $tmpdir $build_checkpoint + if [ $? -ne 0 ]; then + echo "mv $tmpdir $build_checkpoint" + return + fi + fsync `dirname $build_checkpoint` + fi + echo "Successfully copied $mount_point to $build_checkpoint" +} + +chmod g+rx -R /mnt/vendor/efs +chmod g+rx -R /mnt/vendor/efs_backup +chmod g+rx -R /mnt/vendor/modem_userdata +copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" +copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" +copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" + diff --git a/device.mk b/device.mk index 7277acb8..ceb01f85 100644 --- a/device.mk +++ b/device.mk @@ -358,7 +358,18 @@ PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc \ - device/google/zuma/conf/init.efs.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc + device/google/zuma/conf/init.persist.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.persist.rc + +ifeq (true,$(PRODUCT_16K_DEVELOPER_OPTION)) +PRODUCT_COPY_FILES += \ + device/google/zuma/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc \ + device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data \ + +PRODUCT_PACKAGES += copy_efs_files_to_data +else +PRODUCT_COPY_FILES += \ + device/google/zuma/conf/init.efs.4k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc +endif ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_COPY_FILES += \ @@ -381,7 +392,8 @@ PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem \ - device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs + device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs \ + # Shell scripts PRODUCT_PACKAGES += \ @@ -1199,3 +1211,4 @@ include device/google/gs-common/touch/twoshay/twoshay.mk # since it can't be overridden from /vendor. PRODUCT_PRODUCT_PROPERTIES += \ dumpstate.strict_run=false + From 62b3d171c7c134e83ffcb23268bd8b029031eeb6 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Tue, 16 Apr 2024 15:48:35 -0700 Subject: [PATCH 41/72] Copy persist partition files to /data on boot Since /persisit was previously mounted during eraly-init stage, this CL delays the /persist mount to post-fs-data stage. Actions which depends on the /persist partition are also moved. Bug: 319335586 Change-Id: I0e70f672b9a5f4b05b95dd30b0a74bb8f91f399a --- conf/fstab.efs.from_data | 2 ++ conf/init.efs.16k.rc | 5 ++++- copy_efs_files_to_data.sh | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/conf/fstab.efs.from_data b/conf/fstab.efs.from_data index dbddeac5..4845e3ee 100644 --- a/conf/fstab.efs.from_data +++ b/conf/fstab.efs.from_data @@ -6,3 +6,5 @@ /data/vendor/copied/efs_backup /mnt/vendor/efs_backup none bind latemount /data/vendor/copied/modem_userdata /mnt/vendor/modem_userdata none bind latemount + +/data/vendor/copied/persist /mnt/vendor/persist none bind latemount diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc index a9066835..cfe1e2aa 100644 --- a/conf/init.efs.16k.rc +++ b/conf/init.efs.16k.rc @@ -11,13 +11,16 @@ on post-fs-data && property:ro.boot.flash.locked=0 restorecon_recursive /data/vendor/copied restorecon_recursive /mnt/vendor mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist exec_start copy_efs_files_to_data umount_all /vendor/etc/fstab.efs + umount_all /vendor/etc/fstab.persist mount_all /vendor/etc/fstab.efs.from_data - mount_all /vendor/etc/fstab.persist restorecon_recursive /mnt/vendor/efs restorecon_recursive /mnt/vendor/efs_backup restorecon_recursive /mnt/vendor/modem_userdata + restorecon_recursive /mnt/vendor/persist + restorecon_recursive /data/vendor/ss setprop ro.vendor.persist.status mounted on post-fs-data && property:ro.boot.flash.locked=1 diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh index bcbe8828..898bc8e9 100644 --- a/copy_efs_files_to_data.sh +++ b/copy_efs_files_to_data.sh @@ -38,3 +38,5 @@ copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" +chmod g+rx -R /mnt/vendor/persist +copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist" From 327973016eb5eeacedac135df7485db9b21a8d2a Mon Sep 17 00:00:00 2001 From: Pechetty Sravani Date: Tue, 7 May 2024 07:19:37 +0000 Subject: [PATCH 42/72] Revert "Copy persist partition files to /data on boot" Revert submission 26822004 Reason for revert: Potential culprit for b/339099720- verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Reverted changes: /q/submissionid:26822004 Change-Id: I744fccbf1aacd817ca1a0c6f4a121393307c8797 --- conf/fstab.efs.from_data | 2 -- conf/init.efs.16k.rc | 5 +---- copy_efs_files_to_data.sh | 2 -- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/conf/fstab.efs.from_data b/conf/fstab.efs.from_data index 4845e3ee..dbddeac5 100644 --- a/conf/fstab.efs.from_data +++ b/conf/fstab.efs.from_data @@ -6,5 +6,3 @@ /data/vendor/copied/efs_backup /mnt/vendor/efs_backup none bind latemount /data/vendor/copied/modem_userdata /mnt/vendor/modem_userdata none bind latemount - -/data/vendor/copied/persist /mnt/vendor/persist none bind latemount diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc index cfe1e2aa..a9066835 100644 --- a/conf/init.efs.16k.rc +++ b/conf/init.efs.16k.rc @@ -11,16 +11,13 @@ on post-fs-data && property:ro.boot.flash.locked=0 restorecon_recursive /data/vendor/copied restorecon_recursive /mnt/vendor mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist exec_start copy_efs_files_to_data umount_all /vendor/etc/fstab.efs - umount_all /vendor/etc/fstab.persist mount_all /vendor/etc/fstab.efs.from_data + mount_all /vendor/etc/fstab.persist restorecon_recursive /mnt/vendor/efs restorecon_recursive /mnt/vendor/efs_backup restorecon_recursive /mnt/vendor/modem_userdata - restorecon_recursive /mnt/vendor/persist - restorecon_recursive /data/vendor/ss setprop ro.vendor.persist.status mounted on post-fs-data && property:ro.boot.flash.locked=1 diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh index 898bc8e9..bcbe8828 100644 --- a/copy_efs_files_to_data.sh +++ b/copy_efs_files_to_data.sh @@ -38,5 +38,3 @@ copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" -chmod g+rx -R /mnt/vendor/persist -copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist" From 4053a85fe78a3cbfbc93c460fd43de356db1745f Mon Sep 17 00:00:00 2001 From: Pechetty Sravani Date: Tue, 7 May 2024 07:19:37 +0000 Subject: [PATCH 43/72] Revert "Copy files on EFS partition to /data on boot" Revert submission 26822004 Reason for revert: Potential culprit for b/339099720- verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Reverted changes: /q/submissionid:26822004 Change-Id: Ie9598a3b3b56c8ce26f475079798c44314696f44 --- Android.bp | 11 -------- conf/fstab.efs.from_data | 8 ------ conf/init.efs.16k.rc | 27 ------------------ conf/init.efs.4k.rc | 4 --- conf/{init.persist.rc => init.efs.rc} | 5 ++++ conf/init.zuma.rc | 1 - copy_efs_files_to_data.sh | 40 --------------------------- device.mk | 17 ++---------- 8 files changed, 7 insertions(+), 106 deletions(-) delete mode 100644 conf/fstab.efs.from_data delete mode 100644 conf/init.efs.16k.rc delete mode 100644 conf/init.efs.4k.rc rename conf/{init.persist.rc => init.efs.rc} (92%) delete mode 100644 copy_efs_files_to_data.sh diff --git a/Android.bp b/Android.bp index 45720c33..bf7fac7e 100644 --- a/Android.bp +++ b/Android.bp @@ -41,14 +41,3 @@ sh_binary { vendor: true, sub_dir: "hw", } - -// Filesystem: Copy efs/efs_backup/modem_userdata to /data partition -// so that they can be accessed under 16K mode. By default, these partitions -// are 4K F2FS , which can't be mounted under 16K mode. -// (b/293313353) -sh_binary { - name: "copy_efs_files_to_data", - src: "copy_efs_files_to_data.sh", - vendor: true, -} - diff --git a/conf/fstab.efs.from_data b/conf/fstab.efs.from_data deleted file mode 100644 index dbddeac5..00000000 --- a/conf/fstab.efs.from_data +++ /dev/null @@ -1,8 +0,0 @@ -# Android fstab file. -# -# Create the specific fstab file for efs partitions for flexibility -/data/vendor/copied/efs /mnt/vendor/efs none bind latemount - -/data/vendor/copied/efs_backup /mnt/vendor/efs_backup none bind latemount - -/data/vendor/copied/modem_userdata /mnt/vendor/modem_userdata none bind latemount diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc deleted file mode 100644 index a9066835..00000000 --- a/conf/init.efs.16k.rc +++ /dev/null @@ -1,27 +0,0 @@ - -service copy_efs_files_to_data /vendor/bin/copy_efs_files_to_data - user root - group root radio system audio media graphics camera - stdio_to_kmsg - oneshot - disabled - -on post-fs-data && property:ro.boot.flash.locked=0 - mkdir /data/vendor/copied 0775 radio system - restorecon_recursive /data/vendor/copied - restorecon_recursive /mnt/vendor - mount_all /vendor/etc/fstab.efs - exec_start copy_efs_files_to_data - umount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.efs.from_data - mount_all /vendor/etc/fstab.persist - restorecon_recursive /mnt/vendor/efs - restorecon_recursive /mnt/vendor/efs_backup - restorecon_recursive /mnt/vendor/modem_userdata - setprop ro.vendor.persist.status mounted - -on post-fs-data && property:ro.boot.flash.locked=1 - mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist - setprop ro.vendor.persist.status mounted - diff --git a/conf/init.efs.4k.rc b/conf/init.efs.4k.rc deleted file mode 100644 index 506c7220..00000000 --- a/conf/init.efs.4k.rc +++ /dev/null @@ -1,4 +0,0 @@ -on post-fs-data - mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist - setprop ro.vendor.persist.status mounted diff --git a/conf/init.persist.rc b/conf/init.efs.rc similarity index 92% rename from conf/init.persist.rc rename to conf/init.efs.rc index 26a9c4d7..d15dbc13 100644 --- a/conf/init.persist.rc +++ b/conf/init.efs.rc @@ -36,3 +36,8 @@ on property:ro.vendor.persist.status=mounted chown system system /data/vendor/ss/persist/nsp restart storageproxyd + +on post-fs-data + mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist + setprop ro.vendor.persist.status mounted diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index b5c707e6..c9dd76fe 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -1,5 +1,4 @@ import /vendor/etc/init/hw/init.zuma.usb.rc -import /vendor/etc/init/hw/init.persist.rc import /vendor/etc/init/hw/init.efs.rc import android.hardware.drm@1.2-service.widevine.rc import init.exynos.sensorhub.rc diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh deleted file mode 100644 index bcbe8828..00000000 --- a/copy_efs_files_to_data.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/vendor/bin/sh - -CHECKPOINT_DIR=/data/vendor/copied - -BIN_DIR=/vendor/bin - -$BIN_DIR/mkdir -p $CHECKPOINT_DIR - -function copy_files_to_data() -{ - partition_name=$(basename $1) - mount_point=$2 - tmpdir=$CHECKPOINT_DIR/$partition_name.img - build_checkpoint=$CHECKPOINT_DIR/$partition_name - if [ ! -e $build_checkpoint ]; then - $BIN_DIR/rm -rf $tmpdir - $BIN_DIR/rm -rf $build_checkpoint - cp -rp $mount_point $tmpdir - if [ $? -ne 0 ]; then - echo "Failed to cp -rp $mount_point $tmpdir" - return - fi - fsync `find $tmpdir -type fd` - mv $tmpdir $build_checkpoint - if [ $? -ne 0 ]; then - echo "mv $tmpdir $build_checkpoint" - return - fi - fsync `dirname $build_checkpoint` - fi - echo "Successfully copied $mount_point to $build_checkpoint" -} - -chmod g+rx -R /mnt/vendor/efs -chmod g+rx -R /mnt/vendor/efs_backup -chmod g+rx -R /mnt/vendor/modem_userdata -copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" -copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" -copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" - diff --git a/device.mk b/device.mk index ceb01f85..7277acb8 100644 --- a/device.mk +++ b/device.mk @@ -358,18 +358,7 @@ PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc \ - device/google/zuma/conf/init.persist.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.persist.rc - -ifeq (true,$(PRODUCT_16K_DEVELOPER_OPTION)) -PRODUCT_COPY_FILES += \ - device/google/zuma/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc \ - device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data \ - -PRODUCT_PACKAGES += copy_efs_files_to_data -else -PRODUCT_COPY_FILES += \ - device/google/zuma/conf/init.efs.4k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc -endif + device/google/zuma/conf/init.efs.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_COPY_FILES += \ @@ -392,8 +381,7 @@ PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem \ - device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs \ - + device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs # Shell scripts PRODUCT_PACKAGES += \ @@ -1211,4 +1199,3 @@ include device/google/gs-common/touch/twoshay/twoshay.mk # since it can't be overridden from /vendor. PRODUCT_PRODUCT_PROPERTIES += \ dumpstate.strict_run=false - From b08f8dbf23a32305a2985ffc9c0d4d36fb10878b Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Wed, 13 Mar 2024 15:45:45 -0700 Subject: [PATCH 44/72] Reland: Copy files on EFS partition to /data on boot During boot, this CL adds the following sequence of actions: 1. mount original efs partitions(most likely f2fs) on /mnt/vendor/efs 2. copy files in /mnt/vendor/efs to /data/vendor/copied/efs.img 3. fsync all the files in /data/vendor/copied/efs.img 4. rename /data/vendor/copied/efs.img to /data/vendor/copied/efs 5. bind-mount /data/vendor/copied/efs to /mnt/vendor/efs 6. repeat 1-5 for efs_backup and modem_userdata The original EFS partitions are mounted and only used for file copying, no destructive action done on original efs partitions. Test: reformat /data as ext4, boot the device Bug: 319335586 Change-Id: Ide78be316778acfc5c582c4a7b78853796cf4c1e --- Android.bp | 11 ++++++++ conf/fstab.efs.from_data | 8 ++++++ conf/init.efs.16k.rc | 27 ++++++++++++++++++ conf/init.efs.4k.rc | 4 +++ conf/{init.efs.rc => init.persist.rc} | 5 ---- conf/init.zuma.rc | 1 - copy_efs_files_to_data.sh | 40 +++++++++++++++++++++++++++ device.mk | 14 +++++++++- 8 files changed, 103 insertions(+), 7 deletions(-) create mode 100644 conf/fstab.efs.from_data create mode 100644 conf/init.efs.16k.rc create mode 100644 conf/init.efs.4k.rc rename conf/{init.efs.rc => init.persist.rc} (92%) create mode 100644 copy_efs_files_to_data.sh diff --git a/Android.bp b/Android.bp index bf7fac7e..45720c33 100644 --- a/Android.bp +++ b/Android.bp @@ -41,3 +41,14 @@ sh_binary { vendor: true, sub_dir: "hw", } + +// Filesystem: Copy efs/efs_backup/modem_userdata to /data partition +// so that they can be accessed under 16K mode. By default, these partitions +// are 4K F2FS , which can't be mounted under 16K mode. +// (b/293313353) +sh_binary { + name: "copy_efs_files_to_data", + src: "copy_efs_files_to_data.sh", + vendor: true, +} + diff --git a/conf/fstab.efs.from_data b/conf/fstab.efs.from_data new file mode 100644 index 00000000..dbddeac5 --- /dev/null +++ b/conf/fstab.efs.from_data @@ -0,0 +1,8 @@ +# Android fstab file. +# +# Create the specific fstab file for efs partitions for flexibility +/data/vendor/copied/efs /mnt/vendor/efs none bind latemount + +/data/vendor/copied/efs_backup /mnt/vendor/efs_backup none bind latemount + +/data/vendor/copied/modem_userdata /mnt/vendor/modem_userdata none bind latemount diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc new file mode 100644 index 00000000..a9066835 --- /dev/null +++ b/conf/init.efs.16k.rc @@ -0,0 +1,27 @@ + +service copy_efs_files_to_data /vendor/bin/copy_efs_files_to_data + user root + group root radio system audio media graphics camera + stdio_to_kmsg + oneshot + disabled + +on post-fs-data && property:ro.boot.flash.locked=0 + mkdir /data/vendor/copied 0775 radio system + restorecon_recursive /data/vendor/copied + restorecon_recursive /mnt/vendor + mount_all /vendor/etc/fstab.efs + exec_start copy_efs_files_to_data + umount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.efs.from_data + mount_all /vendor/etc/fstab.persist + restorecon_recursive /mnt/vendor/efs + restorecon_recursive /mnt/vendor/efs_backup + restorecon_recursive /mnt/vendor/modem_userdata + setprop ro.vendor.persist.status mounted + +on post-fs-data && property:ro.boot.flash.locked=1 + mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist + setprop ro.vendor.persist.status mounted + diff --git a/conf/init.efs.4k.rc b/conf/init.efs.4k.rc new file mode 100644 index 00000000..506c7220 --- /dev/null +++ b/conf/init.efs.4k.rc @@ -0,0 +1,4 @@ +on post-fs-data + mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist + setprop ro.vendor.persist.status mounted diff --git a/conf/init.efs.rc b/conf/init.persist.rc similarity index 92% rename from conf/init.efs.rc rename to conf/init.persist.rc index d15dbc13..26a9c4d7 100644 --- a/conf/init.efs.rc +++ b/conf/init.persist.rc @@ -36,8 +36,3 @@ on property:ro.vendor.persist.status=mounted chown system system /data/vendor/ss/persist/nsp restart storageproxyd - -on post-fs-data - mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist - setprop ro.vendor.persist.status mounted diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index c9dd76fe..bc34f10b 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -1,5 +1,4 @@ import /vendor/etc/init/hw/init.zuma.usb.rc -import /vendor/etc/init/hw/init.efs.rc import android.hardware.drm@1.2-service.widevine.rc import init.exynos.sensorhub.rc diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh new file mode 100644 index 00000000..bcbe8828 --- /dev/null +++ b/copy_efs_files_to_data.sh @@ -0,0 +1,40 @@ +#!/vendor/bin/sh + +CHECKPOINT_DIR=/data/vendor/copied + +BIN_DIR=/vendor/bin + +$BIN_DIR/mkdir -p $CHECKPOINT_DIR + +function copy_files_to_data() +{ + partition_name=$(basename $1) + mount_point=$2 + tmpdir=$CHECKPOINT_DIR/$partition_name.img + build_checkpoint=$CHECKPOINT_DIR/$partition_name + if [ ! -e $build_checkpoint ]; then + $BIN_DIR/rm -rf $tmpdir + $BIN_DIR/rm -rf $build_checkpoint + cp -rp $mount_point $tmpdir + if [ $? -ne 0 ]; then + echo "Failed to cp -rp $mount_point $tmpdir" + return + fi + fsync `find $tmpdir -type fd` + mv $tmpdir $build_checkpoint + if [ $? -ne 0 ]; then + echo "mv $tmpdir $build_checkpoint" + return + fi + fsync `dirname $build_checkpoint` + fi + echo "Successfully copied $mount_point to $build_checkpoint" +} + +chmod g+rx -R /mnt/vendor/efs +chmod g+rx -R /mnt/vendor/efs_backup +chmod g+rx -R /mnt/vendor/modem_userdata +copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" +copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" +copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" + diff --git a/device.mk b/device.mk index 7277acb8..0447229d 100644 --- a/device.mk +++ b/device.mk @@ -358,7 +358,18 @@ PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc \ - device/google/zuma/conf/init.efs.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc + device/google/zuma/conf/init.persist.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.persist.rc + +ifeq (true,$(PRODUCT_16K_DEVELOPER_OPTION)) +PRODUCT_COPY_FILES += \ + device/google/zuma/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.efs.rc \ + device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data \ + +PRODUCT_PACKAGES += copy_efs_files_to_data +else +PRODUCT_COPY_FILES += \ + device/google/zuma/conf/init.efs.4k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.efs.rc +endif ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_COPY_FILES += \ @@ -383,6 +394,7 @@ PRODUCT_COPY_FILES += \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs + # Shell scripts PRODUCT_PACKAGES += \ disable_contaminant_detection.sh From 4bc3f5a338a9b2015f5f45cd499248c9259f8b84 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Tue, 16 Apr 2024 15:48:35 -0700 Subject: [PATCH 45/72] Reland: Copy persist partition files to /data on boot Since /persisit was previously mounted during eraly-init stage, this CL delays the /persist mount to post-fs-data stage. Actions which depends on the /persist partition are also moved. Bug: 319335586 Change-Id: I6bcc775f16331905c6896f3a2ec5bbea9e20744f --- conf/fstab.efs.from_data | 2 ++ conf/init.efs.16k.rc | 5 ++++- copy_efs_files_to_data.sh | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/conf/fstab.efs.from_data b/conf/fstab.efs.from_data index dbddeac5..4845e3ee 100644 --- a/conf/fstab.efs.from_data +++ b/conf/fstab.efs.from_data @@ -6,3 +6,5 @@ /data/vendor/copied/efs_backup /mnt/vendor/efs_backup none bind latemount /data/vendor/copied/modem_userdata /mnt/vendor/modem_userdata none bind latemount + +/data/vendor/copied/persist /mnt/vendor/persist none bind latemount diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc index a9066835..cfe1e2aa 100644 --- a/conf/init.efs.16k.rc +++ b/conf/init.efs.16k.rc @@ -11,13 +11,16 @@ on post-fs-data && property:ro.boot.flash.locked=0 restorecon_recursive /data/vendor/copied restorecon_recursive /mnt/vendor mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist exec_start copy_efs_files_to_data umount_all /vendor/etc/fstab.efs + umount_all /vendor/etc/fstab.persist mount_all /vendor/etc/fstab.efs.from_data - mount_all /vendor/etc/fstab.persist restorecon_recursive /mnt/vendor/efs restorecon_recursive /mnt/vendor/efs_backup restorecon_recursive /mnt/vendor/modem_userdata + restorecon_recursive /mnt/vendor/persist + restorecon_recursive /data/vendor/ss setprop ro.vendor.persist.status mounted on post-fs-data && property:ro.boot.flash.locked=1 diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh index bcbe8828..898bc8e9 100644 --- a/copy_efs_files_to_data.sh +++ b/copy_efs_files_to_data.sh @@ -38,3 +38,5 @@ copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" +chmod g+rx -R /mnt/vendor/persist +copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist" From 388bdee3f595a28d9c38bb96994c7cbf510a2249 Mon Sep 17 00:00:00 2001 From: Leo Chen Date: Thu, 25 Jan 2024 08:24:50 +0000 Subject: [PATCH 46/72] Update IDisplay to V11-V12 V12 is not frozen yet. We should still allow V11 for `next` build. Test: trigger test build Bug: 309897479 Bug: 303162192 Change-Id: I14582a51cde66698013b275ec1d668f858ad7cba Signed-off-by: Leo Chen --- device_framework_matrix_product.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml index cabebd09..d605c065 100644 --- a/device_framework_matrix_product.xml +++ b/device_framework_matrix_product.xml @@ -114,7 +114,7 @@ com.google.hardware.pixel.display - 11 + 11-12 IDisplay default From 76717decdc2ab49bbf61dbafec0fc6a052210fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Wagner?= Date: Sat, 2 Mar 2024 14:10:02 +0000 Subject: [PATCH 47/72] Use 2024-03-01 deqp levels for GLES and Vulkan Bug: 327589279 Change-Id: If76465a473a582a7c5f2502872876b3a682eacc0 --- device.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/device.mk b/device.mk index 0447229d..a055f83c 100644 --- a/device.mk +++ b/device.mk @@ -296,8 +296,8 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ - frameworks/native/data/etc/android.software.vulkan.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ - frameworks/native/data/etc/android.software.opengles.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml + frameworks/native/data/etc/android.software.vulkan.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ + frameworks/native/data/etc/android.software.opengles.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml #endif From 213da03c2b0c7331cab0d33b9fa5be87222d1575 Mon Sep 17 00:00:00 2001 From: Pawan Wagh Date: Thu, 9 May 2024 23:35:03 +0000 Subject: [PATCH 48/72] Use lzo-rle for 16kb page kernel Test: Checked zram compression with 4KB and 16KB kernel ======== Using 4KB kernel================ $ adb shell getconf PAGE_SIZE 4096 $ adb shell cat /sys/block/zram0/comp_algorithm [lz77eh] zstd deflate lz4 lzo-rle lzo ======== Using 16KB kernel================ $ adb root restarting adbd as root $ adb shell cat /sys/block/zram0/comp_algorithm lz77eh zstd deflate lz4 [lzo-rle] lzo $ adb shell getconf PAGE_SIZE 16384 Bug: 316158358 Change-Id: I068cf4f9ab9a1fdc36f141a1de6f4ea293db9d6f --- conf/init.zuma.rc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index c1288a0c..f98001b3 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -102,7 +102,6 @@ on init start vendor.keymaster-4-0 # ZRAM setup - write /sys/block/zram0/comp_algorithm lz77eh write /proc/sys/vm/page-cluster 0 # Some user code relies on ro.boot.hardware.revision @@ -361,6 +360,12 @@ on init chown root system /sys/devices/platform/16490000.gsa-ns/log_main chown root system /sys/devices/platform/16490000.gsa-ns/log_intermediate +on init && property:ro.boot.hardware.cpu.pagesize=4096 + write /sys/block/zram0/comp_algorithm lz77eh + +on init && property:ro.boot.hardware.cpu.pagesize=16384 + write /sys/block/zram0/comp_algorithm lzo-rle + on post-fs # Ensure device is ready and start storageproxyd wait /dev/sg1 From f8a16708195157661ba55046fc57fd750165ef77 Mon Sep 17 00:00:00 2001 From: Edgar Arriaga Date: Fri, 10 May 2024 00:03:15 +0000 Subject: [PATCH 49/72] Set default pin amount for home app Bug: 288900050 Test: dumpsys pinner Flag: EXEMPT refactor Change-Id: I86a1bd0a82513e8b45247b6fc12d4cd7a552d7db --- overlay/frameworks/base/core/res/res/values/config.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 921b7522..68b067dc 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -249,8 +249,8 @@ true - - true + + 6291456 20971520 From f6025c54da8405afb65e78081ec6149cd0c319bb Mon Sep 17 00:00:00 2001 From: Jerry Huang Date: Tue, 14 May 2024 09:25:51 +0000 Subject: [PATCH 50/72] zuma: update performance point based on AP3A.240513.001 Bug: 335350051 Test: CtsMediaDecoderTestCases android.media.decoder.cts.VideoDecoderPerfTest Change-Id: I54a234ec6f3b1ed59087aacb0e2855477492584e --- media_codecs_performance_c2.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/media_codecs_performance_c2.xml b/media_codecs_performance_c2.xml index fb148bc0..5bf32ce8 100644 --- a/media_codecs_performance_c2.xml +++ b/media_codecs_performance_c2.xml @@ -115,24 +115,24 @@ - + - + - + - + - + - + - + - + - + From c542bcfd03907eb04aed5094348b8984c9199ef4 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Tue, 14 May 2024 10:01:03 -0700 Subject: [PATCH 51/72] Split zuma fstab into two files Common fstab entries(everything but /metadata and /data) are moved to a separate fstab file. This allows us to create an ext4 variant of the same fstab later. Test: device boots Bug: 339337171 Change-Id: I3129551c98b14473c776f2cf3dee1b81fc0c84b3 --- conf/Android.bp | 20 ++++++++++++++++---- conf/{fstab.zuma.in => fstab.zuma.common} | 4 ---- conf/fstab.zuma.f2fs | 10 ++++++++++ 3 files changed, 26 insertions(+), 8 deletions(-) rename conf/{fstab.zuma.in => fstab.zuma.common} (69%) create mode 100644 conf/fstab.zuma.f2fs diff --git a/conf/Android.bp b/conf/Android.bp index 58f11f32..8bc835dd 100644 --- a/conf/Android.bp +++ b/conf/Android.bp @@ -35,7 +35,10 @@ package { genrule { name: "gen_fstab.zuma-hw-encrypt", - srcs: ["fstab.zuma.in"], + srcs: [ + "fstab.zuma.common", + "fstab.zuma.f2fs", + ], out: ["fstab.zuma"], cmd: "sed -e s/@fileencryption@/fileencryption=:aes-256-hctr2:inlinecrypt_optimized+wrappedkey_v0/" + " -e s/@inlinecrypt@/inlinecrypt/ " + @@ -44,7 +47,10 @@ genrule { genrule { name: "gen_fstab.zuma-sw-encrypt", - srcs: ["fstab.zuma.in"], + srcs: [ + "fstab.zuma.common", + "fstab.zuma.f2fs", + ], out: ["fstab.zuma"], cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts:aes-256-hctr2/" + " -e s/@inlinecrypt@// " + @@ -53,7 +59,10 @@ genrule { genrule { name: "gen_fstab.zuma-no-encrypt", - srcs: ["fstab.zuma.in"], + srcs: [ + "fstab.zuma.common", + "fstab.zuma.f2fs", + ], out: ["fstab.zuma"], cmd: "sed -e s/@fileencryption@//" + " -e s/@inlinecrypt@// " + @@ -62,7 +71,10 @@ genrule { genrule { name: "gen_fstab.zuma-fips", - srcs: ["fstab.zuma.in"], + srcs: [ + "fstab.zuma.common", + "fstab.zuma.f2fs", + ], out: ["fstab.zuma-fips"], cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts/" + " -e s/@inlinecrypt@/inlinecrypt/ " + diff --git a/conf/fstab.zuma.in b/conf/fstab.zuma.common similarity index 69% rename from conf/fstab.zuma.in rename to conf/fstab.zuma.common index 903bfe47..a5521b74 100644 --- a/conf/fstab.zuma.in +++ b/conf/fstab.zuma.common @@ -15,10 +15,6 @@ vendor_dlkm /vendor_dlkm /dev/block/platform/13200000.ufs/by-name/boot /boot emmc defaults slotselect,avb=boot,first_stage_mount /dev/block/platform/13200000.ufs/by-name/init_boot /init_boot emmc defaults slotselect,avb=init_boot,first_stage_mount /dev/block/platform/13200000.ufs/by-name/misc /misc emmc defaults wait -/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount -/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,first_stage_mount,metadata_csum #/dev/block/platform/13200000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount -/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device -/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption /dev/block/platform/13200000.ufs/by-name/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount /devices/platform/11210000.usb* auto vfat defaults voldmanaged=usb:auto diff --git a/conf/fstab.zuma.f2fs b/conf/fstab.zuma.f2fs new file mode 100644 index 00000000..10b82262 --- /dev/null +++ b/conf/fstab.zuma.f2fs @@ -0,0 +1,10 @@ +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK +# +# +/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device +/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption +/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount +/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,first_stage_mount,metadata_csum From 5a679bbf762a36eb15e69b2780b887cafdb87c3e Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Tue, 14 May 2024 10:22:10 -0700 Subject: [PATCH 52/72] Allow devices to pick ext4 as default fs at build time Products using 16KB kernel may wish to boot into 16KB mode directly. To do this, these targets would need to use ext4 as their default fs type for /data and /metadata . Add a build time flag which would install ext4 fstabs. Test: th Bug: 339337171 Change-Id: I53de1599bbff583b45ca2bf6d3e3efb83957913e --- conf/Android.bp | 75 ++--------------------- conf/ext4/Android.bp | 102 ++++++++++++++++++++++++++++++++ conf/ext4/fstab.zuma.ext4 | 10 ++++ conf/f2fs/Android.bp | 102 ++++++++++++++++++++++++++++++++ conf/{ => f2fs}/fstab.zuma.f2fs | 0 device.mk | 8 +++ 6 files changed, 226 insertions(+), 71 deletions(-) create mode 100644 conf/ext4/Android.bp create mode 100644 conf/ext4/fstab.zuma.ext4 create mode 100644 conf/f2fs/Android.bp rename conf/{ => f2fs}/fstab.zuma.f2fs (100%) diff --git a/conf/Android.bp b/conf/Android.bp index 8bc835dd..3958e167 100644 --- a/conf/Android.bp +++ b/conf/Android.bp @@ -14,16 +14,6 @@ * limitations under the License. */ -// By default this device uses hardware-wrapped keys for storage encryption, -// which is intended to offer increased security over the traditional method -// (software keys). However, hardware-wrapped keys aren't compatible with -// FIPS-140 certification of the encryption hardware, and hence we have to -// disable the use of them in FIPS mode. This requires having two fstab files: -// one for the default mode, and one for FIPS mode selectable via -// androidboot.fstab_suffix on the kernel command line. These fstabs should be -// identical with the exception of the encryption settings, so to keep them in -// sync the rules below generate them from a template file. - package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import @@ -33,64 +23,7 @@ package { default_applicable_licenses: ["device_google_zuma_license"], } -genrule { - name: "gen_fstab.zuma-hw-encrypt", - srcs: [ - "fstab.zuma.common", - "fstab.zuma.f2fs", - ], - out: ["fstab.zuma"], - cmd: "sed -e s/@fileencryption@/fileencryption=:aes-256-hctr2:inlinecrypt_optimized+wrappedkey_v0/" + - " -e s/@inlinecrypt@/inlinecrypt/ " + - " -e s/@metadata_encryption@/metadata_encryption=:wrappedkey_v0/ $(in) > $(out)", -} - -genrule { - name: "gen_fstab.zuma-sw-encrypt", - srcs: [ - "fstab.zuma.common", - "fstab.zuma.f2fs", - ], - out: ["fstab.zuma"], - cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts:aes-256-hctr2/" + - " -e s/@inlinecrypt@// " + - " -e s/@metadata_encryption@/metadata_encryption=/ $(in) > $(out)", -} - -genrule { - name: "gen_fstab.zuma-no-encrypt", - srcs: [ - "fstab.zuma.common", - "fstab.zuma.f2fs", - ], - out: ["fstab.zuma"], - cmd: "sed -e s/@fileencryption@//" + - " -e s/@inlinecrypt@// " + - " -e s/@metadata_encryption@// $(in) > $(out)", -} - -genrule { - name: "gen_fstab.zuma-fips", - srcs: [ - "fstab.zuma.common", - "fstab.zuma.f2fs", - ], - out: ["fstab.zuma-fips"], - cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts/" + - " -e s/@inlinecrypt@/inlinecrypt/ " + - " -e s/@metadata_encryption@/metadata_encryption=aes-256-xts/ $(in) > $(out)", -} - -prebuilt_etc { - name: "fstab.zuma", - src: ":gen_fstab.zuma-hw-encrypt", - vendor: true, - vendor_ramdisk_available: true, -} - -prebuilt_etc { - name: "fstab.zuma-fips", - src: ":gen_fstab.zuma-fips", - vendor: true, - vendor_ramdisk_available: true, -} +filegroup { + name: "fstab.zuma.common", + srcs: ["fstab.zuma.common"], +} \ No newline at end of file diff --git a/conf/ext4/Android.bp b/conf/ext4/Android.bp new file mode 100644 index 00000000..8f809ef3 --- /dev/null +++ b/conf/ext4/Android.bp @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// By default this device uses hardware-wrapped keys for storage encryption, +// which is intended to offer increased security over the traditional method +// (software keys). However, hardware-wrapped keys aren't compatible with +// FIPS-140 certification of the encryption hardware, and hence we have to +// disable the use of them in FIPS mode. This requires having two fstab files: +// one for the default mode, and one for FIPS mode selectable via +// androidboot.fstab_suffix on the kernel command line. These fstabs should be +// identical with the exception of the encryption settings, so to keep them in +// sync the rules below generate them from a template file. + +soong_namespace { + imports: [ + "device/google/zuma", + ], +} + +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "device_google_zuma_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["device_google_zuma_license"], +} + +genrule { + name: "gen_fstab.zuma-hw-encrypt", + srcs: [ + ":fstab.zuma.common", + "fstab.zuma.ext4", + ], + out: ["fstab.zuma"], + cmd: "sed -e s/@fileencryption@/fileencryption=:aes-256-hctr2:inlinecrypt_optimized+wrappedkey_v0/" + + " -e s/@inlinecrypt@/inlinecrypt/ " + + " -e s/@metadata_encryption@/metadata_encryption=:wrappedkey_v0/ $(in) > $(out)", +} + +genrule { + name: "gen_fstab.zuma-sw-encrypt", + srcs: [ + ":fstab.zuma.common", + "fstab.zuma.ext4", + ], + out: ["fstab.zuma"], + cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts:aes-256-hctr2/" + + " -e s/@inlinecrypt@// " + + " -e s/@metadata_encryption@/metadata_encryption=/ $(in) > $(out)", +} + +genrule { + name: "gen_fstab.zuma-no-encrypt", + srcs: [ + ":fstab.zuma.common", + "fstab.zuma.ext4", + ], + out: ["fstab.zuma"], + cmd: "sed -e s/@fileencryption@//" + + " -e s/@inlinecrypt@// " + + " -e s/@metadata_encryption@// $(in) > $(out)", +} + +genrule { + name: "gen_fstab.zuma-fips", + srcs: [ + ":fstab.zuma.common", + "fstab.zuma.ext4", + ], + out: ["fstab.zuma-fips"], + cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts/" + + " -e s/@inlinecrypt@/inlinecrypt/ " + + " -e s/@metadata_encryption@/metadata_encryption=aes-256-xts/ $(in) > $(out)", +} + +prebuilt_etc { + name: "fstab.zuma", + src: ":gen_fstab.zuma-hw-encrypt", + vendor: true, + vendor_ramdisk_available: true, +} + +prebuilt_etc { + name: "fstab.zuma-fips", + src: ":gen_fstab.zuma-fips", + vendor: true, + vendor_ramdisk_available: true, +} diff --git a/conf/ext4/fstab.zuma.ext4 b/conf/ext4/fstab.zuma.ext4 new file mode 100644 index 00000000..94c64a0d --- /dev/null +++ b/conf/ext4/fstab.zuma.ext4 @@ -0,0 +1,10 @@ +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK +# +# +/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,formattable,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption +/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device +/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,first_stage_mount,metadata_csum +/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,first_stage_mount diff --git a/conf/f2fs/Android.bp b/conf/f2fs/Android.bp new file mode 100644 index 00000000..535df6cf --- /dev/null +++ b/conf/f2fs/Android.bp @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// By default this device uses hardware-wrapped keys for storage encryption, +// which is intended to offer increased security over the traditional method +// (software keys). However, hardware-wrapped keys aren't compatible with +// FIPS-140 certification of the encryption hardware, and hence we have to +// disable the use of them in FIPS mode. This requires having two fstab files: +// one for the default mode, and one for FIPS mode selectable via +// androidboot.fstab_suffix on the kernel command line. These fstabs should be +// identical with the exception of the encryption settings, so to keep them in +// sync the rules below generate them from a template file. + +soong_namespace { + imports: [ + "device/google/zuma", + ], +} + +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "device_google_zuma_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["device_google_zuma_license"], +} + +genrule { + name: "gen_fstab.zuma-hw-encrypt", + srcs: [ + ":fstab.zuma.common", + "fstab.zuma.f2fs", + ], + out: ["fstab.zuma"], + cmd: "sed -e s/@fileencryption@/fileencryption=:aes-256-hctr2:inlinecrypt_optimized+wrappedkey_v0/" + + " -e s/@inlinecrypt@/inlinecrypt/ " + + " -e s/@metadata_encryption@/metadata_encryption=:wrappedkey_v0/ $(in) > $(out)", +} + +genrule { + name: "gen_fstab.zuma-sw-encrypt", + srcs: [ + ":fstab.zuma.common", + "fstab.zuma.f2fs", + ], + out: ["fstab.zuma"], + cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts:aes-256-hctr2/" + + " -e s/@inlinecrypt@// " + + " -e s/@metadata_encryption@/metadata_encryption=/ $(in) > $(out)", +} + +genrule { + name: "gen_fstab.zuma-no-encrypt", + srcs: [ + ":fstab.zuma.common", + "fstab.zuma.f2fs", + ], + out: ["fstab.zuma"], + cmd: "sed -e s/@fileencryption@//" + + " -e s/@inlinecrypt@// " + + " -e s/@metadata_encryption@// $(in) > $(out)", +} + +genrule { + name: "gen_fstab.zuma-fips", + srcs: [ + ":fstab.zuma.common", + "fstab.zuma.f2fs", + ], + out: ["fstab.zuma-fips"], + cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts/" + + " -e s/@inlinecrypt@/inlinecrypt/ " + + " -e s/@metadata_encryption@/metadata_encryption=aes-256-xts/ $(in) > $(out)", +} + +prebuilt_etc { + name: "fstab.zuma", + src: ":gen_fstab.zuma-hw-encrypt", + vendor: true, + vendor_ramdisk_available: true, +} + +prebuilt_etc { + name: "fstab.zuma-fips", + src: ":gen_fstab.zuma-fips", + vendor: true, + vendor_ramdisk_available: true, +} diff --git a/conf/fstab.zuma.f2fs b/conf/f2fs/fstab.zuma.f2fs similarity index 100% rename from conf/fstab.zuma.f2fs rename to conf/f2fs/fstab.zuma.f2fs diff --git a/device.mk b/device.mk index 0447229d..19305220 100644 --- a/device.mk +++ b/device.mk @@ -383,6 +383,14 @@ PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.zuma.rc # Fstab files +ifeq (ext4,$(TARGET_RW_FILE_SYSTEM_TYPE)) +PRODUCT_SOONG_NAMESPACES += \ + device/google/zuma/conf/ext4 +else +PRODUCT_SOONG_NAMESPACES += \ + device/google/zuma/conf/f2fs +endif + PRODUCT_PACKAGES += \ fstab.zuma \ fstab.zuma.vendor_ramdisk \ From 629eabc6c564b411169d53d7ba3a5075935151f4 Mon Sep 17 00:00:00 2001 From: Sungtak Lee Date: Thu, 16 May 2024 21:31:54 +0000 Subject: [PATCH 53/72] Remove codec2 hidl fragments Bug: 321808716 Change-Id: Iaf80f2c61cb3d9f1b1761e33ecf92ccc27ad3423 --- manifest_media.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/manifest_media.xml b/manifest_media.xml index d3692477..18588a69 100644 --- a/manifest_media.xml +++ b/manifest_media.xml @@ -1,15 +1,4 @@ - - - android.hardware.media.c2 - hwbinder - 1.2 - - IComponentStore - default - default1 - - android.hardware.media.c2 From 7c30487eff576de561e0ead9cac427eca454d50e Mon Sep 17 00:00:00 2001 From: Leo Chen Date: Thu, 23 May 2024 06:42:16 +0000 Subject: [PATCH 54/72] Update IDisplay to V12 Test: trigger test build Bug: 309897479 Change-Id: I5f6fb353f1096d600ddbe3a985bd30caf1df97b6 Signed-off-by: Leo Chen --- device_framework_matrix_product.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml index d605c065..895ce99b 100644 --- a/device_framework_matrix_product.xml +++ b/device_framework_matrix_product.xml @@ -114,7 +114,7 @@ com.google.hardware.pixel.display - 11-12 + 12 IDisplay default From ef68e9b578e27a07f57b5df1890cf949bbc20eec Mon Sep 17 00:00:00 2001 From: Dmitry Skiba Date: Tue, 28 May 2024 23:50:44 +0000 Subject: [PATCH 55/72] Restrict kcompactd thread to middle/little cores. Bug: 340872453 Test: Confirmed kcompactd affinity with taskset -p Change-Id: I1cc92927dfc22d878819010aa2e9f01b5a3b8851 Signed-off-by: Dmitry Skiba --- conf/init.zuma.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index f98001b3..e7c5cb0b 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -740,6 +740,9 @@ on property:sys.boot_completed=1 # Set kswapd affinity write /sys/kernel/vendor_mm/kswapd_cpu_affinity ff + # Set kcompactd affinity + write /sys/kernel/vendor_mm/kcompactd_cpu_affinity ff + # Adjust watermark level write /proc/sys/vm/watermark_scale_factor 200 From ed630d88aae6c8376bb6d7e0ddff2eda03033b97 Mon Sep 17 00:00:00 2001 From: jiangzining Date: Thu, 30 May 2024 15:20:22 +0800 Subject: [PATCH 56/72] [Scone] add BLUETOOTH_CONNECT to SCONE default permission MBA Approval: b/330640278 Bug: b/343608940 Test: Build and Flash Change-Id: I93c68928990985244993b0d66edcfc4e05a669be --- default-permissions.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/default-permissions.xml b/default-permissions.xml index fd29d6bc..5061ea46 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -75,6 +75,8 @@ + + From 721a8358c65e1c884364ac2a8b3d8cca84a82c18 Mon Sep 17 00:00:00 2001 From: Dmitry Skiba Date: Thu, 30 May 2024 00:50:32 +0000 Subject: [PATCH 57/72] Revert "Restrict kcompactd thread to middle/little cores." This reverts commit ef68e9b578e27a07f57b5df1890cf949bbc20eec. Reason for revert: avoid 24Q3 (will reland later) Bug: 340872453 Change-Id: Ia217c0e0f03035267a5b53e3dadaffc4e8febfd3 --- conf/init.zuma.rc | 3 --- 1 file changed, 3 deletions(-) diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index e7c5cb0b..f98001b3 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -740,9 +740,6 @@ on property:sys.boot_completed=1 # Set kswapd affinity write /sys/kernel/vendor_mm/kswapd_cpu_affinity ff - # Set kcompactd affinity - write /sys/kernel/vendor_mm/kcompactd_cpu_affinity ff - # Adjust watermark level write /proc/sys/vm/watermark_scale_factor 200 From 5cdbd02063942c547921c3853c7e73e87671ae1a Mon Sep 17 00:00:00 2001 From: Madhav Iyengar Date: Thu, 9 May 2024 22:45:16 +0000 Subject: [PATCH 58/72] Add BT offload AOC services for Zuma Bug: 342415506 Test: Works with other CLs in topic. Change-Id: Iadf8bc7baedf0b798de673735a6925f60b992646 --- conf/ueventd.zuma.rc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/conf/ueventd.zuma.rc b/conf/ueventd.zuma.rc index 8564d994..e69f4672 100644 --- a/conf/ueventd.zuma.rc +++ b/conf/ueventd.zuma.rc @@ -159,6 +159,11 @@ /dev/acd-com.google.bt 0660 system system /dev/acd-com.google.bt.non_wake_up 0660 system system +# AoC Bluetooth Offload +/dev/acd-chre_bt_offload_ctl 0660 bluetooth bluetooth +/dev/acd-chre_bt_offload_data_tx 0220 bluetooth bluetooth +/dev/acd-chre_bt_offload_data_rx 0440 bluetooth bluetooth + # LWIS /dev/lwis* 0660 system system @@ -245,4 +250,4 @@ /sys/bus/aoc/devices/control udfps_get_disp_freq 0440 system system # USB Alt Modes -/sys/devices/platform/10cb0000.hsi2c/i2c-*/*-0025/typec/port0/port0-partner/port0-partner.* mode1/active 0664 system system \ No newline at end of file +/sys/devices/platform/10cb0000.hsi2c/i2c-*/*-0025/typec/port0/port0-partner/port0-partner.* mode1/active 0664 system system From 5978809ae71815193b8c0a7395f4e103ec269461 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Wed, 29 May 2024 11:05:39 -0700 Subject: [PATCH 59/72] Only copy EFS files if /data is on ext4 This reduces the amount of computation needed on critical boot path for F2FS devices. Boot time is expected to improve with this patch. Bug: 341216848 Test: boot device with ext4 and f2fs Change-Id: I7311a22a7bf9773d3909656d98cc578a43cb9477 --- conf/init.efs.16k.rc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc index cfe1e2aa..9e891680 100644 --- a/conf/init.efs.16k.rc +++ b/conf/init.efs.16k.rc @@ -6,7 +6,7 @@ service copy_efs_files_to_data /vendor/bin/copy_efs_files_to_data oneshot disabled -on post-fs-data && property:ro.boot.flash.locked=0 +on post-fs-data && property:ro.boot.flash.locked=0 && property:ro.fstype.data=ext4 mkdir /data/vendor/copied 0775 radio system restorecon_recursive /data/vendor/copied restorecon_recursive /mnt/vendor @@ -23,6 +23,11 @@ on post-fs-data && property:ro.boot.flash.locked=0 restorecon_recursive /data/vendor/ss setprop ro.vendor.persist.status mounted +on post-fs-data && property:ro.boot.flash.locked=0 && property:ro.fstype.data=f2fs + mount_all /vendor/etc/fstab.efs + mount_all /vendor/etc/fstab.persist + setprop ro.vendor.persist.status mounted + on post-fs-data && property:ro.boot.flash.locked=1 mount_all /vendor/etc/fstab.efs mount_all /vendor/etc/fstab.persist From e3ed1eabdf56bb1d7ef9b01b45014639ca890f10 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Tue, 4 Jun 2024 09:56:33 -0700 Subject: [PATCH 60/72] Use dump.f2fs to extract files from efs partitions Previously, we rely on mount points to copy files out of efs partitions. Switch over to dump.f2fs to read directly from block device without mounting. This allows us to copy files out of efs partition in both 4K and 16K mode. Test: Boot dev option enabled ext4 device Bug: 340965747 Change-Id: I9d3f3d5200adc31f13298488b5be068b0fe7c7f4 --- conf/init.efs.16k.rc | 5 ----- copy_efs_files_to_data.sh | 12 ++++-------- device.mk | 1 + 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc index 9e891680..c3434bfd 100644 --- a/conf/init.efs.16k.rc +++ b/conf/init.efs.16k.rc @@ -9,12 +9,7 @@ service copy_efs_files_to_data /vendor/bin/copy_efs_files_to_data on post-fs-data && property:ro.boot.flash.locked=0 && property:ro.fstype.data=ext4 mkdir /data/vendor/copied 0775 radio system restorecon_recursive /data/vendor/copied - restorecon_recursive /mnt/vendor - mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist exec_start copy_efs_files_to_data - umount_all /vendor/etc/fstab.efs - umount_all /vendor/etc/fstab.persist mount_all /vendor/etc/fstab.efs.from_data restorecon_recursive /mnt/vendor/efs restorecon_recursive /mnt/vendor/efs_backup diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh index 898bc8e9..2ac9e462 100644 --- a/copy_efs_files_to_data.sh +++ b/copy_efs_files_to_data.sh @@ -8,19 +8,19 @@ $BIN_DIR/mkdir -p $CHECKPOINT_DIR function copy_files_to_data() { + block_device=$1 partition_name=$(basename $1) mount_point=$2 tmpdir=$CHECKPOINT_DIR/$partition_name.img build_checkpoint=$CHECKPOINT_DIR/$partition_name if [ ! -e $build_checkpoint ]; then $BIN_DIR/rm -rf $tmpdir - $BIN_DIR/rm -rf $build_checkpoint - cp -rp $mount_point $tmpdir + $BIN_DIR/mkdir -p $tmpdir + $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device if [ $? -ne 0 ]; then - echo "Failed to cp -rp $mount_point $tmpdir" + echo "Failed to $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device" return fi - fsync `find $tmpdir -type fd` mv $tmpdir $build_checkpoint if [ $? -ne 0 ]; then echo "mv $tmpdir $build_checkpoint" @@ -31,12 +31,8 @@ function copy_files_to_data() echo "Successfully copied $mount_point to $build_checkpoint" } -chmod g+rx -R /mnt/vendor/efs -chmod g+rx -R /mnt/vendor/efs_backup -chmod g+rx -R /mnt/vendor/modem_userdata copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" -chmod g+rx -R /mnt/vendor/persist copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist" diff --git a/device.mk b/device.mk index bcf96249..8d705f32 100644 --- a/device.mk +++ b/device.mk @@ -366,6 +366,7 @@ PRODUCT_COPY_FILES += \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data \ PRODUCT_PACKAGES += copy_efs_files_to_data +PRODUCT_PACKAGES += fsck.f2fs.vendor else PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.efs.4k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.efs.rc From e2155d5cc4a5e3df8073deae19a35282cba6f83f Mon Sep 17 00:00:00 2001 From: Utku Utkan Date: Wed, 5 Jun 2024 04:51:09 +0000 Subject: [PATCH 61/72] Remove ACCESS_FINE_LOCATION permission pregrant for PCS on Zuma FLAG: EXEMPT Cleanup of obsolete permission pregrant Bug: 345021501 Test: m && flashall Change-Id: Ia59acea79baadb45083adc76f52d62a0fb184762 --- default-permissions.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/default-permissions.xml b/default-permissions.xml index 1764bc1a..00959c8f 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -59,7 +59,6 @@ - From 1b3d66a9fbc3ff931acab5caec3ad84d618be3ac Mon Sep 17 00:00:00 2001 From: Dennis Shen Date: Fri, 7 Jun 2024 13:07:42 +0000 Subject: [PATCH 62/72] switch over to use new storage read api instead of server_configurable_flags, this new read api lib will be needed for new codegened aconfig flag lib. Bug: 321077378 Test m and avd Change-Id: I99307a4ad8f133232cfd8b47058f936445cb7cce --- usb/usb/Android.bp | 1 + 1 file changed, 1 insertion(+) diff --git a/usb/usb/Android.bp b/usb/usb/Android.bp index 858fc472..be45393f 100644 --- a/usb/usb/Android.bp +++ b/usb/usb/Android.bp @@ -55,6 +55,7 @@ cc_binary { "libbinder_ndk", "libprotobuf-cpp-lite", "server_configurable_flags", + "libaconfig_storage_read_api_cc", ], static_libs: [ "libpixelusb-aidl", From 48e1f2418a5b9f9713247713c49815eb0fcf3244 Mon Sep 17 00:00:00 2001 From: chenkris Date: Mon, 10 Jun 2024 17:22:27 +0000 Subject: [PATCH 63/72] zuma: build fingerprint dump Bug: 346450599 Test: adb bugreport Change-Id: I83f64cb3aa46007dd41674309a811d5f4c5a52a4 --- device.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device.mk b/device.mk index 53b73393..3c21ec56 100644 --- a/device.mk +++ b/device.mk @@ -43,6 +43,7 @@ include device/google/gs-common/misc_writer/misc_writer.mk include device/google/gs-common/gyotaku_app/gyotaku.mk include device/google/gs-common/bootctrl/bootctrl_aidl.mk include device/google/gs-common/betterbug/betterbug.mk +include device/google/gs-common/fingerprint/fingerprint.mk include device/google/zuma/dumpstate/item.mk From f3a1a067f1df7cc74641bf47a3d61584aef9b6a0 Mon Sep 17 00:00:00 2001 From: Poomarin Phloyphisut Date: Tue, 11 Jun 2024 05:49:20 +0000 Subject: [PATCH 64/72] pixelstats: add speaker_version sysfs for VendorSpeakerStatsReported Bug: 326342880 Test: Local Test Change-Id: Ib8c93e9297a7afb61005fb523fd664be0a00b459 --- pixelstats/service.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index 57aebfec..eaac5207 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -130,7 +130,8 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { "/sys/devices/platform/hdcp/hdcp1_success_count", "/sys/devices/platform/hdcp/hdcp1_fail_count", "/sys/devices/platform/hdcp/hdcp0_count", - } + }, + .SpeakerVersionPath = "/sys/devices/platform/audiometrics/speaker_version" }; const struct UeventListener::UeventPaths ueventPaths = { From d3ce2b98735d88de43f9a94b04912121bb18018f Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Tue, 11 Jun 2024 09:13:27 -0700 Subject: [PATCH 65/72] Restore permission of efs/efs_backup/modem_userdata after mount Test: Boot device, erase EFS, check selinux labels Bug: 345803836 Change-Id: Ia511731e001d74409b40b087432e3535ca5cfc8f --- conf/init.efs.16k.rc | 3 --- conf/init.persist.rc | 8 ++++++++ conf/init.zuma.rc | 6 ------ 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc index c3434bfd..72ae9894 100644 --- a/conf/init.efs.16k.rc +++ b/conf/init.efs.16k.rc @@ -11,9 +11,6 @@ on post-fs-data && property:ro.boot.flash.locked=0 && property:ro.fstype.data=ex restorecon_recursive /data/vendor/copied exec_start copy_efs_files_to_data mount_all /vendor/etc/fstab.efs.from_data - restorecon_recursive /mnt/vendor/efs - restorecon_recursive /mnt/vendor/efs_backup - restorecon_recursive /mnt/vendor/modem_userdata restorecon_recursive /mnt/vendor/persist restorecon_recursive /data/vendor/ss setprop ro.vendor.persist.status mounted diff --git a/conf/init.persist.rc b/conf/init.persist.rc index 26a9c4d7..7852c78e 100644 --- a/conf/init.persist.rc +++ b/conf/init.persist.rc @@ -1,4 +1,12 @@ on property:ro.vendor.persist.status=mounted + # for modem related functions + restorecon_recursive /mnt/vendor/efs + chown radio system /mnt/vendor/efs + restorecon_recursive /mnt/vendor/efs_backup + chown radio system /mnt/vendor/efs_backup + restorecon_recursive /mnt/vendor/modem_userdata + chown radio system /mnt/vendor/modem_userdata + # for battery defender mkdir /mnt/vendor/persist/battery 0700 system system diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index f98001b3..f0cbf01c 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -605,12 +605,6 @@ on property:persist.vendor.radio.no_modem_board=1 on fs mount_all --early - restorecon_recursive /mnt/vendor/efs - chown radio system /mnt/vendor/efs - restorecon_recursive /mnt/vendor/efs_backup - chown radio system /mnt/vendor/efs_backup - restorecon_recursive /mnt/vendor/modem_userdata - chown radio system /mnt/vendor/modem_userdata # Mount modem partition mount_all /vendor/etc/fstab.modem --early From d45d697ded5ed10f12c3e6bbee9fc0e6d0e9dadb Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Tue, 11 Jun 2024 10:49:17 -0700 Subject: [PATCH 66/72] Enable copy efs files support on pgagnotic target pgagnotic targets might boot into 16KB directly(w/o dev options), in which case it would need copy efs files support to be enabled. Test: boot device with dev option disabled, check efs Bug: 346275905 Change-Id: If18bfa0b0646da8008c6d92bec094b236273cbfc --- device.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device.mk b/device.mk index 8d705f32..c7e8979c 100644 --- a/device.mk +++ b/device.mk @@ -360,7 +360,7 @@ PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc \ device/google/zuma/conf/init.persist.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.persist.rc -ifeq (true,$(PRODUCT_16K_DEVELOPER_OPTION)) +ifeq (true,$(filter $(DEVICE_PAGE_AGNOSTIC) $(PRODUCT_16K_DEVELOPER_OPTION),true)) PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.efs.rc \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data \ From ef5856a4474002cc35a51377adffddd4cb239796 Mon Sep 17 00:00:00 2001 From: Kyle Tso Date: Wed, 12 Jun 2024 17:14:02 +0800 Subject: [PATCH 67/72] usb: Add retry on role switch Bug: 341996696 Change-Id: I8caa65288af1588d24fea4aa6c5768d45d69bbd5 Signed-off-by: Kyle Tso --- usb/usb/Usb.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp index fcb31ead..267049b9 100644 --- a/usb/usb/Usb.cpp +++ b/usb/usb/Usb.cpp @@ -602,6 +602,10 @@ ScopedAStatus Usb::switchRole(const string& in_portName, const PortRole& in_role fp = fopen(filename.c_str(), "w"); if (fp != NULL) { int ret = fputs(convertRoletoString(in_role).c_str(), fp); + if (ret == EAGAIN) { + std::this_thread::sleep_for(std::chrono::milliseconds(700)); + ret = fputs(convertRoletoString(in_role).c_str(), fp); + } fclose(fp); if ((ret != EOF) && ReadFileToString(filename, &written)) { written = Trim(written); From d17fdff5f81cff76adaa75d50f26318be8048123 Mon Sep 17 00:00:00 2001 From: Kyle Tso Date: Thu, 13 Jun 2024 16:54:37 +0800 Subject: [PATCH 68/72] usb: Log for retry on role switch Add a log for the retry. Also define the sleep time in the header file. Bug: 341996696 Change-Id: Ib3cc0c6ad576e7cda26b7f50cdc61d52e6349c78 Signed-off-by: Kyle Tso --- usb/usb/Usb.cpp | 3 ++- usb/usb/Usb.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp index 267049b9..4f6d1272 100644 --- a/usb/usb/Usb.cpp +++ b/usb/usb/Usb.cpp @@ -603,7 +603,8 @@ ScopedAStatus Usb::switchRole(const string& in_portName, const PortRole& in_role if (fp != NULL) { int ret = fputs(convertRoletoString(in_role).c_str(), fp); if (ret == EAGAIN) { - std::this_thread::sleep_for(std::chrono::milliseconds(700)); + ALOGI("role switch busy, retry in %d ms", ROLE_SWAP_RETRY_MS); + std::this_thread::sleep_for(std::chrono::milliseconds(ROLE_SWAP_RETRY_MS)); ret = fputs(convertRoletoString(in_role).c_str(), fp); } fclose(fp); diff --git a/usb/usb/Usb.h b/usb/usb/Usb.h index 60064514..4746a88c 100644 --- a/usb/usb/Usb.h +++ b/usb/usb/Usb.h @@ -79,6 +79,7 @@ constexpr char kGadgetName[] = "11210000.dwc3"; #define DISPLAYPORT_IRQ_HPD_COUNT_CHECK 3 #define DISPLAYPORT_POLL_WAIT_MS 100 +#define ROLE_SWAP_RETRY_MS 700 #define SVID_DISPLAYPORT "ff01" #define SVID_THUNDERBOLT "8087" From 120974a4b1a511583dfef1b85056bbc563d89ec9 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Fri, 14 Jun 2024 13:12:19 -0700 Subject: [PATCH 69/72] Add test for copy_efs_files_to_data script Test: atest CopyEfsTest Bug: 346551655 Change-Id: I38eef1dff949c4275bf0b355582238678a6894a7 --- CopyEfsTest/Android.bp | 35 +++++++ CopyEfsTest/AndroidTest.xml | 40 ++++++++ CopyEfsTest/TEST_MAPPING | 8 ++ .../src/com/android/test/CopyEfsTest.java | 97 +++++++++++++++++++ 4 files changed, 180 insertions(+) create mode 100644 CopyEfsTest/Android.bp create mode 100644 CopyEfsTest/AndroidTest.xml create mode 100644 CopyEfsTest/TEST_MAPPING create mode 100644 CopyEfsTest/src/com/android/test/CopyEfsTest.java diff --git a/CopyEfsTest/Android.bp b/CopyEfsTest/Android.bp new file mode 100644 index 00000000..52c5de4e --- /dev/null +++ b/CopyEfsTest/Android.bp @@ -0,0 +1,35 @@ +// Copyright (C) 2024 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package { + default_applicable_licenses: ["device_google_zuma_license"], +} + +java_test_host { + name: "CopyEfsTest", + // Include all test java files + srcs: ["src/**/*.java"], + static_libs: [ + "junit", + "platform-test-annotations", + "truth", + ], + libs: [ + "tradefed", + "compatibility-host-util", + "compatibility-tradefed", + ], + test_suites: ["device-tests"], + test_config: "AndroidTest.xml", +} diff --git a/CopyEfsTest/AndroidTest.xml b/CopyEfsTest/AndroidTest.xml new file mode 100644 index 00000000..398991f3 --- /dev/null +++ b/CopyEfsTest/AndroidTest.xml @@ -0,0 +1,40 @@ + + + + + diff --git a/CopyEfsTest/TEST_MAPPING b/CopyEfsTest/TEST_MAPPING new file mode 100644 index 00000000..37a720b5 --- /dev/null +++ b/CopyEfsTest/TEST_MAPPING @@ -0,0 +1,8 @@ +{ + "postsubmit": [ + { + "name": "CopyEfsTest" + } + ] +} + diff --git a/CopyEfsTest/src/com/android/test/CopyEfsTest.java b/CopyEfsTest/src/com/android/test/CopyEfsTest.java new file mode 100644 index 00000000..b00ef2fc --- /dev/null +++ b/CopyEfsTest/src/com/android/test/CopyEfsTest.java @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeTrue; + +import android.platform.test.annotations.AppModeFull; + +import com.android.tradefed.testtype.DeviceJUnit4ClassRunner; +import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test; +import com.android.tradefed.testtype.junit4.DeviceTestRunOptions; +import com.android.tradefed.util.RunUtil; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.io.BufferedReader; +import java.io.StringReader; + +@RunWith(DeviceJUnit4ClassRunner.class) +public class CopyEfsTest extends BaseHostJUnit4Test { + + + + + @Test + @AppModeFull + public void copyEfsTest() throws Exception { + + getDevice().enableAdbRoot(); + + // This test can be run on OEM unlocked device only as unlocking bootloader requires + // manual intervention. + String result = getDevice().getProperty("ro.boot.flash.locked"); + assumeTrue("0".equals(result)); + final String dataFstype = getFsTypeFor("/data"); + assertTrue(!dataFstype.isEmpty()); + if (!dataFstype.equals("ext4")) { + getDevice().executeShellCommand("cmd recovery wipe ext4"); + RunUtil.getDefault().sleep(10000); + // Wait for 2 mins device to be online againg + getDevice().waitForDeviceOnline(120000); + getDevice().enableAdbRoot(); + } + assertEquals("ext4", getFsTypeFor("/data")); + String dataBlockDev = getBlockDevFor("/data"); + assertEquals(dataBlockDev, getBlockDevFor("/mnt/vendor/efs")); + assertEquals(dataBlockDev, getBlockDevFor("/mnt/vendor/efs_backup")); + assertEquals(dataBlockDev, getBlockDevFor("/mnt/vendor/modem_userdata")); + } + + private String[] getMountInfo(String mountPoint) throws Exception { + String result = getDevice().executeShellCommand("cat /proc/mounts"); + BufferedReader br = new BufferedReader(new StringReader(result)); + String line; + while ((line = br.readLine()) != null) { + final String[] fields = line.split(" "); + final String device = fields[0]; + final String partition = fields[1]; + final String fsType = fields[2]; + if (partition.equals(mountPoint)) { + return fields; + } + } + return null; + } + private String getFsTypeFor(String mountPoint) throws Exception { + String[] result = getMountInfo(mountPoint); + if (result == null) { + return ""; + } + return result[2]; + } + private String getBlockDevFor(String mountPoint) throws Exception { + String[] result = getMountInfo(mountPoint); + if (result == null) { + return ""; + } + return result[0]; + } +} From 3e96ca1dcfef6685071f6b2137202d71a4122013 Mon Sep 17 00:00:00 2001 From: liangjlee Date: Thu, 27 Jun 2024 02:01:10 +0800 Subject: [PATCH 70/72] zuma: Include power/power.mk Bug: 331612600 Flag: EXEMPT (bug 337358613) Signed-off-by: liangjlee (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:48c79683bcac4b697cfa08949dfa4c4c7daed683) Merged-In: I370cd115855b43d890dd488de65572593b238efb Change-Id: I370cd115855b43d890dd488de65572593b238efb --- device.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device.mk b/device.mk index 542fdc9e..7814d623 100644 --- a/device.mk +++ b/device.mk @@ -26,6 +26,7 @@ include device/google/gs-common/storage/storage.mk include device/google/gs-common/thermal/dump/thermal.mk include device/google/gs-common/thermal/thermal_hal/device.mk include device/google/gs-common/performance/perf.mk +include device/google/gs-common/power/power.mk include device/google/gs-common/pixel_metrics/pixel_metrics.mk include device/google/gs-common/soc/freq.mk include device/google/gs-common/gps/dump/log.mk From 9d0f747603ba99c0b5e48147539a316082efb00c Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Tue, 18 Jun 2024 15:55:03 -0700 Subject: [PATCH 71/72] Only copy efs files to /data if device is 16K page size Test: Boot device, test dev options Bug: 341216848 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:763984677a0630a2100b150c057c3d128a8f6c3d) Merged-In: I0bf328b8ff90e125dcbca5261fb8dd4e0ad458d8 Change-Id: I0bf328b8ff90e125dcbca5261fb8dd4e0ad458d8 --- conf/init.efs.16k.rc | 9 ++------- conf/init.efs.4k.rc | 2 +- conf/init.persist.rc | 1 + 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc index 72ae9894..89e2b57f 100644 --- a/conf/init.efs.16k.rc +++ b/conf/init.efs.16k.rc @@ -6,7 +6,7 @@ service copy_efs_files_to_data /vendor/bin/copy_efs_files_to_data oneshot disabled -on post-fs-data && property:ro.boot.flash.locked=0 && property:ro.fstype.data=ext4 +on post-fs-data && property:ro.boot.hardware.cpu.pagesize=16384 mkdir /data/vendor/copied 0775 radio system restorecon_recursive /data/vendor/copied exec_start copy_efs_files_to_data @@ -15,12 +15,7 @@ on post-fs-data && property:ro.boot.flash.locked=0 && property:ro.fstype.data=ex restorecon_recursive /data/vendor/ss setprop ro.vendor.persist.status mounted -on post-fs-data && property:ro.boot.flash.locked=0 && property:ro.fstype.data=f2fs - mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist - setprop ro.vendor.persist.status mounted - -on post-fs-data && property:ro.boot.flash.locked=1 +on late-fs && property:ro.boot.hardware.cpu.pagesize=4096 mount_all /vendor/etc/fstab.efs mount_all /vendor/etc/fstab.persist setprop ro.vendor.persist.status mounted diff --git a/conf/init.efs.4k.rc b/conf/init.efs.4k.rc index 506c7220..60a07a9c 100644 --- a/conf/init.efs.4k.rc +++ b/conf/init.efs.4k.rc @@ -1,4 +1,4 @@ -on post-fs-data +on late-fs mount_all /vendor/etc/fstab.efs mount_all /vendor/etc/fstab.persist setprop ro.vendor.persist.status mounted diff --git a/conf/init.persist.rc b/conf/init.persist.rc index 7852c78e..4a4c3ff3 100644 --- a/conf/init.persist.rc +++ b/conf/init.persist.rc @@ -31,6 +31,7 @@ on property:ro.vendor.persist.status=mounted mkdir /mnt/vendor/persist/data/tz 0700 system system mkdir /mnt/vendor/persist/touch 0770 system system +on property:ro.fstype.data=* && property:ro.vendor.persist.status=mounted # Proxy for Secure Storage mkdir /data/vendor/rebootescrow 0770 hsm hsm mkdir /data/vendor/ss 0770 root system From 2d0a2541016b078db8dcf3da3080d647f1ccc047 Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Thu, 20 Jun 2024 21:04:40 -0700 Subject: [PATCH 72/72] Mount persist partition in early-init The graphics hal might need to access /persist early in the boot process. So mount persist early for 4K devices. Test: boot 4K device Bug: 338504890 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:73a68dd6d3794ed8a4e791f2c86c4e55a61ea2aa) Merged-In: I4b2a0a61ebaff5d85a4daac445d81ae3d21aa9c3 Change-Id: I4b2a0a61ebaff5d85a4daac445d81ae3d21aa9c3 --- conf/init.efs.16k.rc | 8 +++++--- conf/init.efs.4k.rc | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/conf/init.efs.16k.rc b/conf/init.efs.16k.rc index 89e2b57f..e39ac23f 100644 --- a/conf/init.efs.16k.rc +++ b/conf/init.efs.16k.rc @@ -15,8 +15,10 @@ on post-fs-data && property:ro.boot.hardware.cpu.pagesize=16384 restorecon_recursive /data/vendor/ss setprop ro.vendor.persist.status mounted -on late-fs && property:ro.boot.hardware.cpu.pagesize=4096 - mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist +on early-init && property:ro.boot.hardware.cpu.pagesize=4096 + mount_all /vendor/etc/fstab.persist --early setprop ro.vendor.persist.status mounted +on late-fs && property:ro.boot.hardware.cpu.pagesize=4096 + mount_all /vendor/etc/fstab.efs --early + diff --git a/conf/init.efs.4k.rc b/conf/init.efs.4k.rc index 60a07a9c..8b48bdfb 100644 --- a/conf/init.efs.4k.rc +++ b/conf/init.efs.4k.rc @@ -1,4 +1,6 @@ -on late-fs - mount_all /vendor/etc/fstab.efs - mount_all /vendor/etc/fstab.persist +on early-init + mount_all /vendor/etc/fstab.persist --early setprop ro.vendor.persist.status mounted + +on late-fs + mount_all /vendor/etc/fstab.efs --early