diff --git a/.gitattributes b/.gitattributes
index d9e2d3cf12..b77ae2ef77 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -14,18 +14,18 @@
*.ico binary
*.jpg binary
*.png binary
+*.gif binary
*.qmg binary
*.webp binary
+*.pdf binary
# ROM-specific prebuilt blobs
prebuilts/bootable/deprecated-ota/updater binary
prebuilts/*/*/*/** binary
-unica/mods/pif/system/bin/rezetprop binary
+unica/mods/rezetprop/system/bin/rezetprop binary
-# Device-specific prebuilt blobs
-target/a52sxq/patches/wpss/vendor/firmware/** binary
-target/a71/patches/*/*/** binary
-target/a73xq/patches/wpss/vendor/firmware/** binary
-target/*/patches/china/vendor/firmware/** binary
-target/m52xq/patches/vendor/vendor/firmware/** binary
+# Platform-specific prebuilt blobs
platform/exynos9820/patches/vendor/vendor/** binary
+
+# Device-specific prebuilt blobs
+target/r8s/patches/vendor/vendor/** binary
diff --git a/.github/workflows/blobs.yml b/.github/workflows/blobs.yml
index 6075d703c3..c62af18300 100644
--- a/.github/workflows/blobs.yml
+++ b/.github/workflows/blobs.yml
@@ -13,12 +13,28 @@ jobs:
fail-fast: false
matrix:
include:
+ - module: "Galaxy A26 (a26xxx)"
+ path: "prebuilts/samsung/a26xxx"
+ - module: "Galaxy A73 (a73xqxx)"
+ path: "prebuilts/samsung/a73xqxx"
+ - module: "Galaxy Flip 6 (b6qxxx)"
+ path: "prebuilts/samsung/b6qxxx"
+ - module: "Galaxy S23 Ultra (dm3qxxx)"
+ path: "prebuilts/samsung/dm3qxxx"
+ - module: "Galaxy S24 (e1sxxx)"
+ path: "prebuilts/samsung/e1sxxx"
+ - module: "Galaxy S24+ (e2sxxx)"
+ path: "prebuilts/samsung/e2sxxx"
+ - module: "Galaxy Tab S10 FE (gts10fewifixx)"
+ path: "prebuilts/samsung/gts10fewifixx"
+ - module: "Galaxy S21 Ultra (p3sxxx)"
+ path: "prebuilts/samsung/p3sxxx"
+ - module: "Galaxy S25 Ultra (China) (pa3qzcx)"
+ path: "prebuilts/samsung/pa3qzcx"
- module: "Galaxy S22 (r0qxxx)"
path: "prebuilts/samsung/r0qxxx"
- - module: "Galaxy Fold 4 (q4qxxx)"
- path: "prebuilts/samsung/q4qxxx"
- - module: "Galaxy A73 5G (a73xqxx)"
- path: "prebuilts/samsung/a73xqxx"
+ - module: "Galaxy S24 FE (r12sxxx)"
+ path: "prebuilts/samsung/r12sxxx"
steps:
- name: Checkout repo
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000000..63a45b78e7
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,96 @@
+name: Build ExtremeROM
+
+on:
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-24.04
+
+ strategy:
+ fail-fast: false
+ matrix:
+ target: [a54x]
+
+ steps:
+ - name: Checkout repo
+ uses: actions/checkout@v4
+ with:
+ submodules: 'recursive'
+
+ - name: Free disk space (1/3)
+ run: |
+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
+ sudo docker image prune --all --force
+ sudo docker builder prune -a
+
+ - name: Free disk space (2/3)
+ uses: jlumbroso/free-disk-space@main
+ with:
+ tool-cache: true
+
+ - name: Free disk space (3/3)
+ uses: rokibhasansagar/slimhub_actions@main
+ with:
+ retain: 'compiler_cmake'
+
+ - name: Set up build environment
+ run: |
+ sudo apt update
+ DEBIAN_FRONTEND=noninteractive sudo apt install -yq \
+ jq attr ccache clang ffmpeg golang \
+ libbrotli-dev libgtest-dev libprotobuf-dev libunwind-dev libpcre2-dev \
+ libzstd-dev linux-modules-extra-$(uname -r) lld protobuf-compiler webp \
+ curl xxd patchelf flex bison libarchive-tools build-essential
+ sudo modprobe erofs f2fs
+ git config --global user.name "github-actions[bot]"
+ git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
+
+ - name: Set up JDK 11
+ uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: '11'
+ cache: 'gradle'
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: 'latest'
+
+ - name: Build dependencies
+ run: source ./buildenv.sh ${{ matrix.target }}
+
+ - name: Download source firmware
+ run: |
+ source ./buildenv.sh ${{ matrix.target }}
+ TARGET_FIRMWARE="$SOURCE_FIRMWARE" ./scripts/download_fw.sh --force
+
+ - name: Extract source firmware
+ run: |
+ source ./buildenv.sh ${{ matrix.target }}
+ TARGET_FIRMWARE="$SOURCE_FIRMWARE" ./scripts/extract_fw.sh --force
+
+ - name: Download target firmware
+ run: |
+ source ./buildenv.sh ${{ matrix.target }}
+ SOURCE_FIRMWARE="$TARGET_FIRMWARE" ./scripts/download_fw.sh --force
+
+ - name: Extract target firmware
+ run: |
+ source ./buildenv.sh ${{ matrix.target }}
+ SOURCE_FIRMWARE="$TARGET_FIRMWARE" ./scripts/extract_fw.sh --force
+
+ - name: Build ROM
+ run: |
+ source ./buildenv.sh ${{ matrix.target }}
+ ./scripts/make_rom.sh --force
+
+ - name: Upload to GoFile
+ run: |
+ ZIP_FILE=$(find out -maxdepth 1 -type f -name "*.zip" | head -n 1)
+
+ RESPONSE=$(curl -s -F "file=@$ZIP_FILE" -F "token=${{ secrets.GOFILE_TOKEN }}" -F "folderId=${{ secrets.GOFILE_FOLDER_ID }}" "https://upload-eu-par.gofile.io/uploadFile")
+
+ echo "Uploaded successfully! Download link:"
+ echo "$RESPONSE" | jq -r '.data.downloadPage'
diff --git a/.gitignore b/.gitignore
index d2ea1409ac..f2b4b766a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,11 @@
out/
+# MacOS files
+*.DS_Store
+
+# WSL files
+*.Identifier
+
# Cert
security/unica_ota.x509.pem
security/unica_ota.pk8
diff --git a/README.md b/README.md
index f47739fd0d..45708d2684 100644
--- a/README.md
+++ b/README.md
@@ -2,15 +2,16 @@
-
-
-
-
+
+
+
+
ExtremeROM Nexus is a work-in-progress custom firmware for Samsung Galaxy devices.
💬 Telegram
+ 📖 Wiki
# What is ExtremeROM Nexus?
@@ -37,9 +38,10 @@ Any form of contribution, suggestions, bug report or feature request for the pro
- [KnoxPatch](https://github.com/salvogiangri/KnoxPatch) implemented in system frameworks
- Extra mods (Disable Secure Flag, OutDoor mode, more coming soon)
- Extra CSC features (Call recording, Network speed in status bar)
+- More that I can't remember right now and will have to be added in the future
# Bugs
-See the ⚠ Issues tab
+See the ⚠ Issues tab
# Licensing
This project is licensed under the terms of the [GNU General Public License v3.0](LICENSE). External dependencies might be distributed under a different license, such as:
@@ -50,26 +52,45 @@ This project is licensed under the terms of the [GNU General Public License v3.0
- [platform_build](https://android.googlesource.com/platform/build/) (ext4_utils, f2fs_utils, signapk), licensed under the [Apache License 2.0](https://source.android.com/docs/setup/about/licenses)
- [smali](https://github.com/google/smali), [multiple licenses](https://github.com/google/smali/blob/main/third_party/NOTICE)
+# Accountability
+```cpp
+#include
+
+/*
+* Your warranty is now void.
+*
+* I am not responsible for bricked devices, dead SD cards,
+* thermonuclear war, or you getting fired because the alarm app failed. Please
+* do some research if you have any concerns about doing this to your device
+* YOU are choosing to make these modifications, and if
+* you point the finger at me for messing up your device, I will laugh at you.
+*
+* I am also not responsible for you getting in trouble for using any of the
+* features in this ROM, including but not limited to Call Recording, secure
+* flag removal etc.
+*/
+```
+
# Credits
A big thanks goes to the following for their invaluable contributions in no particular order (MORE INFO AND PEOPLE: TO BE WRITTEN)
-- **[salvo_giangri](https://github.com/salvo_giangri)** for the UN1CA build system, OneUI patches, and general help and support while developing
-- Ocin4Ever
-- Igor
-- Halal Beef
-- Emad
-- Duhan
-- Anan
-- CiprianDinca
-- PeterKnetch87
-- tsn
-- Nguyen Long
-- AlexFurina
-- Luphaestus
-- AnanJaser2100
-- Yagzie
-- Fred
-- Saad
-- @april865 (TG) for banner
+- **[salvogiangri](https://github.com/salvogiangri)** for the UN1CA build system, OneUI patches, and general help and support while developing
+- **[Ocin4Ever](https://github.com/Ocin4Ever)** for a lot of help especially on smali, advice and emotional support :D
+- **[Igor](https://github.com/BotchedRPR)** for getting me into porting, teaching me the basics, and emotional support down the road
+- **[Halal Beef](https://github.com/halal-beef)** for lk3rd, testing and misc help
+- **Emad** for help with S10-specific fixes
+- **[Duhan](https://github.com/duhansysl)** for help with vendor backports, a lot of fixes and advice
+- **[Anan](https://github.com/ananjaser1211)** for all of his contributions to OneUI porting
+- **[CiprianDinca](https://github.com/CiprianDinca9)** for custom ExtremeROM ringtones
+- **[PeterKnecht93](https://github.com/PeterKnecht93)** for help with smali and a lot of misc fixes
+- **[tsn](https://github.com/tisenu100)** for some smali fixes and advice
+- **[Nguyen Long](https://github.com/LumiPlayground)** for misc fixes and support
+- **[AlexFurina](https://github.com/AlexFurina)** for S10 specific fixes
+- **[Luphaestus](https://github.com/Luphaestus)** for Note 20 specific fixes
+- **[Yagzie](https://github.com/Yagzie)** for engmode and misc fixes
+- **[Fred](https://github.com/xfwdrev)** for WFD, HDR10+, audiopolicy and more fixes
+- **[Saad](https://github.com/saadelasfur)** for help with build system
+- **[Vince](https://github.com/vinceboberly)** for help with kernel upstream
+- **@april865** (TG) for ExtremeROM Nexus banner
Original UN1CA credits:
- **[ShaDisNX255](https://github.com/ShaDisNX255)** for his help, time and for his [NcX ROM](https://github.com/ShaDisNX255/NcX_Stock) which inspired this project
@@ -82,4 +103,4 @@ Original UN1CA credits:
- *All the UN1CA project contributors and testers ❤️*
# Stargazers over time
-[](https://starchart.cc/ExtremeXT/UN1CA)
+[](https://starchart.cc/ExtremeXT/ExtremeROM)
diff --git a/buildenv.sh b/buildenv.sh
index 741b2a65e8..cc68ca3cae 100644
--- a/buildenv.sh
+++ b/buildenv.sh
@@ -68,6 +68,8 @@ run_cmd()
}
alias unica=run_cmd
+alias extremerom=run_cmd
+alias erom=run_cmd
# https://android.googlesource.com/platform/build/+/refs/tags/android-15.0.0_r1/envsetup.sh#806
croot()
@@ -96,6 +98,7 @@ unset -f _GET_SRC_DIR
export SRC_DIR
export OUT_DIR="$SRC_DIR/out"
export TMP_DIR="$OUT_DIR/tmp"
+export KERNEL_TMP_DIR="$OUT_DIR/kernel_tmp"
export ODIN_DIR="$OUT_DIR/odin"
export FW_DIR="$OUT_DIR/fw"
export APKTOOL_DIR="$OUT_DIR/apktool"
diff --git a/external/android-tools b/external/android-tools
index 62b96c73fd..f29ad35e96 160000
--- a/external/android-tools
+++ b/external/android-tools
@@ -1 +1 @@
-Subproject commit 62b96c73fdc8ded58ae04c4c0873f7e738c75c41
+Subproject commit f29ad35e966897599e8d28c65c29ffe184fd6d74
diff --git a/external/apktool b/external/apktool
index 7f7d65c9f7..42f94d54aa 160000
--- a/external/apktool
+++ b/external/apktool
@@ -1 +1 @@
-Subproject commit 7f7d65c9f7506320b56df39333862bd371ba0f54
+Subproject commit 42f94d54aa8fa0e7ed8842f5791d59f49d9d41d5
diff --git a/external/erofs-utils b/external/erofs-utils
index 620bf019a3..155cc6c6ce 160000
--- a/external/erofs-utils
+++ b/external/erofs-utils
@@ -1 +1 @@
-Subproject commit 620bf019a3eb6a9a2d8fa807a3034e5cc2b38d8a
+Subproject commit 155cc6c6ce5cd90e0797b6464299518b674d4493
diff --git a/external/img2sdat b/external/img2sdat
index f1aff524fe..601317ed0b 160000
--- a/external/img2sdat
+++ b/external/img2sdat
@@ -1 +1 @@
-Subproject commit f1aff524fe7a98a93bed32a90bd41464d7af5f6f
+Subproject commit 601317ed0bf502eb8facdd048f2d75dc75ffcd53
diff --git a/external/make.sh b/external/make.sh
index 5bd44547fa..33eae08e44 100755
--- a/external/make.sh
+++ b/external/make.sh
@@ -209,7 +209,6 @@ fi
if $APKTOOL; then
APKTOOL_CMDS=(
"git reset --hard"
- "git apply \"$SRC_DIR/external/patches/apktool/0001-feat-support-aapt-optimization.patch\""
"./gradlew build shadowJar"
"cp -a \"scripts/linux/apktool\" \"$TOOLS_DIR\""
"cp -a \"brut.apktool/apktool-cli/build/libs/apktool-cli.jar\" \"$TOOLS_DIR/apktool.jar\""
diff --git a/external/patches/apktool/0001-feat-support-aapt-optimization.patch b/external/patches/apktool/0001-feat-support-aapt-optimization.patch
deleted file mode 100644
index 8e45d9db5f..0000000000
--- a/external/patches/apktool/0001-feat-support-aapt-optimization.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-From 446ca679487fdfafb15e9466aeadec5db5334f4e Mon Sep 17 00:00:00 2001
-From: Kofua <1638183271zjn@gmail.com>
-Date: Sat, 30 Mar 2024 22:18:41 +0800
-Subject: [PATCH] feat: support aapt optimization
-
----
- .../src/main/java/brut/apktool/Main.java | 34 ++++++++++++++-
- .../main/java/brut/androlib/AaptInvoker.java | 43 +++++++++++++++++++
- .../src/main/java/brut/androlib/Config.java | 37 ++++++++++++++++
- 3 files changed, 112 insertions(+), 2 deletions(-)
-
-diff --git a/brut.apktool/apktool-cli/src/main/java/brut/apktool/Main.java b/brut.apktool/apktool-cli/src/main/java/brut/apktool/Main.java
-index 914df043..dfa81cc6 100644
---- a/brut.apktool/apktool-cli/src/main/java/brut/apktool/Main.java
-+++ b/brut.apktool/apktool-cli/src/main/java/brut/apktool/Main.java
-@@ -308,9 +308,18 @@ public class Main {
- if (cli.hasOption("na") || cli.hasOption("no-apk")) {
- config.setNoApk(true);
- }
-+ if (cli.hasOption("srp") || cli.hasOption("shorten-res-paths")) {
-+ config.setShortenResPaths(true);
-+ }
-+ if (cli.hasOption("ese") || cli.hasOption("enable-sparse-encoding")) {
-+ config.setEnableSparseEncoding(true);
-+ }
-+ if (cli.hasOption("crn") || cli.hasOption("collapse-res-names")) {
-+ config.setCollapseResNames(true);
-+ }
-
-- if (config.isNetSecConf() && config.getAaptVersion() == 1) {
-- System.err.println("-n / --net-sec-conf is not supported with legacy aapt.");
-+ if ((config.isNetSecConf() || config.isShortenResPaths() || config.isEnableSparseEncoding() || config.isCollapseResNames()) && config.getAaptVersion() == 1) {
-+ System.err.println("-n / --net-sec-conf, -srp / --shorten-res-paths, -ese / --enable-sparse-encoding, -crn / --collapse-res-names are not supported with legacy aapt.");
- System.exit(1);
- }
-
-@@ -505,6 +514,21 @@ public class Main {
- .desc("Disable repacking of the built files into a new apk.")
- .build();
-
-+ Option shortenResPathsOption = Option.builder("srp")
-+ .longOpt("shorten-res-paths")
-+ .desc("Shortens the paths of resources inside the APK.")
-+ .build();
-+
-+ Option enableSparseEncodingOption = Option.builder("ese")
-+ .longOpt("enable-sparse-encoding")
-+ .desc("Enables encoding of sparse entries using a binary search tree. This option is useful for optimization of APK size but at the cost of resource retrieval performance.")
-+ .build();
-+
-+ Option collapseResNamesOption = Option.builder("crn")
-+ .longOpt("collapse-res-names")
-+ .desc("Collapses resource names to a single value in the key string pool.")
-+ .build();
-+
- Option tagOption = Option.builder("t")
- .longOpt("tag")
- .desc("Tag frameworks using .")
-@@ -555,6 +579,9 @@ public class Main {
- buildOptions.addOption(aapt1Option);
- buildOptions.addOption(noCrunchOption);
- buildOptions.addOption(noApkOption);
-+ buildOptions.addOption(shortenResPathsOption);
-+ buildOptions.addOption(enableSparseEncodingOption);
-+ buildOptions.addOption(collapseResNamesOption);
- }
-
- // add global options
-@@ -618,6 +645,9 @@ public class Main {
- allOptions.addOption(noCrunchOption);
- allOptions.addOption(noApkOption);
- allOptions.addOption(onlyMainClassesOption);
-+ allOptions.addOption(shortenResPathsOption);
-+ allOptions.addOption(enableSparseEncodingOption);
-+ allOptions.addOption(collapseResNamesOption);
- }
-
- private static String verbosityHelp() {
-diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/AaptInvoker.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/AaptInvoker.java
-index 7210cf12..36fb7221 100644
---- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/AaptInvoker.java
-+++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/AaptInvoker.java
-@@ -23,7 +23,10 @@ import brut.util.AaptManager;
- import brut.util.OS;
-
- import java.io.*;
-+import java.nio.file.Files;
-+import java.nio.file.Path;
- import java.nio.file.Paths;
-+import java.nio.file.StandardCopyOption;
- import java.util.*;
- import java.util.logging.Logger;
-
-@@ -213,6 +216,46 @@ public class AaptInvoker {
- } catch (BrutException ex) {
- throw new AndrolibException(ex);
- }
-+
-+ if (mConfig.isShortenResPaths() || mConfig.isEnableSparseEncoding() || mConfig.isCollapseResNames()) {
-+ Path inputFilePath = new File(apkFile.getParent(), apkFile.getName() + ".tmp").toPath();
-+ Path apkFilePath = apkFile.toPath();
-+ try {
-+ Files.copy(apkFilePath, inputFilePath, StandardCopyOption.REPLACE_EXISTING);
-+ Files.delete(apkFilePath);
-+ } catch (IOException e) {
-+ throw new AndrolibException(e);
-+ }
-+
-+ cmd = new ArrayList<>();
-+ cmd.add(aaptPath);
-+ cmd.add("optimize");
-+
-+ cmd.add("-o");
-+ cmd.add(apkFilePath.toString());
-+
-+ if (mConfig.isShortenResPaths()) {
-+ cmd.add("--shorten-resource-paths");
-+ }
-+
-+ if (mConfig.isEnableSparseEncoding()) {
-+ cmd.add("--enable-sparse-encoding");
-+ }
-+
-+ if (mConfig.isCollapseResNames()) {
-+ cmd.add("--collapse-resource-names");
-+ }
-+
-+ cmd.add(inputFilePath.toString());
-+
-+ try {
-+ OS.exec(cmd.toArray(new String[0]));
-+ LOGGER.fine("aapt2 optimize command ran: ");
-+ LOGGER.fine(cmd.toString());
-+ } catch (BrutException ex) {
-+ throw new AndrolibException(ex);
-+ }
-+ }
- }
-
- private void invokeAapt1(File apkFile, File manifest, File resDir, File rawDir, File assetDir, File[] include,
-diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Config.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Config.java
-index 6b9c6809..95e1eef2 100644
---- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Config.java
-+++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Config.java
-@@ -77,6 +77,12 @@ public final class Config {
- private boolean mNoCrunch;
- private boolean mNoApk;
-
-+ // Optimize options, only supported by aapt2.
-+ // see https://developer.android.com/tools/aapt2#optimize_options
-+ private boolean mShortenResPaths;
-+ private boolean mEnableSparseEncoding;
-+ private boolean mCollapseResNames;
-+
- // Decode options
- private short mDecodeSources;
- private short mDecodeResources;
-@@ -107,6 +113,10 @@ public final class Config {
- mNoCrunch = false;
- mNoApk = false;
-
-+ mShortenResPaths = false;
-+ mEnableSparseEncoding = false;
-+ mCollapseResNames = false;
-+
- mDecodeSources = DECODE_SOURCES_SMALI;
- mDecodeResources = DECODE_RESOURCES_FULL;
- mForceDecodeManifest = FORCE_DECODE_MANIFEST_NONE;
-@@ -199,6 +209,33 @@ public final class Config {
- mNoApk = noApk;
- }
-
-+ // Optimize options, only supported by aapt2.
-+ // see https://developer.android.com/tools/aapt2#optimize_options
-+
-+ public boolean isShortenResPaths() {
-+ return mShortenResPaths;
-+ }
-+
-+ public void setShortenResPaths(boolean shortenResPaths) {
-+ mShortenResPaths = shortenResPaths;
-+ }
-+
-+ public boolean isEnableSparseEncoding() {
-+ return mEnableSparseEncoding;
-+ }
-+
-+ public void setEnableSparseEncoding(boolean enableSparseEncoding) {
-+ mEnableSparseEncoding = enableSparseEncoding;
-+ }
-+
-+ public boolean isCollapseResNames() {
-+ return mCollapseResNames;
-+ }
-+
-+ public void setCollapseResNames(boolean collapseResNames) {
-+ mCollapseResNames = collapseResNames;
-+ }
-+
- // Decode options
-
- public short getDecodeSources() {
---
-2.48.0
-
diff --git a/platform/exynos1330/debloat.sh b/platform/exynos1330/debloat.sh
new file mode 100644
index 0000000000..6172573498
--- /dev/null
+++ b/platform/exynos1330/debloat.sh
@@ -0,0 +1,60 @@
+#
+# Copyright (C) 2023 Salvo Giangreco
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+
+# Debloat list for Galaxy A14 5G
+# - Add entries inside the specific partition containing that file (_DEBLOAT+="")
+# - DO NOT add the partition name at the start of any entry (eg. "/system/dpolicy_system")
+# - DO NOT add a slash at the start of any entry (eg. "/dpolicy_system")
+
+# Overlays
+SYSTEM_DEBLOAT+="
+system/app/WifiRROverlayAppQC
+system/app/WifiRROverlayAppWifiLock
+"
+PRODUCT_DEBLOAT+="
+overlay/SoftapOverlay6GHz
+overlay/SoftapOverlayOWE
+overlay/SoftapOverlayQC
+"
+
+# GameDriver
+SYSTEM_DEBLOAT+="
+system/priv-app/DevGPUDriver-SM8750
+system/priv-app/GameDriver-SM8750
+"
+
+# system_ext clean-up
+SYSTEM_DEBLOAT+="
+system/etc/permissions/org.carconnectivity.android.digitalkey.rangingintent.xml
+system/etc/permissions/org.carconnectivity.android.digitalkey.secureelement.xml
+"
+SYSTEM_EXT_DEBLOAT+="
+framework/org.carconnectivity.android.digitalkey.rangingintent.jar
+framework/org.carconnectivity.android.digitalkey.secureelement.jar
+framework/oat/arm/org.carconnectivity.android.digitalkey.rangingintent.odex
+framework/oat/arm/org.carconnectivity.android.digitalkey.rangingintent.vdex
+framework/oat/arm/org.carconnectivity.android.digitalkey.secureelement.odex
+framework/oat/arm/org.carconnectivity.android.digitalkey.secureelement.vdex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.rangingintent.odex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.rangingintent.vdex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.secureelement.odex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.secureelement.vdex
+"
+
+# mAFPC
+SYSTEM_DEBLOAT+="
+system/bin/mafpc_write
diff --git a/platform/exynos1330/patches/camera/customize.sh b/platform/exynos1330/patches/camera/customize.sh
new file mode 100644
index 0000000000..3c0adcce00
--- /dev/null
+++ b/platform/exynos1330/patches/camera/customize.sh
@@ -0,0 +1,105 @@
+#since A14 5G didn't get UI7 yet, we need to delete dualcam libs
+echo "Delete dualcam libs"
+BLOBS_LIST="
+system/lib64/libdualcam_portraitlighting_gallery_360.so
+system/lib64/libdualcam_refocus_gallery_48.so
+system/lib64/libdualcam_refocus_gallery_50.so
+system/lib64/libdualcam_refocus_gallery_54.so
+system/lib64/libdualcam_refocus_gallery_beyond.so
+system/lib64/libdualcam_refocus_gallery_front_beyond.so
+system/lib64/libdualcam_refocus_gallery_wt_beyond.so
+system/lib64/libdualcam_refocus_image.so
+system/lib64/libdualcam_refocus_image_lite.so
+system/lib64/libDualCamBokehCapture.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+echo "Add stock arcsoft libs"
+BLOBS_LIST="
+system/lib64/lib_pet_detection.arcsoft.so
+system/lib64/libae_bracket_hdr.arcsoft.so
+system/lib64/libai_fusion_high_resolution.arcsoft.so
+system/lib64/libai_fusion_high_resolution_base_v1.arcsoft.so
+system/lib64/libai_fusion_high_resolution_base_v2.arcsoft.so
+system/lib64/libarcsoft_photoeditor.arcsoft.so
+system/lib64/libbeautyshot.arcsoft.so
+system/lib64/libface_landmark.arcsoft.so
+system/lib64/libface_recognition.arcsoft.so
+system/lib64/libFaceRecognition.arcsoft.so
+system/lib64/libFacialAttributeDetection.arcsoft.so
+system/lib64/libfacialrestoration.arcsoft.so
+system/lib64/libFacialStickerEngine.arcsoft.so
+system/lib64/libfrtracking_engine.arcsoft.so
+system/lib64/libGalleryDistortionCorrection.arcsoft.so
+system/lib64/libGalleryDistortionDetector.arcsoft.so
+system/lib64/libhumantracking.arcsoft.so
+system/lib64/libhybrid_high_dynamic_range.arcsoft.so
+system/lib64/libimage_enhancement.arcsoft.so
+system/lib64/libmf_bayer_enhance.arcsoft.so
+system/lib64/libobjectcapture.arcsoft.so
+system/lib64/libobjectcapture_jni.arcsoft.so
+system/lib64/libpic_best.arcsoft.so
+system/lib64/libPortraitDistortionCorrection.arcsoft.so
+system/lib64/libPortraitDistortionCorrectionCali.arcsoft.so
+system/lib64/libsf_tetra_enhance.arcsoft.so
+system/lib64/libsnapshotdebanding.arcsoft.so
+system/lib64/libsuper_fusion.arcsoft.so
+system/lib64/libveengine.arcsoft.so
+system/lib64/libarcsoft_dualcam_portraitlighting.so
+system/lib64/libarcsoft_dualcam_portraitlighting_lite.so
+system/lib64/libarcsoft_photoeditor.arcsoft.so
+system/lib64/libarcsoft_single_cam_glasses_seg.so
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+BLOBS_LIST="
+system/lib64/libbeautyshot.arcsoft.so
+system/lib64/libface_landmark.arcsoft.so
+system/lib64/libFacialAttributeDetection.arcsoft.so
+system/lib64/libhigh_dynamic_range.arcsoft.so
+system/lib64/liblow_light_hdr.arcsoft.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+echo "Add stock public librairies"
+BLOBS_LIST="
+system/etc/public.libraries-arcsoft.txt
+system/etc/public.libraries-camera.samsung.txt
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+BLOBS_LIST="
+system/etc/public.libraries-arcsoft.txt
+system/etc/public.libraries-camera.samsung.txt
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+echo "Add stock camera libs"
+BLOBS_LIST="
+system/lib64/libHpr_RecFace_dl_v1.0.camera.samsung.so
+system/lib64/libsaiv_HprFace_cmh_support_jni.camera.samsung.so
+system/lib64/libSceneDetector_v1.camera.samsung.so
+system/lib64/libtensorflowLite.camera.samsung.so
+system/lib64/libtensorflowLite.myfilter.camera.samsung.so
+system/lib64/libtensorflowlite_inference_api.camera.samsung.so
+system/lib64/libtensorflowlite_inference_api.myfilter.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
\ No newline at end of file
diff --git a/platform/exynos1330/patches/camera/module.prop b/platform/exynos1330/patches/camera/module.prop
new file mode 100644
index 0000000000..195d896f48
--- /dev/null
+++ b/platform/exynos1330/patches/camera/module.prop
@@ -0,0 +1,4 @@
+id=camera
+name=Camera fix
+author=ExtremeXT, BotchedRPR, leynox64
+description=Various camera-related patches.
\ No newline at end of file
diff --git a/platform/exynos1330/patches/miscs/customize.sh b/platform/exynos1330/patches/miscs/customize.sh
new file mode 100644
index 0000000000..2a303331fa
--- /dev/null
+++ b/platform/exynos1330/patches/miscs/customize.sh
@@ -0,0 +1,17 @@
+echo "Disable Vulkan"
+SET_PROP "vendor" "ro.hwui.use_vulkan" "false"
+SET_PROP "vendor" "debug.hwui.renderer" "skiagl"
+SET_PROP "vendor" "debug.renderengine.backend" "skiagl"
+SET_PROP "vendor" "renderthread.skia.reduceopstasksplitting" "true"
+SET_PROP "vendor" "debug.hwui.skia_atrace_enabled" "false"
+
+echo "Fix up /system/build.prop"
+SET_PROP "system" "ro.netflix.bsp_rev" --delete
+sed -i \
+ "/ro.netflix.bsp_rev=EXYNOS1330-36497-1/i persist.audio.deepbuffer_delay=33" \
+ "$WORK_DIR/system/system/build.prop"
+
+echo "Disabling encryption"
+# Encryption
+LINE=$(sed -n "/^\/dev\/block\/by-name\/userdata/=" "$WORK_DIR/vendor/etc/fstab.s5e8535")
+sed -i "${LINE}s/,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized//g" "$WORK_DIR/vendor/etc/fstab.s5e8535"
diff --git a/platform/exynos1330/patches/miscs/module.prop b/platform/exynos1330/patches/miscs/module.prop
new file mode 100644
index 0000000000..10f9bd04a1
--- /dev/null
+++ b/platform/exynos1330/patches/miscs/module.prop
@@ -0,0 +1,4 @@
+id=miscs
+name=Misc patches
+author=salvo_giangri, ExtremeXT, leynox64
+description=Generic set of patches.
diff --git a/platform/exynos1330/patches/miscs/system/etc/init/logd.rc b/platform/exynos1330/patches/miscs/system/etc/init/logd.rc
new file mode 100644
index 0000000000..92f55929e1
--- /dev/null
+++ b/platform/exynos1330/patches/miscs/system/etc/init/logd.rc
@@ -0,0 +1,43 @@
+service logd /system/bin/logd
+ socket logd stream 0666 logd logd
+ socket logdr seqpacket 0666 logd logd
+ socket logdw dgram+passcred 0222 logd logd
+ file /proc/kmsg r
+ file /dev/kmsg w
+ user logd
+ group logd system package_info readproc
+ capabilities SYSLOG AUDIT_CONTROL
+ priority 10
+ task_profiles ServiceCapacityLow
+ onrestart setprop logd.ready false
+
+service logd-reinit /system/bin/logd --reinit
+ oneshot
+ disabled
+ user logd
+ group logd
+ task_profiles ServiceCapacityLow
+
+# Limit SELinux denial generation, defaulting to 5/second
+service logd-auditctl /system/bin/auditctl -r ${persist.logd.audit.rate:-5}
+ oneshot
+ disabled
+ user logd
+ group logd
+ capabilities AUDIT_CONTROL
+
+on fs
+ write /dev/event-log-tags "# content owned by logd
+"
+ chown logd logd /dev/event-log-tags
+ chmod 0644 /dev/event-log-tags
+
+#temporary fps_position fix
+on property:sys.boot_completed=1
+ exec /system/bin/mount -o bind /sys/power/pm_async /sys/devices/virtual/fingerprint/fingerprint/position
+
+on property:sys.boot_completed=1
+ start logd-auditctl
+
+on property:persist.logd.audit.rate=*
+ start logd-auditctl
diff --git a/platform/exynos1330/patches/selinux/customize.sh b/platform/exynos1330/patches/selinux/customize.sh
new file mode 100644
index 0000000000..ff0abff1fb
--- /dev/null
+++ b/platform/exynos1330/patches/selinux/customize.sh
@@ -0,0 +1,70 @@
+# UN1CA SELinux entries removal list
+# - Append new type entries to the ENTRIES list
+# - Add the EXACT type entry, DO NOT just add a common pattern (eg. "fabriccrypto", "fabriccrypto_exec" and NOT just "fabriccrypto")
+# - DO NOT add the API version at the end of the entry (eg. "fabriccrypto" and NOT "fabriccrypto_30_0")
+# - DO NOT add add any parenthesis or statements (eg. "fabriccrypto" and NOT "expanttypeattribute ... (fabriccrypto)")
+# - DO NOT add unnecessary types or remove the existing ones unless they aren't necessary anymore for all devices
+
+# One UI 7 additions
+ENTRIES="
+attiqi_app
+attiqi_app_data_file
+ker_app
+kpp_app
+kpp_data_file
+"
+
+# One UI 6.1.1 additions
+ENTRIES+="
+hal_dsms_default
+hal_dsms_default_exec
+proc_compaction_proactiveness
+sbauth
+sbauth_exec
+"
+
+# One UI 5.1.1 additions
+ENTRIES+="
+audiomirroring
+audiomirroring_exec
+audiomirroring_service
+fabriccrypto
+fabriccrypto_exec
+fabriccrypto_data_file
+hal_dsms_service
+uwb_regulation_skip_prop
+"
+
+# [
+GET_SYSTEM_EXT()
+{
+ if $TARGET_HAS_SYSTEM_EXT; then
+ echo "system_ext"
+ else
+ echo "system/system/system_ext"
+ fi
+}
+
+CIL_NAME="$(head -n 1 "$WORK_DIR/vendor/etc/selinux/plat_sepolicy_vers.txt")"
+
+VENDOR_API_LIST="$(find "$WORK_DIR/$(GET_SYSTEM_EXT)/etc/selinux/mapping" -type f -printf "%f\n" | \
+ sed '/.compat./d' | sed 's/.cil//' | sed 's/\./_/' | sort)"
+# ]
+
+for e in $ENTRIES; do
+ if grep -q -F "($e)" "$WORK_DIR/$(GET_SYSTEM_EXT)/etc/selinux/mapping/$CIL_NAME.cil" || \
+ grep -q -F "${e}_${CIL_NAME//./_}" "$WORK_DIR/$(GET_SYSTEM_EXT)/etc/selinux/mapping/$CIL_NAME.cil"; then
+ # the problematic entry is currently present in system_ext, check if we need to remove it
+ if ! grep -q -F "(type $e)" "$WORK_DIR/vendor/etc/selinux/plat_pub_versioned.cil"; then
+ # the problematic entry is not supported by the target device
+ echo "\"$e\" SELinux entry not supported. Removing"
+ sed -i "/($e)/d" "$WORK_DIR/$(GET_SYSTEM_EXT)/etc/selinux/mapping/$CIL_NAME.cil"
+ for a in $VENDOR_API_LIST; do
+ sed -i "/${e}_${a}/d" "$WORK_DIR/$(GET_SYSTEM_EXT)/etc/selinux/mapping/$CIL_NAME.cil"
+ done
+ if grep -q "genfscon.*$e" "$WORK_DIR/$(GET_SYSTEM_EXT)/etc/selinux/system_ext_sepolicy.cil"; then
+ sed -i "/genfscon.*$e/d" "$WORK_DIR/$(GET_SYSTEM_EXT)/etc/selinux/system_ext_sepolicy.cil"
+ fi
+ fi
+ fi
+done
diff --git a/platform/exynos1330/patches/selinux/module.prop b/platform/exynos1330/patches/selinux/module.prop
new file mode 100644
index 0000000000..e8924ba1db
--- /dev/null
+++ b/platform/exynos1330/patches/selinux/module.prop
@@ -0,0 +1,4 @@
+id=selinux
+name=SELinux fix
+author=ExtremeXT
+description=Removes unsupported sepolicy entries.
\ No newline at end of file
diff --git a/platform/exynos1330/patches/selinux/system/bin/init b/platform/exynos1330/patches/selinux/system/bin/init
new file mode 100644
index 0000000000..8270fb9a0d
Binary files /dev/null and b/platform/exynos1330/patches/selinux/system/bin/init differ
diff --git a/platform/exynos1330/patches/selinux/system/bin/secilc b/platform/exynos1330/patches/selinux/system/bin/secilc
new file mode 100644
index 0000000000..32cbdb54d5
Binary files /dev/null and b/platform/exynos1330/patches/selinux/system/bin/secilc differ
diff --git a/platform/exynos1330/patches/stock_blobs/customize.sh b/platform/exynos1330/patches/stock_blobs/customize.sh
new file mode 100644
index 0000000000..d08e81dcbe
--- /dev/null
+++ b/platform/exynos1330/patches/stock_blobs/customize.sh
@@ -0,0 +1,14 @@
+echo "Replacing SoundBooster"
+DELETE_FROM_WORK_DIR "system" "system/lib64/lib_SoundBooster_ver2060.so"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/lib_SoundBooster_ver1100.so" 0 0 644 "u:object_r:system_lib_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/libsamsungSoundbooster_plus_legacy.so" 0 0 644 "u:object_r:system_lib_file:s0"
+
+echo "Add stock audio policy"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/stage_policy.conf" 0 0 644 "u:object_r:system_file:s0"
+
+echo "Delete Hotword"
+DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentXGoogleEx6_WIDEBAND_LARGE"
+DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentYGoogleEx6_WIDEBAND_LARGE"
+
+
+
diff --git a/platform/exynos1330/patches/stock_blobs/module.prop b/platform/exynos1330/patches/stock_blobs/module.prop
new file mode 100644
index 0000000000..6f8a2d804f
--- /dev/null
+++ b/platform/exynos1330/patches/stock_blobs/module.prop
@@ -0,0 +1,4 @@
+id=stock_blobs
+name=Stock blobs
+author=leynox64, ExtremeXT
+description=Replaces source blobs with target ones.
\ No newline at end of file
diff --git a/platform/exynos1380/debloat.sh b/platform/exynos1380/debloat.sh
new file mode 100644
index 0000000000..bf89d47c75
--- /dev/null
+++ b/platform/exynos1380/debloat.sh
@@ -0,0 +1,61 @@
+#
+# Copyright (C) 2023 Salvo Giangreco
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+
+# Debloat list for Galaxy A54 5G
+# - Add entries inside the specific partition containing that file (_DEBLOAT+="")
+# - DO NOT add the partition name at the start of any entry (eg. "/system/dpolicy_system")
+# - DO NOT add a slash at the start of any entry (eg. "/dpolicy_system")
+
+# Overlays
+SYSTEM_DEBLOAT+="
+system/app/WifiRROverlayAppQC
+system/app/WifiRROverlayAppWifiLock
+"
+PRODUCT_DEBLOAT+="
+overlay/SoftapOverlay6GHz
+overlay/SoftapOverlayOWE
+overlay/SoftapOverlayQC
+"
+
+# GameDriver
+SYSTEM_DEBLOAT+="
+system/priv-app/DevGPUDriver-SM8750
+system/priv-app/GameDriver-SM8750
+"
+
+# system_ext clean-up
+SYSTEM_DEBLOAT+="
+system/etc/permissions/org.carconnectivity.android.digitalkey.rangingintent.xml
+system/etc/permissions/org.carconnectivity.android.digitalkey.secureelement.xml
+"
+SYSTEM_EXT_DEBLOAT+="
+framework/org.carconnectivity.android.digitalkey.rangingintent.jar
+framework/org.carconnectivity.android.digitalkey.secureelement.jar
+framework/oat/arm/org.carconnectivity.android.digitalkey.rangingintent.odex
+framework/oat/arm/org.carconnectivity.android.digitalkey.rangingintent.vdex
+framework/oat/arm/org.carconnectivity.android.digitalkey.secureelement.odex
+framework/oat/arm/org.carconnectivity.android.digitalkey.secureelement.vdex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.rangingintent.odex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.rangingintent.vdex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.secureelement.odex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.secureelement.vdex
+"
+
+# mAFPC
+SYSTEM_DEBLOAT+="
+system/bin/mafpc_write
+"
diff --git a/platform/exynos1380/patches/camera/customize.sh b/platform/exynos1380/patches/camera/customize.sh
new file mode 100644
index 0000000000..dcecc7348e
--- /dev/null
+++ b/platform/exynos1380/patches/camera/customize.sh
@@ -0,0 +1,131 @@
+echo "Add stock dualcam libs"
+BLOBS_LIST="
+system/lib64/libdualcam_portraitlighting_gallery_360.so
+system/lib64/libdualcam_refocus_gallery_48.so
+system/lib64/libdualcam_refocus_gallery_50.so
+system/lib64/libdualcam_refocus_gallery_54.so
+system/lib64/libdualcam_refocus_gallery_beyond.so
+system/lib64/libdualcam_refocus_gallery_front_beyond.so
+system/lib64/libdualcam_refocus_gallery_wt_beyond.so
+system/lib64/libdualcam_refocus_image.so
+system/lib64/libdualcam_refocus_image_lite.so
+system/lib64/libDualCamBokehCapture.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+BLOBS_LIST="
+system/lib64/libdualcam_portraitlighting_gallery_360_lite.so
+system/lib64/libdualcam_refocus_gallery_48.so
+system/lib64/libdualcam_refocus_gallery_50.so
+system/lib64/libdualcam_refocus_gallery_54.so
+system/lib64/libdualcam_refocus_gallery_beyond.so
+system/lib64/libdualcam_refocus_gallery_front_beyond.so
+system/lib64/libdualcam_refocus_gallery_wt_beyond.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+echo "Add stock arcsoft libs"
+BLOBS_LIST="
+system/lib64/lib_pet_detection.arcsoft.so
+system/lib64/libae_bracket_hdr.arcsoft.so
+system/lib64/libai_fusion_high_resolution.arcsoft.so
+system/lib64/libai_fusion_high_resolution_base_v1.arcsoft.so
+system/lib64/libai_fusion_high_resolution_base_v2.arcsoft.so
+system/lib64/libarcsoft_photoeditor.arcsoft.so
+system/lib64/libbeautyshot.arcsoft.so
+system/lib64/libface_landmark.arcsoft.so
+system/lib64/libface_recognition.arcsoft.so
+system/lib64/libFaceRecognition.arcsoft.so
+system/lib64/libFacialAttributeDetection.arcsoft.so
+system/lib64/libfacialrestoration.arcsoft.so
+system/lib64/libFacialStickerEngine.arcsoft.so
+system/lib64/libfrtracking_engine.arcsoft.so
+system/lib64/libGalleryDistortionCorrection.arcsoft.so
+system/lib64/libGalleryDistortionDetector.arcsoft.so
+system/lib64/libhumantracking.arcsoft.so
+system/lib64/libhybrid_high_dynamic_range.arcsoft.so
+system/lib64/libimage_enhancement.arcsoft.so
+system/lib64/libmf_bayer_enhance.arcsoft.so
+system/lib64/libobjectcapture.arcsoft.so
+system/lib64/libobjectcapture_jni.arcsoft.so
+system/lib64/libpic_best.arcsoft.so
+system/lib64/libPortraitDistortionCorrection.arcsoft.so
+system/lib64/libPortraitDistortionCorrectionCali.arcsoft.so
+system/lib64/libsf_tetra_enhance.arcsoft.so
+system/lib64/libsnapshotdebanding.arcsoft.so
+system/lib64/libsuper_fusion.arcsoft.so
+system/lib64/libveengine.arcsoft.so
+system/lib64/libarcsoft_dualcam_portraitlighting.so
+system/lib64/libarcsoft_dualcam_portraitlighting_lite.so
+system/lib64/libarcsoft_photoeditor.arcsoft.so
+system/lib64/libarcsoft_single_cam_glasses_seg.so
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+BLOBS_LIST="
+system/lib64/libbeautyshot.arcsoft.so
+system/lib64/libface_landmark.arcsoft.so
+system/lib64/libFacialAttributeDetection.arcsoft.so
+system/lib64/libfacialrestoration.arcsoft.so
+system/lib64/libFacialStickerEngine.arcsoft.so
+system/lib64/libGalleryDistortionCorrection.arcsoft.so
+system/lib64/libGalleryDistortionDetector.arcsoft.so
+system/lib64/libhigh_dynamic_range.arcsoft.so
+system/lib64/libhumantracking.arcsoft.so
+system/lib64/libimage_enhancement.arcsoft.so
+system/lib64/liblow_light_hdr.arcsoft.so
+system/lib64/libobjectcapture.arcsoft.so
+system/lib64/libobjectcapture_jni.arcsoft.so
+system/lib64/libPortraitDistortionCorrection.arcsoft.so
+system/lib64/libPortraitDistortionCorrectionCali.arcsoft.so
+system/lib64/libveengine.arcsoft.so
+system/lib64/libarcsoft_photoeditor.arcsoft.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+echo "Add stock public librairies"
+BLOBS_LIST="
+system/etc/public.libraries-arcsoft.txt
+system/etc/public.libraries-camera.samsung.txt
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+BLOBS_LIST="
+system/etc/public.libraries-arcsoft.txt
+system/etc/public.libraries-camera.samsung.txt
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+echo "Add stock camera libs"
+BLOBS_LIST="
+system/lib64/libHpr_RecFace_dl_v1.0.camera.samsung.so
+system/lib64/libsaiv_HprFace_cmh_support_jni.camera.samsung.so
+system/lib64/libSceneDetector_v1.camera.samsung.so
+system/lib64/libtensorflowLite.camera.samsung.so
+system/lib64/libtensorflowLite.myfilter.camera.samsung.so
+system/lib64/libtensorflowlite_inference_api.camera.samsung.so
+system/lib64/libtensorflowlite_inference_api.myfilter.camera.samsung.so
+system/lib64/libImageTagger.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
\ No newline at end of file
diff --git a/platform/exynos1380/patches/camera/module.prop b/platform/exynos1380/patches/camera/module.prop
new file mode 100644
index 0000000000..7b01361bfd
--- /dev/null
+++ b/platform/exynos1380/patches/camera/module.prop
@@ -0,0 +1,4 @@
+id=camera
+name=Camera fix
+author=ExtremeXT, BotchedRPR, leynox64
+description=Various camera-related patches.
\ No newline at end of file
diff --git a/platform/exynos1380/patches/midas/customize.sh b/platform/exynos1380/patches/midas/customize.sh
new file mode 100644
index 0000000000..4b8aa92fdd
--- /dev/null
+++ b/platform/exynos1380/patches/midas/customize.sh
@@ -0,0 +1,7 @@
+# Fix MIDAS model detection
+sed -i "s/$SOURCE_CODENAME/dummy/g" "$WORK_DIR/vendor/etc/midas/midas_config.json"
+sed -i "s/a54x/$SOURCE_CODENAME/g" "$WORK_DIR/vendor/etc/midas/midas_config.json"
+
+# Add A54 MIDAS libraries
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/libmidas_core.camera.samsung.so"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/libmidas_DNNInterface.camera.samsung.so"
\ No newline at end of file
diff --git a/platform/exynos1380/patches/midas/module.prop b/platform/exynos1380/patches/midas/module.prop
new file mode 100644
index 0000000000..004886e116
--- /dev/null
+++ b/platform/exynos1380/patches/midas/module.prop
@@ -0,0 +1,4 @@
+id=midas
+name=MIDAS Fix
+author=ley
+description=Fixes MIDAS model detection on A54.
diff --git a/platform/exynos1380/patches/miscs/customize.sh b/platform/exynos1380/patches/miscs/customize.sh
new file mode 100644
index 0000000000..5b4b56fd52
--- /dev/null
+++ b/platform/exynos1380/patches/miscs/customize.sh
@@ -0,0 +1,22 @@
+echo "Disable Vulkan"
+SET_PROP "vendor" "ro.hwui.use_vulkan" "false"
+SET_PROP "vendor" "debug.hwui.renderer" "skiagl"
+SET_PROP "vendor" "debug.renderengine.backend" "skiagl"
+SET_PROP "vendor" "renderthread.skia.reduceopstasksplitting" "true"
+SET_PROP "vendor" "debug.hwui.skia_atrace_enabled" "false"
+
+echo "Disabling A/B"
+SET_PROP "product" "ro.product.ab_ota_partitions" --delete
+
+echo "Fix up /system/build.prop"
+SET_PROP "system" "ro.netflix.bsp_rev" --delete
+sed -i \
+ "/ro.netflix.bsp_rev=EXYNOS1380-36589-1/i persist.audio.deepbuffer_delay=33" \
+ "$WORK_DIR/system/system/build.prop"
+
+echo "Setting FUSE passthough"
+SET_PROP "vendor" "persist.sys.fuse.passthrough.enable" "true"
+
+echo "Improve WiFi/Mobile Data speeds"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "app/ConnectivityUxOverlay" 0 0 755 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "app/NetworkStackOverlay" 0 0 755 "u:object_r:system_file:s0"
\ No newline at end of file
diff --git a/platform/exynos1380/patches/miscs/module.prop b/platform/exynos1380/patches/miscs/module.prop
new file mode 100644
index 0000000000..10f9bd04a1
--- /dev/null
+++ b/platform/exynos1380/patches/miscs/module.prop
@@ -0,0 +1,4 @@
+id=miscs
+name=Misc patches
+author=salvo_giangri, ExtremeXT, leynox64
+description=Generic set of patches.
diff --git a/platform/exynos1380/patches/miscs/spf/framework.jar/0001-AddAdaptiveRefreshRateThreshold.patch b/platform/exynos1380/patches/miscs/spf/framework.jar/0001-AddAdaptiveRefreshRateThreshold.patch
new file mode 100644
index 0000000000..d97e445192
--- /dev/null
+++ b/platform/exynos1380/patches/miscs/spf/framework.jar/0001-AddAdaptiveRefreshRateThreshold.patch
@@ -0,0 +1,60 @@
+From 364deaa61023a2bdd0bc44cd5d08cfe1cb313573 Mon Sep 17 00:00:00 2001
+From: ley
+Date: Thu, 5 Jun 2025 16:20:45 +0200
+Subject: [PATCH] AddAdaptiveRefreshRateThreshold
+
+---
+ .../hardware/display/RefreshRateConfig.smali | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/smali_classes6/com/samsung/android/hardware/display/RefreshRateConfig.smali b/smali_classes6/com/samsung/android/hardware/display/RefreshRateConfig.smali
+index 385439a..e3f9bfe 100644
+--- a/smali_classes6/com/samsung/android/hardware/display/RefreshRateConfig.smali
++++ b/smali_classes6/com/samsung/android/hardware/display/RefreshRateConfig.smali
+@@ -527,7 +527,9 @@
+
+ move-result-object v0
+
+- invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
++ const-string v1, "89,91"
++
++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v0
+
+@@ -602,7 +604,9 @@
+
+ move-result-object v0
+
+- invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
++ const-string v1, "200,2500"
++
++ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v0
+
+@@ -679,7 +683,7 @@
+ .end method
+
+ .method public static blacklist getInstance(Z)Lcom/samsung/android/hardware/display/RefreshRateConfig;
+- .locals 4
++ .locals 6
+
+ sget-boolean v0, Lcom/samsung/android/rune/CoreRune;->FW_VRR_FOR_SUB_DISPLAY:Z
+
+@@ -725,7 +729,11 @@
+
+ const-string v3, "persist.dm.passive.ambient_brightness"
+
+- invoke-direct {v0, v1, v1, v2, v3}, Lcom/samsung/android/hardware/display/RefreshRateConfig$BrightnessThreshold;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
++ const-string v4, "89,91"
++
++ const-string v5, "200,2500"
++
++ invoke-direct {v0, v4, v5, v2, v3}, Lcom/samsung/android/hardware/display/RefreshRateConfig$BrightnessThreshold;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+
+ const-string v2, "2"
+
+--
+2.43.0
+
diff --git a/platform/exynos1380/patches/stock_blobs/customize.sh b/platform/exynos1380/patches/stock_blobs/customize.sh
new file mode 100644
index 0000000000..6068e3d068
--- /dev/null
+++ b/platform/exynos1380/patches/stock_blobs/customize.sh
@@ -0,0 +1,16 @@
+echo "Replacing SoundBooster"
+DELETE_FROM_WORK_DIR "system" "system/lib64/lib_SoundBooster_ver2060.so"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/lib_SoundBooster_ver1100.so" 0 0 644 "u:object_r:system_lib_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/libsamsungSoundbooster_plus_legacy.so" 0 0 644 "u:object_r:system_lib_file:s0"
+
+echo "Add stock audio policy"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/stage_policy.conf" 0 0 644 "u:object_r:system_file:s0"
+
+echo "Replacing Hotword"
+DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentXGoogleEx6_WIDEBAND_LARGE"
+DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentYGoogleEx6_WIDEBAND_LARGE"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "priv-app/HotwordEnrollmentOKGoogleEx4CORTEXM4/HotwordEnrollmentOKGoogleEx4CORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "priv-app/HotwordEnrollmentXGoogleEx4CORTEXM4/HotwordEnrollmentXGoogleEx4CORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
+
+
+
diff --git a/platform/exynos1380/patches/stock_blobs/module.prop b/platform/exynos1380/patches/stock_blobs/module.prop
new file mode 100644
index 0000000000..6f8a2d804f
--- /dev/null
+++ b/platform/exynos1380/patches/stock_blobs/module.prop
@@ -0,0 +1,4 @@
+id=stock_blobs
+name=Stock blobs
+author=leynox64, ExtremeXT
+description=Replaces source blobs with target ones.
\ No newline at end of file
diff --git a/platform/exynos2100/debloat.sh b/platform/exynos2100/debloat.sh
new file mode 100644
index 0000000000..c62e5ddf16
--- /dev/null
+++ b/platform/exynos2100/debloat.sh
@@ -0,0 +1,28 @@
+#
+# Copyright (C) 2023 Salvo Giangreco
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+
+# Debloat list for the Exynos 2100 platform
+# - Add entries inside the specific partition containing that file (_DEBLOAT+="")
+# - DO NOT add the partition name at the start of any entry (eg. "/system/dpolicy_system")
+# - DO NOT add a slash at the start of any entry (eg. "/dpolicy_system")
+
+# Wi-Fi Hotspot Overlays
+PRODUCT_DEBLOAT+="
+overlay/SoftapOverlay6GHz
+overlay/SoftapOverlayDualAp
+overlay/SoftapOverlayOWE
+"
diff --git a/platform/exynos2100/patches/camera/customize.sh b/platform/exynos2100/patches/camera/customize.sh
new file mode 100644
index 0000000000..e50d6ea7cd
--- /dev/null
+++ b/platform/exynos2100/patches/camera/customize.sh
@@ -0,0 +1,78 @@
+BLOBS_LIST="
+system/lib64/libpic_best.arcsoft.so
+system/lib64/libdualcam_portraitlighting_gallery_360.so
+system/lib64/libarcsoft_dualcam_portraitlighting.so
+system/lib64/libdualcam_refocus_gallery_54.so
+system/lib64/libdualcam_refocus_gallery_50.so
+system/lib64/libsuper_fusion.arcsoft.so
+system/lib64/libdualcam_refocus_image_lite.so
+system/lib64/libhybrid_high_dynamic_range.arcsoft.so
+system/lib64/libae_bracket_hdr.arcsoft.so
+system/lib64/libface_recognition.arcsoft.so
+system/lib64/libmf_bayer_enhance.arcsoft.so
+system/lib64/libDualCamBokehCapture.camera.samsung.so
+system/lib64/libai_fusion_high_resolution.arcsoft.so
+system/lib64/libai_fusion_high_resolution_base_v1.arcsoft.so
+system/lib64/libai_fusion_high_resolution_base_v2.arcsoft.so
+system/lib64/libBayerAIPhoto.camera.samsung.so
+system/lib64/libbayeraiphoto_wrapper_v1.camera.samsung.so
+system/lib64/libBayerAIPhotoTuning.camera.samsung.so
+system/lib64/libFusionAIPhoto.camera.samsung.so
+system/lib64/libFusionAIPhoto_wrapper.camera.samsung.so
+system/lib64/libFusionAIPhotoTuning.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+echo "Add stock camera libs"
+BLOBS_LIST="
+system/lib64/libMultiFrameProcessing30.camera.samsung.so
+system/lib64/libMultiFrameProcessing30.snapwrapper.camera.samsung.so
+system/lib64/libMultiFrameProcessing30Tuning.camera.samsung.so
+system/lib64/libSwIsp_core.camera.samsung.so
+system/lib64/libSwIsp_wrapper_v1.camera.samsung.so
+system/lib64/libVideoClassifier.camera.samsung.so
+system/lib64/libsecuresnap_aidl.snap.samsung.so
+system/lib64/libDocShadowRemoval.arcsoft.so
+system/lib64/libHpr_RecFace_dl_v1.0.camera.samsung.so
+system/lib64/libImageSegmenter_v1.camera.samsung.so
+system/lib64/libObjectDetector_v1.camera.samsung.so
+system/lib64/libSceneDetector_v1.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+# Add prebuilt libs from other devices
+BLOBS_LIST="
+system/lib64/libc++_shared.so
+system/lib64/libtensorflowLite.camera.samsung.so
+system/lib64/libtensorflowlite_c.camera.samsung.so
+system/lib64/libtensorflowlite_inference_api.camera.samsung.so
+system/lib64/libtensorflowlite_jni_voicecommand.so
+system/lib64/libtensorflowLite2_11_0_dynamic_camera.so
+system/lib64/libsaiv_HprFace_cmh_support_jni.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "e2sxxx" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+BLOBS_LIST="
+system/lib64/libeden_wrapper_system.so
+system/lib64/libhigh_dynamic_range.arcsoft.so
+system/lib64/liblow_light_hdr.arcsoft.so
+system/lib64/libhigh_res.arcsoft.so
+system/lib64/libsnap_aidl.snap.samsung.so
+system/lib64/libsuperresolution.arcsoft.so
+system/lib64/libsuperresolution_raw.arcsoft.so
+system/lib64/libsuperresolution_wrapper_v2.camera.samsung.so
+system/lib64/libsuperresolutionraw_wrapper_v2.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "p3sxxx" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
diff --git a/platform/exynos2100/patches/camera/module.prop b/platform/exynos2100/patches/camera/module.prop
new file mode 100644
index 0000000000..bb0a78e3c2
--- /dev/null
+++ b/platform/exynos2100/patches/camera/module.prop
@@ -0,0 +1,4 @@
+id=camera
+name=Camera fix
+author=ExtremeXT, BotchedRPR
+description=Various camera-related patches.
\ No newline at end of file
diff --git a/platform/exynos2100/patches/camera/system/lib64/libImageTagger.camera.samsung.so b/platform/exynos2100/patches/camera/system/lib64/libImageTagger.camera.samsung.so
new file mode 100644
index 0000000000..eaaaf04750
Binary files /dev/null and b/platform/exynos2100/patches/camera/system/lib64/libImageTagger.camera.samsung.so differ
diff --git a/platform/exynos2100/patches/camera/system/lib64/libSmartScan.camera.samsung.so b/platform/exynos2100/patches/camera/system/lib64/libSmartScan.camera.samsung.so
new file mode 100644
index 0000000000..b9aaeaa52f
Binary files /dev/null and b/platform/exynos2100/patches/camera/system/lib64/libSmartScan.camera.samsung.so differ
diff --git a/platform/exynos2100/patches/camera/system/lib64/libobjectcapture.arcsoft.so b/platform/exynos2100/patches/camera/system/lib64/libobjectcapture.arcsoft.so
new file mode 100644
index 0000000000..ca1eb9ece1
Binary files /dev/null and b/platform/exynos2100/patches/camera/system/lib64/libobjectcapture.arcsoft.so differ
diff --git a/platform/exynos2100/patches/camera/system/lib64/libobjectcapture_jni.arcsoft.so b/platform/exynos2100/patches/camera/system/lib64/libobjectcapture_jni.arcsoft.so
new file mode 100644
index 0000000000..40a10281ff
Binary files /dev/null and b/platform/exynos2100/patches/camera/system/lib64/libobjectcapture_jni.arcsoft.so differ
diff --git a/platform/exynos2100/patches/extremekrnl/customize.sh b/platform/exynos2100/patches/extremekrnl/customize.sh
new file mode 100644
index 0000000000..fe312ec314
--- /dev/null
+++ b/platform/exynos2100/patches/extremekrnl/customize.sh
@@ -0,0 +1,111 @@
+# [
+EXTREMEKRNL_REPO="https://github.com/xfwdrev/android_kernel_samsung_ex2100/"
+KERNELSU_MANAGER_APK="https://github.com/KernelSU-Next/KernelSU-Next/releases/download/v1.0.7/KernelSU_Next_v1.0.7_12602-release.apk"
+
+BUILD_KERNEL()
+{
+ PARENT=$(pwd)
+ cd $KERNEL_TMP_DIR
+
+ ./build.sh -m ${TARGET_CODENAME} -k y
+
+ cd $PARENT
+}
+
+SAFE_PULL_CHANGES()
+{
+ PARENT=$(pwd)
+ cd "$KERNEL_TMP_DIR"
+
+ set -eo pipefail
+
+ git fetch origin
+
+ LOCAL=$(git rev-parse @)
+ REMOTE=$(git rev-parse origin/12-upstream)
+ BASE=$(git merge-base @ origin/12-upstream)
+
+ # Now we have three cases that we need to take care of.
+ if [ "$LOCAL" = "$REMOTE" ]; then
+ echo "Local branch is up-to-date with remote."
+ elif [ "$LOCAL" = "$BASE" ]; then
+ echo "Fast-forward possible. Pulling..."
+ git pull --ff-only
+ elif [ "$REMOTE" = "$BASE" ]; then
+ echo "Local branch is ahead of remote. Not doing anything."
+ else
+ echo "ERR: Remote history has diverged (possible force-push)."
+ cd "$PARENT"
+ return 1
+ fi
+
+ cd "$PARENT"
+}
+
+REPLACE_KERNEL_BINARIES()
+{
+ local KERNEL_TMP_DIR="$KERNEL_TMP_DIR-$TARGET_PLATFORM"
+ [ ! -d "$KERNEL_TMP_DIR" ] && mkdir -p "$KERNEL_TMP_DIR"
+
+ echo "Cloning/updating ExtremeKernel"
+
+ # If the kernel dir exists, pull the latest changes.
+ # If it does not exist, clone the repo.
+ if [ -d "$KERNEL_TMP_DIR/.git" ]; then
+ echo "Existing git repo found, trying to pull latest changes."
+ if ! SAFE_PULL_CHANGES; then
+ echo "ERR: Could not pull latest Kernel changes."
+ echo "If you hold local changes, please rebase to the new base."
+ echo "If not, cleaning the kernel_tmp_dir should suffice."
+ return 1
+ fi
+ else
+ rm -rf "$KERNEL_TMP_DIR"
+ git clone "$EXTREMEKRNL_REPO" --single-branch "$KERNEL_TMP_DIR" --recurse-submodules
+ fi
+
+ echo "Running the kernel build script."
+ BUILD_KERNEL
+ rm -f "$WORK_DIR/kernel/"*.img
+
+ # Move the files to the work dir
+ mv -v "$KERNEL_TMP_DIR/build/out/$TARGET_CODENAME/boot.img" "$WORK_DIR/kernel"
+ mv -v "$KERNEL_TMP_DIR/build/out/$TARGET_CODENAME/dtbo.img" "$WORK_DIR/kernel"
+ mv -v "$KERNEL_TMP_DIR/build/out/$TARGET_CODENAME/vendor_boot.img" "$WORK_DIR/kernel"
+
+ # Usually we would delete the temporary directory.
+ # However, the Kernel has its own build system that
+ # will track changes made to the source by itself.
+ # Clean building the kernel also takes a long time.
+ # So, keep the kernel temp dir.
+}
+
+ADD_MANAGER_APK_TO_PRELOAD()
+{
+ # https://github.com/tiann/KernelSU/issues/886
+ local APK_PATH="system/preload/KernelSU-Next/com.rifsxd.ksunext-mesa==/base.apk"
+
+ echo "Adding KernelSU-Next.apk to preload apps"
+ mkdir -p "$WORK_DIR/system/$(dirname "$APK_PATH")"
+ curl -L -s -o "$WORK_DIR/system/$APK_PATH" -z "$WORK_DIR/system/$APK_PATH" "$KERNELSU_MANAGER_APK"
+
+ sed -i "/system\/preload/d" "$WORK_DIR/configs/fs_config-system" \
+ && sed -i "/system\/preload/d" "$WORK_DIR/configs/file_context-system"
+ while read -r i; do
+ FILE="$(echo -n "$i"| sed "s.$WORK_DIR/system/..")"
+ [ -d "$i" ] && echo "$FILE 0 0 755 capabilities=0x0" >> "$WORK_DIR/configs/fs_config-system"
+ [ -f "$i" ] && echo "$FILE 0 0 644 capabilities=0x0" >> "$WORK_DIR/configs/fs_config-system"
+ FILE="$(echo -n "$FILE" | sed 's/\./\\./g')"
+ echo "/$FILE u:object_r:system_file:s0" >> "$WORK_DIR/configs/file_context-system"
+ done <<< "$(find "$WORK_DIR/system/system/preload")"
+
+ rm -f "$WORK_DIR/system/system/etc/vpl_apks_count_list.txt"
+ while read -r i; do
+ FILE="$(echo "$i" | sed "s.$WORK_DIR/system..")"
+ echo "$FILE" >> "$WORK_DIR/system/system/etc/vpl_apks_count_list.txt"
+ done <<< "$(find "$WORK_DIR/system/system/preload" -name "*.apk" | sort)"
+}
+# ]
+
+REPLACE_KERNEL_BINARIES
+ADD_MANAGER_APK_TO_PRELOAD
diff --git a/platform/exynos2100/patches/extremekrnl/module.prop b/platform/exynos2100/patches/extremekrnl/module.prop
new file mode 100644
index 0000000000..5d607c35cb
--- /dev/null
+++ b/platform/exynos2100/patches/extremekrnl/module.prop
@@ -0,0 +1,4 @@
+id=extremekrnl
+name=ExtremeKRNL Kernel support
+author=ExtremeXT
+description=Adds ExtremeKRNL in ROM.
diff --git a/platform/exynos2100/patches/midas/customize.sh b/platform/exynos2100/patches/midas/customize.sh
new file mode 100644
index 0000000000..809c6e9bc1
--- /dev/null
+++ b/platform/exynos2100/patches/midas/customize.sh
@@ -0,0 +1,11 @@
+# Fix MIDAS model detection
+sed -i "s/$SOURCE_CODENAME/dummy/g" "$WORK_DIR/vendor/etc/midas/midas_config.json"
+sed -i "s/p3s/$SOURCE_CODENAME/g" "$WORK_DIR/vendor/etc/midas/midas_config.json"
+
+# Add S21 Photo Remaster Service
+DELETE_FROM_WORK_DIR "system" "system/priv-app/PhotoRemasterService/oat"
+ADD_TO_WORK_DIR "p3sxxx" "system" "system/priv-app/PhotoRemasterService/PhotoRemasterService.apk"
+
+# Add S21 MIDAS libraries
+ADD_TO_WORK_DIR "p3sxxx" "system" "system/lib64/libmidas_core.camera.samsung.so"
+ADD_TO_WORK_DIR "p3sxxx" "system" "system/lib64/libmidas_DNNInterface.camera.samsung.so"
diff --git a/platform/exynos2100/patches/midas/module.prop b/platform/exynos2100/patches/midas/module.prop
new file mode 100644
index 0000000000..e3f6b8e8b6
--- /dev/null
+++ b/platform/exynos2100/patches/midas/module.prop
@@ -0,0 +1,4 @@
+id=midas
+name=MIDAS Fix
+author=ExtremeXT
+description=Backports MIDAS from S21 to fix Photo Remaster.
diff --git a/platform/exynos2100/patches/miscs/customize.sh b/platform/exynos2100/patches/miscs/customize.sh
new file mode 100644
index 0000000000..f4226660e6
--- /dev/null
+++ b/platform/exynos2100/patches/miscs/customize.sh
@@ -0,0 +1,17 @@
+echo "Disable Vulkan"
+SET_PROP "vendor" "ro.hwui.use_vulkan" "false"
+SET_PROP "vendor" "debug.hwui.renderer" "skiagl"
+SET_PROP "vendor" "debug.renderengine.backend" "skiagl"
+SET_PROP "vendor" "renderthread.skia.reduceopstasksplitting" "true"
+SET_PROP "vendor" "debug.hwui.skia_atrace_enabled" "false"
+
+echo "Setting FUSE passthough"
+SET_PROP "vendor" "persist.sys.fuse.passthrough.enable" "true"
+
+echo "Disabling encryption"
+# Encryption
+LINE=$(sed -n "/^\/dev\/block\/by-name\/userdata/=" "$WORK_DIR/vendor/etc/fstab.exynos2100")
+sed -i "${LINE}s/,fileencryption=aes-256-xts:aes-256-cts:v2//g" "$WORK_DIR/vendor/etc/fstab.exynos2100"
+
+# ODE
+sed -i -e "/ODE/d" -e "/keydata/d" -e "/keyrefuge/d" "$WORK_DIR/vendor/etc/fstab.exynos2100"
\ No newline at end of file
diff --git a/platform/exynos2100/patches/miscs/module.prop b/platform/exynos2100/patches/miscs/module.prop
new file mode 100644
index 0000000000..d405d471dd
--- /dev/null
+++ b/platform/exynos2100/patches/miscs/module.prop
@@ -0,0 +1,4 @@
+id=miscs
+name=Misc patches
+author=salvo_giangri, ExtremeXT
+description=Generic set of patches.
diff --git a/platform/exynos2100/patches/miscs/system/etc/init/hw/init.rc b/platform/exynos2100/patches/miscs/system/etc/init/hw/init.rc
new file mode 100644
index 0000000000..392a547d0c
--- /dev/null
+++ b/platform/exynos2100/patches/miscs/system/etc/init/hw/init.rc
@@ -0,0 +1,3465 @@
+# Copyright (C) 2012 The Android Open Source Project
+#
+# IMPORTANT: Do not create world writable files or directories.
+# This is a common source of Android security bugs.
+#
+
+import /init.environ.rc
+import /system/etc/init/hw/init.usb.rc
+import /init.${ro.hardware}.rc
+import /vendor/etc/init/hw/init.${ro.hardware}.rc
+import /system/etc/init/hw/init.usb.configfs.rc
+import /system/etc/init/hw/init.${ro.zygote}.rc
+import /init.container.rc
+
+# Cgroups are mounted right before early-init using list from /etc/cgroups.json
+on early-init
+ # Disable sysrq from keyboard
+ write /proc/sys/kernel/sysrq 0
+
+ # Android doesn't need kernel module autoloading, and it causes SELinux
+ # denials. So disable it by setting modprobe to the empty string. Note: to
+ # explicitly set a sysctl to an empty string, a trailing newline is needed.
+ write /proc/sys/kernel/modprobe \n
+
+ # Set the security context of /adb_keys if present.
+ restorecon /adb_keys
+
+ # Set the security context of /postinstall if present.
+ restorecon /postinstall
+
+ mkdir /acct/uid
+
+ # memory.pressure_level used by lmkd
+ chown root system /dev/memcg/memory.pressure_level
+ chmod 0040 /dev/memcg/memory.pressure_level
+
+ # app mem cgroups, used by activity manager, lmkd and zygote
+ mkdir /dev/memcg/apps/ 0755 system system
+ write /dev/memcg/apps/memory.swappiness 100
+
+ # cgroup for system_server and surfaceflinger
+ mkdir /dev/memcg/system 0550 system system
+ write /dev/memcg/system/memory.swappiness 100
+
+ # symlink the Android specific /dev/tun to Linux expected /dev/net/tun
+ mkdir /dev/net 0755 root root
+ symlink ../tun /dev/net/tun
+
+ # set RLIMIT_NICE to allow priorities from 19 to -20
+ setrlimit nice 40 40
+
+ # Allow up to 32K FDs per process
+ setrlimit nofile 32768 32768
+
+ # set RLIMIT_MEMLOCK to 64KB
+ setrlimit memlock 65536 65536
+
+ # Set up linker config subdirectories based on mount namespaces
+ mkdir /linkerconfig/bootstrap 0755
+ mkdir /linkerconfig/default 0755
+
+ # Disable dm-verity hash prefetching, since it doesn't help performance
+ # Read more in b/136247322
+ write /sys/module/dm_verity/parameters/prefetch_cluster 0
+
+ # Generate empty ld.config.txt for early executed processes which rely on
+ # /system/lib libraries.
+ write /linkerconfig/bootstrap/ld.config.txt \#
+ write /linkerconfig/default/ld.config.txt \#
+ chmod 644 /linkerconfig/bootstrap/ld.config.txt
+ chmod 644 /linkerconfig/default/ld.config.txt
+
+ # Mount bootstrap linker configuration as current
+ mount none /linkerconfig/bootstrap /linkerconfig bind rec
+
+ start ueventd
+
+ # Run apexd-bootstrap so that APEXes that provide critical libraries
+ # become available. Note that this is executed as exec_start to ensure that
+ # the libraries are available to the processes started after this statement.
+ exec_start apexd-bootstrap
+ perform_apex_config --bootstrap
+
+ # These must already exist by the time boringssl_self_test32 / boringssl_self_test64 run.
+ mkdir /dev/boringssl 0755 root root
+ mkdir /dev/boringssl/selftest 0755 root root
+
+ # Mount tracefs (with GID=AID_READTRACEFS)
+ mount tracefs tracefs /sys/kernel/tracing gid=3012
+
+ # create sys dirctory
+ mkdir /dev/sys 0755 system system
+ mkdir /dev/sys/fs 0755 system system
+ mkdir /dev/sys/block 0755 system system
+
+ # Create location for fs_mgr to store abbreviated output from filesystem
+ # checker programs.
+ mkdir /dev/fscklogs 0770 root system
+
+ # Create tmpfs for use by the shell user.
+ mount tmpfs tmpfs /tmp
+ restorecon /tmp
+ chown shell shell /tmp
+ chmod 0771 /tmp
+
+ #Storage F/W update
+ ffu
+ chmod 000 /sys/class/sec/ufs/post_ffu
+
+on init
+ sysclktz 0
+
+# [ SEC_SELINUX_PORTING_COMMON
+ # for audit message
+ chown system system /proc/avc_msg
+ chmod 0660 /proc/avc_msg
+# ] SEC_SELINUX_PORTING_COMMON
+
+ # Mix device-specific information into the entropy pool
+ copy /proc/cmdline /dev/urandom
+ copy /system/etc/prop.default /dev/urandom
+
+ symlink /proc/self/fd/0 /dev/stdin
+ symlink /proc/self/fd/1 /dev/stdout
+ symlink /proc/self/fd/2 /dev/stderr
+
+ # Create socket dir for ot-daemon
+ mkdir /dev/socket/ot-daemon 0770 thread_network thread_network
+
+ # Create energy-aware scheduler tuning nodes
+ mkdir /dev/stune/foreground
+ mkdir /dev/stune/background
+ mkdir /dev/stune/top-app
+ mkdir /dev/stune/rt
+ mkdir /dev/stune/audio-app
+ chown system system /dev/stune
+ chown system system /dev/stune/foreground
+ chown system system /dev/stune/background
+ chown system system /dev/stune/top-app
+ chown system system /dev/stune/rt
+ chown system system /dev/stune/audio-app
+ chown system system /dev/stune/tasks
+ chown system system /dev/stune/foreground/tasks
+ chown system system /dev/stune/background/tasks
+ chown system system /dev/stune/top-app/tasks
+ chown system system /dev/stune/rt/tasks
+ chown system system /dev/stune/cgroup.procs
+ chown system system /dev/stune/foreground/cgroup.procs
+ chown system system /dev/stune/background/cgroup.procs
+ chown system system /dev/stune/top-app/cgroup.procs
+ chown system system /dev/stune/rt/cgroup.procs
+ chown system system /dev/stune/audio-app/tasks
+ chmod 0664 /dev/stune/tasks
+ chmod 0664 /dev/stune/foreground/tasks
+ chmod 0664 /dev/stune/background/tasks
+ chmod 0664 /dev/stune/top-app/tasks
+ chmod 0664 /dev/stune/rt/tasks
+ chmod 0664 /dev/stune/cgroup.procs
+ chmod 0664 /dev/stune/foreground/cgroup.procs
+ chmod 0664 /dev/stune/background/cgroup.procs
+ chmod 0664 /dev/stune/top-app/cgroup.procs
+ chmod 0664 /dev/stune/rt/cgroup.procs
+ chmod 0664 /dev/stune/audio-app/tasks
+
+ # cpuctl hierarchy for devices using utilclamp
+ mkdir /dev/cpuctl/foreground
+ mkdir /dev/cpuctl/background
+ mkdir /dev/cpuctl/top-app
+ mkdir /dev/cpuctl/rt
+ mkdir /dev/cpuctl/system
+ mkdir /dev/cpuctl/system-background
+ mkdir /dev/cpuctl/dex2oat
+ chown system system /dev/cpuctl
+ chown system system /dev/cpuctl/foreground
+ chown system system /dev/cpuctl/background
+ chown system system /dev/cpuctl/top-app
+ chown system system /dev/cpuctl/rt
+ chown system system /dev/cpuctl/system
+ chown system system /dev/cpuctl/system-background
+ chown system system /dev/cpuctl/dex2oat
+ chown system system /dev/cpuctl/tasks
+ chown system system /dev/cpuctl/foreground/tasks
+ chown system system /dev/cpuctl/background/tasks
+ chown system system /dev/cpuctl/top-app/tasks
+ chown system system /dev/cpuctl/rt/tasks
+ chown system system /dev/cpuctl/system/tasks
+ chown system system /dev/cpuctl/system-background/tasks
+ chown system system /dev/cpuctl/dex2oat/tasks
+ chown system system /dev/cpuctl/cgroup.procs
+ chown system system /dev/cpuctl/foreground/cgroup.procs
+ chown system system /dev/cpuctl/background/cgroup.procs
+ chown system system /dev/cpuctl/top-app/cgroup.procs
+ chown system system /dev/cpuctl/rt/cgroup.procs
+ chown system system /dev/cpuctl/system/cgroup.procs
+ chown system system /dev/cpuctl/system-background/cgroup.procs
+ chown system system /dev/cpuctl/dex2oat/cgroup.procs
+ chown system system /dev/cpuctl/dex2oat/cpu.shares
+ chown system system /dev/cpuctl/top-app/cpu.shares
+ chown system system /dev/cpuctl/foreground/cpu.shares
+ chown system system /dev/cpuctl/system/cpu.shares
+ chmod 0664 /dev/cpuctl/tasks
+ chmod 0664 /dev/cpuctl/foreground/tasks
+ chmod 0664 /dev/cpuctl/background/tasks
+ chmod 0664 /dev/cpuctl/top-app/tasks
+ chmod 0664 /dev/cpuctl/rt/tasks
+ chmod 0664 /dev/cpuctl/system/tasks
+ chmod 0664 /dev/cpuctl/system-background/tasks
+ chmod 0664 /dev/cpuctl/dex2oat/tasks
+ chmod 0664 /dev/cpuctl/cgroup.procs
+ chmod 0664 /dev/cpuctl/foreground/cgroup.procs
+ chmod 0664 /dev/cpuctl/background/cgroup.procs
+ chmod 0664 /dev/cpuctl/top-app/cgroup.procs
+ chmod 0664 /dev/cpuctl/rt/cgroup.procs
+ chmod 0664 /dev/cpuctl/system/cgroup.procs
+ chmod 0664 /dev/cpuctl/system-background/cgroup.procs
+ chmod 0664 /dev/cpuctl/dex2oat/cgroup.procs
+ chmod 0664 /dev/cpuctl/dex2oat/cpu.shares
+ chmod 0664 /dev/cpuctl/top-app/cpu.shares
+ chmod 0664 /dev/cpuctl/foreground/cpu.shares
+ chmod 0664 /dev/cpuctl/system/cpu.shares
+
+ # System Performance - SEC_PRODUCT_FEATURE_SYSTEM_SUPPORT_GPIS {
+ mkdir /dev/cpuset/sf
+ copy /dev/cpuset/cpus /dev/cpuset/sf/cpus
+ copy /dev/cpuset/mems /dev/cpuset/sf/mems
+ chown system system /dev/cpuset/sf/tasks
+ chown system system /dev/cpuset/sf/cgroup.procs
+ chown system system /dev/cpuset/sf/cpus
+ chown system system /dev/perf_manager
+ chmod 0664 /dev/perf_manager
+ # System Performance - SEC_PRODUCT_FEATURE_SYSTEM_SUPPORT_GPIS }
+
+ # System Performance - midground {
+ mkdir /dev/cpuctl/midground
+ chown root system /dev/cpuctl/midground/cgroup.procs
+ chown root system /dev/cpuctl/midground/cpu.uclamp.max
+ chown root system /dev/cpuctl/midground/cpu.uclamp.min
+ chmod 0664 /dev/cpuctl/midground/cgroup.procs
+ chmod 0664 /dev/cpuctl/midground/cpu.uclamp.max
+ chmod 0664 /dev/cpuctl/midground/cpu.uclamp.min
+ write /dev/cpuctl/midground/cpu.uclamp.max 20
+ # System Performance - midground }
+
+ # Create a cpu group for NNAPI HAL processes
+ mkdir /dev/cpuctl/nnapi-hal
+ chown system system /dev/cpuctl/nnapi-hal
+ chown system system /dev/cpuctl/nnapi-hal/tasks
+ chown system system /dev/cpuctl/nnapi-hal/cgroup.procs
+ chmod 0664 /dev/cpuctl/nnapi-hal/tasks
+ chmod 0664 /dev/cpuctl/nnapi-hal/cgroup.procs
+ write /dev/cpuctl/nnapi-hal/cpu.uclamp.min 1
+ write /dev/cpuctl/nnapi-hal/cpu.uclamp.latency_sensitive 1
+
+ # Create a cpu group for camera daemon processes
+ mkdir /dev/cpuctl/camera-daemon
+ chown system system /dev/cpuctl/camera-daemon
+ chown system system /dev/cpuctl/camera-daemon/tasks
+ chown system system /dev/cpuctl/camera-daemon/cgroup.procs
+ chmod 0664 /dev/cpuctl/camera-daemon/tasks
+ chmod 0664 /dev/cpuctl/camera-daemon/cgroup.procs
+
+ # Create an stune group for camera-specific processes
+ mkdir /dev/stune/camera-daemon
+ chown system system /dev/stune/camera-daemon
+ chown system system /dev/stune/camera-daemon/tasks
+ chown system system /dev/stune/camera-daemon/cgroup.procs
+ chmod 0664 /dev/stune/camera-daemon/tasks
+ chmod 0664 /dev/stune/camera-daemon/cgroup.procs
+
+ # Create an stune group for NNAPI HAL processes
+ mkdir /dev/stune/nnapi-hal
+ chown system system /dev/stune/nnapi-hal
+ chown system system /dev/stune/nnapi-hal/tasks
+ chown system system /dev/stune/nnapi-hal/cgroup.procs
+ chmod 0664 /dev/stune/nnapi-hal/tasks
+ chmod 0664 /dev/stune/nnapi-hal/cgroup.procs
+ write /dev/stune/nnapi-hal/schedtune.boost 1
+ write /dev/stune/nnapi-hal/schedtune.prefer_idle 1
+
+ # Create blkio group and apply initial settings.
+ # This feature needs kernel to support it, and the
+ # device's init.rc must actually set the correct values.
+ mkdir /dev/blkio/background
+ chown system system /dev/blkio
+ chown system system /dev/blkio/background
+ chown system system /dev/blkio/tasks
+ chown system system /dev/blkio/background/tasks
+ chown system system /dev/blkio/cgroup.procs
+ chown system system /dev/blkio/background/cgroup.procs
+ chmod 0664 /dev/blkio/tasks
+ chmod 0664 /dev/blkio/background/tasks
+ chmod 0664 /dev/blkio/cgroup.procs
+ chmod 0664 /dev/blkio/background/cgroup.procs
+ write /dev/blkio/blkio.weight 1000
+ write /dev/blkio/background/blkio.weight 200
+ write /dev/blkio/background/blkio.bfq.weight 10
+ write /dev/blkio/blkio.group_idle 0
+ write /dev/blkio/background/blkio.group_idle 0
+ write /dev/blkio/background/blkio.prio.class restrict-to-be
+
+ restorecon_recursive /mnt
+
+ mount configfs none /config nodev noexec nosuid
+ chmod 0770 /config/sdcardfs
+ chown system package_info /config/sdcardfs
+
+ # Mount binderfs
+ mkdir /dev/binderfs
+ mount binder binder /dev/binderfs stats=global
+ chmod 0755 /dev/binderfs
+
+ # Mount fusectl
+ mount fusectl none /sys/fs/fuse/connections
+
+ symlink /dev/binderfs/binder /dev/binder
+ symlink /dev/binderfs/hwbinder /dev/hwbinder
+ symlink /dev/binderfs/vndbinder /dev/vndbinder
+
+ chmod 0666 /dev/binderfs/hwbinder
+ chmod 0666 /dev/binderfs/binder
+ chmod 0666 /dev/binderfs/vndbinder
+
+ mkdir /mnt/secure 0700 root root
+ mkdir /mnt/secure/asec 0700 root root
+ mkdir /mnt/asec 0755 root system
+ mkdir /mnt/obb 0755 root system
+ mkdir /mnt/media_rw 0750 root external_storage
+ mkdir /mnt/user 0755 root root
+ mkdir /mnt/user/0 0755 root root
+ mkdir /mnt/user/0/self 0755 root root
+ mkdir /mnt/user/0/emulated 0755 root root
+ mkdir /mnt/user/0/emulated/0 0755 root root
+
+ # Prepare directories for pass through processes
+ mkdir /mnt/pass_through 0700 root root
+ mkdir /mnt/pass_through/0 0710 root media_rw
+ mkdir /mnt/pass_through/0/self 0710 root media_rw
+ mkdir /mnt/pass_through/0/emulated 0710 root media_rw
+ mkdir /mnt/pass_through/0/emulated/0 0710 root media_rw
+
+ mkdir /mnt/expand 0771 system system
+ mkdir /mnt/appfuse 0711 root root
+
+ # Storage views to support runtime permissions
+ mkdir /mnt/runtime 0700 root root
+ mkdir /mnt/runtime/default 0755 root root
+ mkdir /mnt/runtime/default/self 0755 root root
+ mkdir /mnt/runtime/read 0755 root root
+ mkdir /mnt/runtime/read/self 0755 root root
+ mkdir /mnt/runtime/write 0755 root root
+ mkdir /mnt/runtime/write/self 0755 root root
+ mkdir /mnt/runtime/full 0755 root root
+ mkdir /mnt/runtime/full/self 0755 root root
+
+ # For Pre-reboot Dexopt
+ mkdir /mnt/pre_reboot_dexopt 0755 artd artd
+
+ # Symlink to keep legacy apps working in multi-user world
+ symlink /storage/self/primary /mnt/sdcard
+ symlink /mnt/user/0/primary /mnt/runtime/default/self/primary
+
+ write /proc/sys/kernel/panic_on_oops 1
+ write /proc/sys/kernel/hung_task_timeout_secs 0
+ write /proc/cpu/alignment 4
+
+ # scheduler tunables
+ # Disable auto-scaling of scheduler tunables with hotplug. The tunables
+ # will vary across devices in unpredictable ways if allowed to scale with
+ # cpu cores.
+ write /proc/sys/kernel/sched_tunable_scaling 0
+ write /proc/sys/kernel/sched_latency_ns 10000000
+ write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
+ write /proc/sys/kernel/sched_child_runs_first 0
+
+ write /proc/sys/kernel/randomize_va_space 2
+ write /proc/sys/vm/mmap_min_addr 32768
+ write /proc/sys/net/ipv4/ping_group_range "0 2147483647"
+ write /proc/sys/net/unix/max_dgram_qlen 2400
+
+ # Assign reasonable ceiling values for socket rcv/snd buffers.
+ # These should almost always be overridden by the target per the
+ # the corresponding technology maximums.
+ write /proc/sys/net/core/rmem_max 262144
+ write /proc/sys/net/core/wmem_max 262144
+
+ # reflect fwmark from incoming packets onto generated replies
+ write /proc/sys/net/ipv4/fwmark_reflect 1
+ write /proc/sys/net/ipv6/fwmark_reflect 1
+
+ # set fwmark on accepted sockets
+ write /proc/sys/net/ipv4/tcp_fwmark_accept 1
+
+ # disable icmp redirects
+ write /proc/sys/net/ipv4/conf/all/accept_redirects 0
+ write /proc/sys/net/ipv6/conf/all/accept_redirects 0
+
+ # /proc/net/fib_trie leaks interface IP addresses
+ chmod 0400 /proc/net/fib_trie
+
+ # sets up initial cpusets for ActivityManager
+ # this ensures that the cpusets are present and usable, but the device's
+ # init.rc must actually set the correct cpus
+ mkdir /dev/cpuset/foreground
+ copy /dev/cpuset/cpus /dev/cpuset/foreground/cpus
+ copy /dev/cpuset/mems /dev/cpuset/foreground/mems
+ mkdir /dev/cpuset/background
+ copy /dev/cpuset/cpus /dev/cpuset/background/cpus
+ copy /dev/cpuset/mems /dev/cpuset/background/mems
+
+ # system-background is for system tasks that should only run on
+ # little cores, not on bigs
+ mkdir /dev/cpuset/system-background
+ copy /dev/cpuset/cpus /dev/cpuset/system-background/cpus
+ copy /dev/cpuset/mems /dev/cpuset/system-background/mems
+
+ # restricted is for system tasks that are being throttled
+ # due to screen off.
+ mkdir /dev/cpuset/restricted
+ copy /dev/cpuset/cpus /dev/cpuset/restricted/cpus
+ copy /dev/cpuset/mems /dev/cpuset/restricted/mems
+
+ mkdir /dev/cpuset/top-app
+ copy /dev/cpuset/cpus /dev/cpuset/top-app/cpus
+ copy /dev/cpuset/mems /dev/cpuset/top-app/mems
+
+ # create a cpuset for camera daemon processes
+ mkdir /dev/cpuset/camera-daemon
+ copy /dev/cpuset/cpus /dev/cpuset/camera-daemon/cpus
+ copy /dev/cpuset/mems /dev/cpuset/camera-daemon/mems
+
+ mkdir /dev/cpuset/audio-app
+ copy /dev/cpuset/cpus /dev/cpuset/audio-app/cpus
+ copy /dev/cpuset/mems /dev/cpuset/audio-app/mems
+
+ # change permissions for all cpusets we'll touch at runtime
+ chown system system /dev/cpuset
+ chown system system /dev/cpuset/foreground
+ chown system system /dev/cpuset/background
+ chown system system /dev/cpuset/system-background
+ chown system system /dev/cpuset/top-app
+ chown system system /dev/cpuset/audio-app
+ chown system system /dev/cpuset/restricted
+ chown system system /dev/cpuset/camera-daemon
+ chown system system /dev/cpuset/tasks
+ chown system system /dev/cpuset/foreground/tasks
+ chown system system /dev/cpuset/background/tasks
+ chown system system /dev/cpuset/system-background/tasks
+ chown system system /dev/cpuset/top-app/tasks
+ chown system system /dev/cpuset/audio-app/tasks
+ chown system system /dev/cpuset/restricted/tasks
+ chown system system /dev/cpuset/camera-daemon/tasks
+ chown system system /dev/cpuset/cgroup.procs
+ chown system system /dev/cpuset/foreground/cgroup.procs
+ chown system system /dev/cpuset/background/cgroup.procs
+ chown system system /dev/cpuset/system-background/cgroup.procs
+ chown system system /dev/cpuset/top-app/cgroup.procs
+ chown system system /dev/cpuset/restricted/cgroup.procs
+ chown system system /dev/cpuset/camera-daemon/cgroup.procs
+ chown root system /dev/cpuset/background/cpus
+
+ # SEC_PRODUCT_FEATURE_KNOX_SUPPORT_NPA {
+ chmod 0660 /dev/ncm_dev
+ chown system system /dev/ncm_dev
+ # SEC_PRODUCT_FEATURE_KNOX_SUPPORT_NPA }
+
+ # set system-background to 0775 so SurfaceFlinger can touch it
+ chmod 0775 /dev/cpuset/system-background
+
+ chmod 0664 /dev/cpuset/foreground/tasks
+ chmod 0664 /dev/cpuset/background/tasks
+ chmod 0664 /dev/cpuset/system-background/tasks
+ chmod 0664 /dev/cpuset/top-app/tasks
+ chmod 0664 /dev/cpuset/audio-app/tasks
+ chmod 0664 /dev/cpuset/restricted/tasks
+ chmod 0664 /dev/cpuset/tasks
+ chmod 0664 /dev/cpuset/camera-daemon/tasks
+ chmod 0664 /dev/cpuset/foreground/cgroup.procs
+ chmod 0664 /dev/cpuset/background/cgroup.procs
+ chmod 0664 /dev/cpuset/system-background/cgroup.procs
+ chmod 0664 /dev/cpuset/top-app/cgroup.procs
+ chmod 0664 /dev/cpuset/restricted/cgroup.procs
+ chmod 0664 /dev/cpuset/cgroup.procs
+ chmod 0664 /dev/cpuset/camera-daemon/cgroup.procs
+ chmod 0664 /dev/cpuset/background/cpus
+
+ # make the PSI monitor accessible to others
+ chown system system /proc/pressure/memory
+ chown system system /proc/pressure/cpu
+ chmod 0664 /proc/pressure/memory
+ chmod 0664 /proc/pressure/cpu
+
+ # Mount acct top-app
+ chown system system /acct/tasks
+ chmod 0664 /acct/tasks
+
+ mkdir /acct/top-app
+ chown system system /acct/top-app
+ chown system system /acct/top-app/tasks
+ chmod 0664 /acct/top-app/tasks
+
+ chown system system /acct/cgroup.procs
+ chown system system /acct/top-app/cgroup.procs
+
+ # MARs for list
+ chown system system /system/etc/mars/mars_list.xml
+ chmod 0600 /system/etc/mars/mars_list.xml
+
+ # MARs for freecess
+ mkdir /dev/freezer/frozen
+ write /dev/freezer/frozen/freezer.state FROZEN
+
+ chown system system /dev/freezer
+ chown system system /dev/freezer/cgroup.procs
+ chown system system /dev/freezer/frozen
+ chown system system /dev/freezer/frozen/tasks
+ chown system system /dev/freezer/frozen/cgroup.procs
+ chown system system /dev/freezer/frozen/freezer.state
+
+ chmod 0644 /dev/freezer/frozen/tasks
+ chmod 0644 /dev/freezer/frozen/cgroup.procs
+ chmod 0644 /dev/freezer/frozen/freezer.state
+
+ # olaf dex2oat freezer
+ mkdir /dev/freezer/olaf
+ write /dev/freezer/olaf/freezer.state THAWED
+
+ chown system system /dev/freezer/olaf
+ chown system system /dev/freezer/olaf/tasks
+ chown system system /dev/freezer/olaf/cgroup.procs
+ chown system system /dev/freezer/olaf/freezer.state
+ chmod 0644 /dev/freezer/olaf/tasks
+ chmod 0644 /dev/freezer/olaf/cgroup.procs
+ chmod 0644 /dev/freezer/olaf/freezer.state
+
+ # SDHMS Slowdown : Freezer
+ mkdir /dev/freezer/abnormal
+ write /dev/freezer/abnormal/freezer.state THAWED
+ chown system system /dev/freezer/abnormal
+ chown system system /dev/freezer/abnormal/tasks
+ chown system system /dev/freezer/abnormal/cgroup.procs
+ chown system system /dev/freezer/abnormal/freezer.state
+ chmod 0644 /dev/freezer/abnormal/tasks
+ chmod 0644 /dev/freezer/abnormal/cgroup.procs
+ chmod 0644 /dev/freezer/abnormal/freezer.state
+
+ # Mount cpuset group for dex2oat
+ mkdir /dev/cpuset/dexopt
+ copy /dev/cpuset/cpus /dev/cpuset/dexopt/cpus
+ copy /dev/cpuset/mems /dev/cpuset/dexopt/mems
+
+ chown system system /dev/cpuset/dexopt
+ chown system system /dev/cpuset/dexopt/tasks
+ chown system system /dev/cpuset/dexopt/cpus
+ chmod 0664 /dev/cpuset/dexopt/tasks
+ chmod 0664 /dev/cpuset/dexopt/cpus
+
+ mount bpf bpf /sys/fs/bpf nodev noexec nosuid
+
+ # pstore/ramoops previous console log
+ mount pstore pstore /sys/fs/pstore nodev noexec nosuid
+ chown system log /sys/fs/pstore
+ chmod 0550 /sys/fs/pstore
+ chown system log /sys/fs/pstore/console-ramoops
+ chmod 0440 /sys/fs/pstore/console-ramoops
+ chown system log /sys/fs/pstore/console-ramoops-0
+ chmod 0440 /sys/fs/pstore/console-ramoops-0
+ chown system log /sys/fs/pstore/pmsg-ramoops-0
+ chmod 0440 /sys/fs/pstore/pmsg-ramoops-0
+
+ # enable armv8_deprecated instruction hooks
+ write /proc/sys/abi/swp 1
+
+ # Linux's execveat() syscall may construct paths containing /dev/fd
+ # expecting it to point to /proc/self/fd
+ symlink /proc/self/fd /dev/fd
+
+ export DOWNLOAD_CACHE /data/cache
+
+ # This allows the ledtrig-transient properties to be created here so
+ # that they can be chown'd to system:system later on boot
+ write /sys/class/leds/vibrator/trigger "transient"
+
+ # This is used by Bionic to select optimized routines.
+ write /dev/cpu_variant:${ro.bionic.arch} ${ro.bionic.cpu_variant}
+ chmod 0444 /dev/cpu_variant:${ro.bionic.arch}
+ write /dev/cpu_variant:${ro.bionic.2nd_arch} ${ro.bionic.2nd_cpu_variant}
+ chmod 0444 /dev/cpu_variant:${ro.bionic.2nd_arch}
+
+ # Allow system processes to read / write power state.
+ chown system system /sys/power/state
+ chown system system /sys/power/wakeup_count
+ chmod 0660 /sys/power/state
+
+ chown radio wakelock /sys/power/wake_lock
+ chown radio wakelock /sys/power/wake_unlock
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+
+ # Start logd before any other services run to ensure we capture all of their logs.
+ start logd
+ # Start lmkd before any other services run so that it can register them
+ write /proc/sys/vm/watermark_boost_factor 0
+ chown root system /sys/module/lowmemorykiller/parameters/adj
+ chmod 0664 /sys/module/lowmemorykiller/parameters/adj
+ chown root system /sys/module/lowmemorykiller/parameters/minfree
+ chmod 0664 /sys/module/lowmemorykiller/parameters/minfree
+ start lmkd
+
+ # Start essential services.
+ start servicemanager
+ start hwservicemanager
+ start vndservicemanager
+
+# Run boringssl self test for each ABI. Any failures trigger reboot to firmware.
+import /system/etc/init/hw/init.boringssl.${ro.zygote}.rc
+
+service boringssl_self_test32 /system/bin/boringssl_self_test32
+ reboot_on_failure reboot,boringssl-self-check-failed
+ stdio_to_kmsg
+ # Explicitly specify that boringssl_self_test32 doesn't require any capabilities
+ capabilities
+ user nobody
+
+service boringssl_self_test64 /system/bin/boringssl_self_test64
+ reboot_on_failure reboot,boringssl-self-check-failed
+ stdio_to_kmsg
+ # Explicitly specify that boringssl_self_test64 doesn't require any capabilities
+ capabilities
+ user nobody
+
+service boringssl_self_test_apex32 /apex/com.android.conscrypt/bin/boringssl_self_test32
+ reboot_on_failure reboot,boringssl-self-check-failed
+ stdio_to_kmsg
+ # Explicitly specify that boringssl_self_test_apex32 doesn't require any capabilities
+ capabilities
+ user nobody
+
+service boringssl_self_test_apex64 /apex/com.android.conscrypt/bin/boringssl_self_test64
+ reboot_on_failure reboot,boringssl-self-check-failed
+ stdio_to_kmsg
+ # Explicitly specify that boringssl_self_test_apex64 doesn't require any capabilities
+ capabilities
+ user nobody
+
+# Healthd can trigger a full boot from charger mode by signaling this
+# property when the power button is held.
+on property:sys.boot_from_charger_mode=1
+ class_stop charger
+ trigger late-init
+
+# Indicate to fw loaders that the relevant mounts are up.
+on firmware_mounts_complete
+ rm /dev/.booting
+
+# Mount filesystems and start core system services.
+on late-init
+ trigger early-fs
+
+ # Mount fstab in init.{$device}.rc by mount_all command. Optional parameter
+ # '--early' can be specified to skip entries with 'latemount'.
+ # /system and /vendor must be mounted by the end of the fs stage,
+ # while /data is optional.
+ trigger factory-fs
+ trigger fs
+ trigger post-fs
+
+ # Mount fstab in init.{$device}.rc by mount_all with '--late' parameter
+ # to only mount entries with 'latemount'. This is needed if '--early' is
+ # specified in the previous mount_all command on the fs stage.
+ # With /system mounted and properties form /system + /factory available,
+ # some services can be started.
+ trigger late-fs
+
+ # Now we can mount /data. File encryption requires keymaster to decrypt
+ # /data, which in turn can only be loaded when system properties are present.
+ trigger post-fs-data
+
+ # Should be before netd, but after apex, properties and logging is available.
+ trigger load_bpf_programs
+
+ # Now we can start zygote.
+ trigger zygote-start
+
+ # Remove a file to wake up anything waiting for firmware.
+ trigger firmware_mounts_complete
+
+ trigger early-boot
+ trigger boot
+ trigger mmi
+
+on early-fs
+ # SEC_PRODUCT_FEATURE_KNOX_SUPPORT_NPA {
+ # Property to support NPA usecase. Issue tracker 141611769.
+ setprop ro.vendor.redirect_socket_calls true
+ # SEC_PRODUCT_FEATURE_KNOX_SUPPORT_NPA }
+
+ write /sys/block/sda/queue/scheduler ssg
+ write /sys/block/sdb/queue/scheduler ssg
+ write /sys/block/sdc/queue/scheduler ssg
+ write /sys/block/sdd/queue/scheduler ssg
+ write /sys/block/sde/queue/scheduler ssg
+ write /sys/block/sdf/queue/scheduler ssg
+ write /sys/block/sdg/queue/scheduler ssg
+ write /sys/block/sdh/queue/scheduler ssg
+ write /sys/class/block/mmcblk0/queue/scheduler ssg
+ write /sys/class/block/mmcblk1/queue/scheduler ssg
+
+ # Top-app IO Boost
+ mkdir /dev/blkio/top-app
+ chown system system /dev/blkio/top-app
+ chown system system /dev/blkio/top-app/tasks
+ chown system system /dev/blkio/top-app/cgroup.procs
+ chown system system /dev/blkio/top-app/blkio.ssg.boost_on
+ chown system system /dev/blkio/top-app/blkio.ssg.boost_reserved_ratio
+ chmod 0664 /dev/blkio/top-app/tasks
+ chmod 0664 /dev/blkio/top-app/cgroup.procs
+ chmod 0664 /dev/blkio/top-app/blkio.ssg.boost_on
+ chmod 0664 /dev/blkio/top-app/blkio.ssg.boost_reserved_ratio
+
+ write /dev/blkio/top-app/blkio.ssg.boost_on 1
+ write /dev/blkio/top-app/blkio.ssg.boost_reserved_ratio 10
+
+ # Once metadata has been mounted, we'll need vold to deal with userdata checkpointing
+ start vold
+
+on post-fs
+ start iod
+
+ exec - system system -- /system/bin/vdc checkpoint markBootAttempt
+
+ # Once everything is setup, no need to modify /.
+ # The bind+remount combination allows this to work in containers.
+ mount rootfs rootfs / remount bind ro nodev
+
+ # Mount default storage into root namespace
+ mount none /mnt/user/0 /storage bind rec
+ mount none none /storage slave rec
+
+ # Make sure /sys/kernel/debug (if present) is labeled properly
+ # Note that tracefs may be mounted under debug, so we need to cross filesystems
+ restorecon --recursive --cross-filesystems /sys/kernel/debug
+
+ # We chown/chmod /cache again so because mount is run as root + defaults
+ chown system cache /cache
+ chmod 0770 /cache
+ # We restorecon /cache in case the cache partition has been reset.
+ restorecon_recursive /cache
+
+ # Create /cache/recovery in case it's not there. It'll also fix the odd
+ # permissions if created by the recovery system.
+ mkdir /cache/recovery 0770 system cache
+
+ # Backup/restore mechanism uses the cache partition
+ mkdir /cache/backup_stage 0700 system system
+ mkdir /cache/backup 0700 system system
+
+ #change permissions on vmallocinfo so we can grab it from bugreports
+ chown root log /proc/vmallocinfo
+ chmod 0440 /proc/vmallocinfo
+
+ chown root log /proc/slabinfo
+ chmod 0440 /proc/slabinfo
+
+ chown root log /proc/pagetypeinfo
+ chmod 0440 /proc/pagetypeinfo
+
+ #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
+ chown root system /proc/kmsg
+ chmod 0440 /proc/kmsg
+ chown root system /proc/sysrq-trigger
+ chmod 0220 /proc/sysrq-trigger
+ chown system log /proc/last_kmsg
+ chmod 0440 /proc/last_kmsg
+
+ # System Performance - Permissions for input_booster
+ chown system system /sys/class/input_booster/touch/level
+ chown system system /sys/class/input_booster/touch/head
+ chown system system /sys/class/input_booster/touch/tail
+ chown system system /sys/class/input_booster/multitouch/head
+ chown system system /sys/class/input_booster/multitouch/tail
+ chown system system /sys/class/input_booster/multitouch/level
+ chown system system /sys/class/input_booster/ib_mode_state
+
+ chmod 0664 /sys/class/input_booster/touch/level
+ chmod 0664 /sys/class/input_booster/touch/head
+ chmod 0664 /sys/class/input_booster/touch/tail
+ chmod 0664 /sys/class/input_booster/multitouch/level
+ chmod 0664 /sys/class/input_booster/multitouch/head
+ chmod 0664 /sys/class/input_booster/multitouch/tail
+ chmod 0664 /sys/class/input_booster/ib_mode_state
+
+ # make the selinux kernel policy world-readable
+ chmod 0444 /sys/fs/selinux/policy
+
+ # create the lost+found directories, so as to enforce our permissions
+ mkdir /cache/lost+found 0770 root root
+
+ restorecon_recursive /metadata
+ mkdir /metadata/vold
+ chmod 0700 /metadata/vold
+ mkdir /metadata/password_slots 0771 root system
+ mkdir /metadata/bootstat 0750 system log
+ mkdir /metadata/ota 0750 root system
+ mkdir /metadata/ota/snapshots 0750 root system
+ mkdir /metadata/userspacereboot 0770 root system
+ mkdir /metadata/watchdog 0770 root system
+
+ # Samsung ODE >>>
+ mkdir /metadata/sec_backup 0700 root root
+ # Samsung ODE <<<
+
+ mkdir /metadata/apex 0700 root system
+ mkdir /metadata/apex/sessions 0700 root system
+ # On some devices we see a weird behaviour in which /metadata/apex doesn't
+ # have a correct label. To workaround this bug, explicitly call restorecon
+ # on /metadata/apex. For most of the boot sequences /metadata/apex will
+ # already have a correct selinux label, meaning that this call will be a
+ # no-op.
+ restorecon_recursive /metadata/apex
+
+ mkdir /metadata/staged-install 0770 root system
+
+ mkdir /metadata/aconfig 0775 root system
+ mkdir /metadata/aconfig/flags 0770 root system
+ mkdir /metadata/aconfig/maps 0775 root system
+ mkdir /metadata/aconfig/boot 0775 root system
+
+ mkdir /metadata/aconfig_test_missions 0775 root system
+ exec_start aconfigd-platform-init
+
+on late-fs
+ # Ensure that tracefs has the correct permissions.
+ # This does not work correctly if it is called in post-fs.
+ chmod 0755 /sys/kernel/tracing
+ chmod 0755 /sys/kernel/debug/tracing
+
+ # HALs required before storage encryption can get unlocked (FBE)
+ class_start early_hal
+
+ # Load trusted keys from dm-verity protected partitions
+ exec -- /system/bin/fsverity_init --load-verified-keys
+
+# Only enable the bootreceiver tracing instance for kernels 5.10 and above.
+on late-fs && property:ro.kernel.version=4.19
+ setprop bootreceiver.enable 0
+on late-fs && property:ro.kernel.version=5.4
+ setprop bootreceiver.enable 0
+
+on property:ro.product.cpu.abilist64=* && property:bootreceiver.enable=1
+ # Set up a tracing instance for system_server to monitor error_report_end events.
+ # These are sent by kernel tools like KASAN and KFENCE when a memory corruption
+ # is detected. This is only needed for 64-bit systems.
+ mkdir /sys/kernel/tracing/instances/bootreceiver 0700 system system
+ restorecon_recursive /sys/kernel/tracing/instances/bootreceiver
+ write /sys/kernel/tracing/instances/bootreceiver/buffer_size_kb 1
+ write /sys/kernel/tracing/instances/bootreceiver/trace_options disable_on_free
+ write /sys/kernel/tracing/instances/bootreceiver/events/error_report/error_report_end/enable 1
+
+on post-fs-data
+
+ mark_post_data
+
+ # Start checkpoint before we touch data
+ exec - system system -- /system/bin/vdc checkpoint prepareCheckpoint
+
+ # USB conn_gadget device (DeXonPC, Samsung Flow)
+ chown system system /dev/android_ssusbcon
+ chmod 0660 /dev/android_ssusbcon
+
+ # We chown/chmod /data again so because mount is run as root + defaults
+ chown system system /data
+ chmod 0771 /data
+ # We restorecon /data in case the userdata partition has been reset.
+ restorecon /data
+
+ # sec_efs_file
+ mkdir /efs/sec_efs 0775 radio system
+
+ #rtts dir
+ mkdir /efs/rtts 0775 system system
+
+ # Make sure we have the device encryption key.
+ installkey /data
+
+ # deleting fota package and command
+ start clear-fota
+
+ # @RECOVERY : postrecovery
+ postrecovery
+
+ # Start bootcharting as soon as possible after the data partition is
+ # mounted to collect more data.
+ mkdir /data/bootchart 0755 shell shell encryption=Require
+ bootchart start
+
+ # Avoid predictable entropy pool. Carry over entropy from previous boot.
+ copy /data/system/entropy.dat /dev/urandom
+
+ mkdir /data/vendor 0771 root root encryption=Require
+ mkdir /data/vendor/hardware 0771 root root
+
+ # Start tombstoned early to be able to store tombstones.
+ mkdir /data/anr 0775 system system encryption=Require
+ mkdir /data/tombstones 0775 system system encryption=Require
+ mkdir /data/vendor/tombstones 0771 root root
+ mkdir /data/vendor/tombstones/wifi 0771 wifi wifi
+ start tombstoned
+
+ # create attribution file
+ mkdir /data/attribution 0777 system system
+
+ # Samsung Theme | APK_OPTIMIZATION
+ mkdir /data/overlays 0755 system system
+
+ # APK_OPTIMIZATION
+ mkdir /data/overlays/current_locale_apks 0755 system system
+
+ # Make sure that apexd is started in the default namespace
+ enter_default_mount_ns
+
+ # Samsung ODE >>>
+ # Create a backup directory encrypted with system_de key
+ mkdir /data/sec_backup_sys_de 0775 system 5666 encryption=Require
+ mkdir /data/sec_backup_sys_de/keystore 0700 keystore keystore
+ mkdir /data/sec_backup_sys_de/vold 0700 root root
+ # Samsung ODE <<<
+
+ # set up keystore directory structure first so that we can end early boot
+ # and start apexd
+ mkdir /data/misc 01771 system misc encryption=Require
+ mkdir /data/misc/keystore 0700 keystore keystore
+ # work around b/183668221
+ restorecon /data/misc /data/misc/keystore
+
+ # Boot level 30
+ # odsign signing keys have MAX_BOOT_LEVEL=30
+ # This is currently the earliest boot level, but we start at 30
+ # to leave room for earlier levels.
+ setprop keystore.boot_level 30
+
+ # Now that /data is mounted and we have created /data/misc/keystore,
+ # we can tell keystore to stop allowing use of early-boot keys,
+ # and access its database for the first time to support creation and
+ # use of MAX_BOOT_LEVEL keys.
+ exec - system system -- /system/bin/vdc keymaster earlyBootEnded
+
+ # Multi-installed APEXes are selected using persist props.
+ # Load persist properties and override properties (if enabled) from /data,
+ # before starting apexd.
+ # /data/property should be created before `load_persist_props`
+ mkdir /data/property 0700 root root encryption=Require
+ load_persist_props
+
+ start logd
+ start logd-reinit
+
+ # Some existing vendor rc files use 'on load_persist_props_action' to know
+ # when persist props are ready. These are difficult to change due to GRF,
+ # so continue triggering this action here even though props are already loaded
+ # by the 'load_persist_props' call above.
+ trigger load_persist_props_action
+
+ # /data/apex is now available. Start apexd to scan and activate APEXes.
+ #
+ # To handle userspace reboots, make sure that apexd is started cleanly here
+ # (set apexd.status="") and that it is restarted if it's already running.
+ #
+ # /data/apex uses encryption=None because direct I/O support is needed on
+ # APEX files, but some devices don't support direct I/O on encrypted files.
+ # Also, APEXes are public information, similar to the system image.
+ # /data/apex/decompressed and /data/apex/ota_reserved override this setting;
+ # they are encrypted so that files in them can be hard-linked into
+ # /data/rollback which is encrypted.
+ mkdir /data/apex 0755 root system encryption=None
+ mkdir /data/apex/active 0755 root system
+ mkdir /data/apex/backup 0700 root system
+ mkdir /data/apex/decompressed 0755 root system encryption=Require
+ mkdir /data/apex/hashtree 0700 root system
+ mkdir /data/apex/sessions 0700 root system
+ mkdir /data/app-staging 0751 system system encryption=DeleteIfNecessary
+ mkdir /data/apex/ota_reserved 0700 root system encryption=Require
+ setprop apexd.status ""
+ restart apexd
+
+ # Video call Virtual Background
+ mkdir /data/vendor/segbackground 0771 system system
+
+ # Downloadable Filter
+ mkdir /data/DownFilters 0775 system system
+ mkdir /data/DownFilters/Lib 0775 system system
+ mkdir /data/DownFilters/Lib64 0775 system system
+ mkdir /data/DownFilters/Res 0775 system system
+ mkdir /data/DownFilters/Tex 0775 system system
+ mkdir /data/DownFilters/MyFilter 0775 system system
+
+ # create rest of basic filesystem structure
+ mkdir /data/misc/recovery 0770 system log
+ copy /data/misc/recovery/ro.build.fingerprint /data/misc/recovery/ro.build.fingerprint.1
+ chmod 0440 /data/misc/recovery/ro.build.fingerprint.1
+ chown system log /data/misc/recovery/ro.build.fingerprint.1
+ write /data/misc/recovery/ro.build.fingerprint ${ro.build.fingerprint}
+ chmod 0440 /data/misc/recovery/ro.build.fingerprint
+ chown system log /data/misc/recovery/ro.build.fingerprint
+ mkdir /data/misc/recovery/proc 0770 system log
+ copy /data/misc/recovery/proc/version /data/misc/recovery/proc/version.1
+ chmod 0440 /data/misc/recovery/proc/version.1
+ chown system log /data/misc/recovery/proc/version.1
+ copy /proc/version /data/misc/recovery/proc/version
+ chmod 0440 /data/misc/recovery/proc/version
+ chown system log /data/misc/recovery/proc/version
+ mkdir /data/misc/bluedroid 02770 bluetooth bluetooth
+ # Fix the access permissions and group ownership for 'bt_config.conf'
+ chmod 0660 /data/misc/bluedroid/bt_config.conf
+ chown bluetooth bluetooth /data/misc/bluedroid/bt_config.conf
+ mkdir /data/misc/bluetooth 0770 bluetooth bluetooth
+ mkdir /data/misc/bluetooth/logs 0770 bluetooth bluetooth
+ mkdir /data/misc/nfc 0770 nfc nfc
+ mkdir /data/misc/nfc/logs 0770 nfc nfc
+ mkdir /data/misc/credstore 0700 credstore credstore
+ mkdir /data/misc/gatekeeper 0700 system system
+ mkdir /data/misc/keychain 0771 system system
+ mkdir /data/misc/net 0750 root shell
+ mkdir /data/misc/radio 0770 system radio
+ mkdir /data/misc/sms 0770 system radio
+ mkdir /data/misc/carrierid 0770 system radio
+ mkdir /data/misc/apns 0770 system radio
+ mkdir /data/misc/emergencynumberdb 0770 system radio
+ mkdir /data/misc/network_watchlist 0774 system system
+ mkdir /data/misc/telephonyconfig 0770 system radio
+ mkdir /data/misc/textclassifier 0771 system system
+ mkdir /data/misc/vpn 0770 system vpn
+ mkdir /data/misc/shared_relro 0771 shared_relro shared_relro
+ mkdir /data/misc/systemkeys 0700 system system
+ mkdir /data/misc/wifi 0770 wifi wifi
+ mkdir /data/misc/wifi_hostapd 0771 wifi system
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
+ mkdir /data/misc/ethernet 0770 system system
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ mkdir /data/misc/user 0771 root root
+ # give system access to wpa_supplicant.conf for backup and restore
+ chmod 0660 /data/misc/wifi/wpa_supplicant.conf
+ mkdir /data/misc/wifi 0770 wifi system
+ mkdir /data/misc/wifi_share_profile 0771 wifi system
+ mkdir /data/local 0751 root root encryption=Require
+ mkdir /data/misc/media 0700 media media
+ mkdir /data/misc/audioserver 0700 audioserver audioserver
+ mkdir /data/misc/cameraserver 0700 cameraserver cameraserver
+ mkdir /data/misc/vold 0700 root root
+ mkdir /data/misc/boottrace 0771 system shell
+ mkdir /data/misc/update_engine 0700 root root
+ mkdir /data/misc/update_engine_log 02750 root log
+ mkdir /data/misc/trace 0700 root root
+ # create location to store surface and window trace files
+ mkdir /data/misc/wmtrace 0700 system system
+ # create location to store accessibility trace files
+ mkdir /data/misc/a11ytrace 0700 system system
+ # profile file layout
+ mkdir /data/misc/profiles 0771 system system
+ mkdir /data/misc/profiles/cur 0771 system system
+ mkdir /data/misc/profiles/ref 0771 system system
+ mkdir /data/misc/profman 0770 system shell
+ mkdir /data/misc/gcov 0770 root root
+ mkdir /data/misc/installd 0700 root root
+ mkdir /data/misc/apexdata 0711 root root
+ mkdir /data/misc/apexrollback 0700 root root
+ mkdir /data/misc/appcompat/ 0700 system system
+ mkdir /data/misc/uprobestats-configs/ 0777 uprobestats uprobestats
+ mkdir /data/misc/snapshotctl_log 0755 root root
+ # create location to store pre-reboot information
+ mkdir /data/misc/prereboot 0700 system system
+ # directory used for on-device refresh metrics file.
+ mkdir /data/misc/odrefresh 0777 system system
+ # directory used for on-device signing key blob
+ mkdir /data/misc/odsign 0710 root system
+ # directory used for odsign metrics
+ mkdir /data/misc/odsign/metrics 0770 root system
+ # directory used for connectivity blob store.
+ mkdir /data/misc/connectivityblobdb 0770 system system
+
+ # Directory for VirtualizationService temporary image files.
+ # Delete any stale files owned by the old virtualizationservice uid (b/230056726).
+ chmod 0770 /data/misc/virtualizationservice
+ exec - virtualizationservice system -- /bin/rm -rf /data/misc/virtualizationservice
+ mkdir /data/misc/virtualizationservice 0771 system system
+
+ # /data/preloads uses encryption=None because it only contains preloaded
+ # files that are public information, similar to the system image.
+ mkdir /data/preloads 0775 system system encryption=None
+
+# [ SEC_SELINUX_PORTING_COMMON
+ mkdir /data/misc/audit 0775 system system
+ chown vendor_audit vendor_audit /data/misc/audit/audit.log
+ chown vendor_audit vendor_audit /data/misc/audit/audit.old
+# ] SEC_SELINUX_PORTING_COMMON
+
+
+ # For security reasons, /data/local/tmp should always be empty.
+ # Do not place files or directories in /data/local/tmp
+ mkdir /data/local/tmp 0771 shell shell
+ mkdir /data/local/traces 0777 shell shell
+ mkdir /data/app-private 0771 system system encryption=Require
+ mkdir /data/app-ephemeral 0771 system system encryption=Require
+ mkdir /data/app-asec 0700 root root encryption=Require
+ mkdir /data/app-lib 0771 system system encryption=Require
+ mkdir /data/app 0771 system system encryption=Require
+ # PMRune.PM_SPEED_INSTALL
+ mkdir /data/apk-tmp 0771 system system encryption=Require
+
+ # Create directory for app metadata files
+ mkdir /data/app-metadata 0700 system system encryption=Require
+
+ # create directory for updated font files.
+ mkdir /data/fonts/ 0771 root root encryption=Require
+ mkdir /data/fonts/files 0771 system system
+ mkdir /data/fonts/config 0770 system system
+
+ # Create directories to push tests to for each linker namespace.
+ # Create the subdirectories in case the first test is run as root
+ # so it doesn't end up owned by root.
+ # Set directories to be executable by any process so that debuggerd,
+ # aka crash_dump, can read any executables/shared libraries.
+ mkdir /data/local/tests 0701 shell shell
+ mkdir /data/local/tests/product 0701 shell shell
+ mkdir /data/local/tests/system 0701 shell shell
+ mkdir /data/local/tests/unrestricted 0701 shell shell
+ mkdir /data/local/tests/vendor 0701 shell shell
+
+ # create dalvik-cache, so as to enforce our permissions
+ mkdir /data/dalvik-cache 0771 root root encryption=None
+ # create the A/B OTA directory, so as to enforce our permissions
+ mkdir /data/ota 0771 root root encryption=Require
+
+ # create the OTA package directory. It will be accessed by GmsCore (cache
+ # group), update_engine and update_verifier.
+ mkdir /data/ota_package 0770 system cache encryption=Require
+
+ # create resource-cache and double-check the perms
+ mkdir /data/resource-cache 0771 system system encryption=Require
+ chown system system /data/resource-cache
+ chmod 0771 /data/resource-cache
+
+ # Ensure that lost+found exists and has the correct permissions. Linux
+ # filesystems expect this directory to exist; it's where the fsck tool puts
+ # any recovered files that weren't present in any directory. It must be
+ # unencrypted, as fsck must be able to write to it.
+ mkdir /data/lost+found 0770 root root encryption=None
+
+ # create directory for DRM plug-ins - give drm the read/write access to
+ # the following directory.
+ mkdir /data/drm 0770 drm drm encryption=Require
+
+ # create directory for MediaDrm plug-ins - give drm the read/write access to
+ # the following directory.
+ mkdir /data/mediadrm 0770 mediadrm mediadrm encryption=Require
+
+ # MST Factory Test
+ chown system system /sys/class/mstldo/mst_drv/transmit
+ chmod 0660 /sys/class/mstldo/mst_drv/transmit
+
+ # MST-MFC Support
+ chown system system /sys/class/mstldo/mst_drv/mfc
+ chmod 0440 /sys/class/mstldo/mst_drv/mfc
+
+ # MST Check Support
+ chown system system /sys/class/mstldo/mst_drv/support
+ chmod 0444 /sys/class/mstldo/mst_drv/support
+
+ # NFC: create data/nfc for nv storage
+ mkdir /data/nfc 0770 nfc nfc encryption=Require
+ mkdir /data/nfc/param 0770 nfc nfc
+
+ # Create all remaining /data root dirs so that they are made through init
+ # and get proper encryption policy installed
+ mkdir /data/backup 0700 system system encryption=Require
+ mkdir /data/ss 0700 system system encryption=Require
+
+ mkdir /data/system 0775 system system encryption=Require
+ mkdir /data/system/environ 0700 system system
+ # b/183861600 attempt to fix selinux label before running derive_classpath service
+ restorecon /data/system/environ
+ mkdir /data/system/dropbox 0700 system system
+ mkdir /data/system/heapdump 0700 system system
+ mkdir /data/system/users 0775 system system
+ # Mkdir and set SELinux security contexts for shutdown-checkpoints.
+ # TODO(b/270286197): remove these after couple releases.
+ mkdir /data/system/shutdown-checkpoints 0700 system system
+ restorecon_recursive /data/system/shutdown-checkpoints
+
+ # Create the parent directories of the user CE and DE storage directories.
+ # These parent directories must use encryption=None, since each of their
+ # subdirectories uses a different encryption policy (a per-user one), and
+ # encryption policies apply recursively. These directories should never
+ # contain any subdirectories other than the per-user ones. /data/media/obb
+ # is an exception that exists for legacy reasons.
+ #
+ # Don't use any write mode bits (0222) for any of these directories, since
+ # the only process that should write to them directly is vold (since it
+ # needs to set up file-based encryption on the subdirectories), which runs
+ # as root with CAP_DAC_OVERRIDE. This is also fully enforced via the
+ # SELinux policy. But we also set the DAC file modes accordingly, to try to
+ # minimize differences in behavior if SELinux is set to permissive mode.
+ mkdir /data/media 0550 media_rw media_rw encryption=None
+ mkdir /data/misc_ce 0551 system misc encryption=None
+ mkdir /data/misc_de 0551 system misc encryption=None
+ mkdir /data/system_ce 0550 system system encryption=None
+ mkdir /data/system_de 0550 system system encryption=None
+ mkdir /data/user 0511 system system encryption=None
+ mkdir /data/user_de 0511 system system encryption=None
+ mkdir /data/vendor_ce 0551 root root encryption=None
+ mkdir /data/vendor_de 0551 root root encryption=None
+ # Similar to the top-level CE and DE directories, /data/storage_area must
+ # itself be unencrypted, since it contains encrypted directories.
+ mkdir /data/storage_area 0551 root root encryption=None
+
+ # Set the casefold flag on /data/media. For upgrades, a restorecon can be
+ # needed first to relabel the directory from media_rw_data_file.
+ restorecon /data/media
+ exec - media_rw media_rw -- /system/bin/chattr +F /data/media
+
+ # A tmpfs directory, which will contain all apps and sdk sandbox CE and DE
+ # data directory that bind mount from the original source.
+ mount tmpfs tmpfs /data_mirror nodev noexec nosuid mode=0700,uid=0,gid=1000
+ restorecon /data_mirror
+ mkdir /data_mirror/data_ce 0700 root root
+ mkdir /data_mirror/data_de 0700 root root
+ mkdir /data_mirror/misc_ce 0700 root root
+ mkdir /data_mirror/misc_de 0700 root root
+ mkdir /data_mirror/storage_area 0700 root root
+
+ # Create CE and DE data directory for default volume
+ # Not needed for storage_area directory, since this is
+ # not supported for non-default volumes and the path
+ # does not include the volume ID
+ mkdir /data_mirror/data_ce/null 0700 root root
+ mkdir /data_mirror/data_de/null 0700 root root
+ mkdir /data_mirror/misc_ce/null 0700 root root
+ mkdir /data_mirror/misc_de/null 0700 root root
+
+ # Bind mount CE and DE data directory to mirror's default volume directory.
+ # Note that because the /data mount has the "shared" propagation type, the
+ # later bind mount of /data/data onto /data/user/0 will automatically
+ # propagate to /data_mirror/data_ce/null/0 as well.
+ mount none /data/user /data_mirror/data_ce/null bind rec
+ mount none /data/user_de /data_mirror/data_de/null bind rec
+ mount none /data/misc_ce /data_mirror/misc_ce/null bind rec
+ mount none /data/misc_de /data_mirror/misc_de/null bind rec
+
+ # Also bind mount for the storage area directory (minus the volume ID)
+ mount none /data/storage_area /data_mirror/storage_area bind rec
+
+ # Create mirror directory for jit profiles
+ mkdir /data_mirror/cur_profiles 0700 root root
+ mount none /data/misc/profiles/cur /data_mirror/cur_profiles bind rec
+ mkdir /data_mirror/ref_profiles 0700 root root
+ mount none /data/misc/profiles/ref /data_mirror/ref_profiles bind rec
+
+ mkdir /data/cache 0770 system cache encryption=Require
+ mkdir /data/cache/recovery 0770 system cache
+ mkdir /data/cache/backup_stage 0700 system system
+ mkdir /data/cache/backup 0700 system system
+
+ # Delete these if need be, per b/139193659
+ mkdir /data/rollback 0700 system system encryption=DeleteIfNecessary
+ mkdir /data/rollback-observer 0700 system system encryption=DeleteIfNecessary
+ mkdir /data/rollback-history 0700 system system encryption=DeleteIfNecessary
+
+ # Create root dir for Incremental Service
+ mkdir /data/incremental 0771 system system encryption=Require
+
+ # Create directories for statsd
+ mkdir /data/misc/stats-active-metric/ 0770 statsd system
+ mkdir /data/misc/stats-data/ 0770 statsd system
+ mkdir /data/misc/stats-data/restricted-data 0770 statsd system
+ mkdir /data/misc/stats-metadata/ 0770 statsd system
+ mkdir /data/misc/stats-service/ 0770 statsd system
+ mkdir /data/misc/train-info/ 0770 statsd system
+
+ # Wait for apexd to finish activating APEXes before starting more processes.
+ wait_for_prop apexd.status activated
+ perform_apex_config
+ exec_start aconfigd-mainline-init
+ start aconfigd
+
+ # Create blockchain folder to Blockchain keystore
+ mkdir /data/sblockchain 0755 system system encryption=Require
+
+ # Create directories for boot animation.
+ mkdir /data/misc/bootanim 0755 system system
+
+ exec_start derive_sdk
+
+ init_user0
+
+ # Set SELinux security contexts on upgrade or policy update.
+ restorecon --recursive --skip-ce /data
+
+ # Define and export *CLASSPATH variables
+ # Must start before 'odsign', as odsign depends on *CLASSPATH variables
+ exec_start derive_classpath
+ load_exports /data/system/environ/classpath
+
+ # Start ART's oneshot boot service to propagate boot experiment flags to
+ # dalvik.vm.*. This needs to be done before odsign since odrefresh uses and
+ # validates those properties against the signed cache-info.xml.
+ exec_start art_boot
+
+ # Start the on-device signing daemon, and wait for it to finish, to ensure
+ # ART artifacts are generated if needed.
+ # Must start after 'derive_classpath' to have *CLASSPATH variables set.
+ softdog disable
+ start odsign
+
+ # Wait for odsign to be done with the key.
+ wait_for_prop odsign.key.done 1
+ softdog enable
+
+ # Bump the boot level to 1000000000; this prevents further on-device signing.
+ # This is a special value that shuts down the thread which listens for
+ # further updates.
+ setprop keystore.boot_level 1000000000
+
+ # Allow apexd to snapshot and restore device encrypted apex data in the case
+ # of a rollback. This should be done immediately after DE_user data keys
+ # are loaded. APEXes should not access this data until this has been
+ # completed and apexd.status becomes "ready".
+ exec_start apexd-snapshotde
+
+# [ SEC_SELINUX_PORTING_COMMON
+ start auditd
+
+ restorecon --recursive --force /efs
+ restorecon --recursive --force /cpefs
+ restorecon --recursive --force /mnt/vendor/efs
+ restorecon --recursive --force /mnt/vendor/cpefs
+ restorecon --recursive --force /sec_efs
+ restorecon_recursive /carrier
+ restorecon /sys/kernel/debug/tracing/trace_marker
+# ] SEC_SELINUX_PORTING_COMMON
+
+ # sys.memfd_use set to false by default, which keeps it disabled
+ # until it is confirmed that apps and vendor processes don't make
+ # IOCTLs on ashmem fds any more.
+ setprop sys.use_memfd false
+
+ # Set fscklog permission
+ chown root system /dev/fscklogs/log
+ chmod 0770 /dev/fscklogs/log
+
+ # Enable FUSE by default
+ setprop persist.sys.fuse true
+
+ # Update dm-verity state and set partition.*.verified properties.
+ verity_update_state
+
+# It is recommended to put unnecessary data/ initialization from post-fs-data
+# to start-zygote in device's init.rc to unblock zygote start.
+on zygote-start
+ wait_for_prop odsign.verification.done 1
+ # A/B update verifier that marks a successful boot.
+ exec_start update_verifier
+ start statsd
+ start netd
+ start zygote
+ start zygote_secondary
+
+on boot && property:ro.config.low_ram=true
+ # IOPP-dirty_buffer-android-v1.0
+ # write /proc/sys/vm/dirty_background_ratio 5
+
+on boot && property:suspend.disable_sync_on_suspend=true
+ write /sys/power/sync_on_suspend 0
+
+on boot
+ setprop sys.usb.certification 0
+
+on property:sys.usb.certification=1
+ chown system system /sys/bus/usb/drivers/hub/unbind
+ chmod 0664 /sys/bus/usb/drivers/hub/unbind
+ chown system system /sys/bus/usb/drivers/lvs/new_id
+ chmod 0664 /sys/bus/usb/drivers/lvs/new_id
+ chown system system /sys/bus/usb/drivers/lvs/bind
+ chmod 0664 /sys/bus/usb/drivers/lvs/bind
+
+on property:sys.usb.certification=2
+ chown system system /sys/bus/usb/drivers/lvs/1-0:1.0/test_mode
+ chmod 0664 /sys/bus/usb/drivers/lvs/1-0:1.0/test_mode
+ chown system system /sys/bus/usb/drivers/lvs/1-0:1.0/get_dev_desc
+ chmod 0664 /sys/bus/usb/drivers/lvs/1-0:1.0/get_dev_desc
+ chown system system /sys/bus/usb/drivers/lvs/2-0:1.0/test_mode
+ chmod 0664 /sys/bus/usb/drivers/lvs/2-0:1.0/test_mode
+ chown system system /sys/bus/usb/drivers/lvs/2-0:1.0/get_dev_desc
+ chmod 0664 /sys/bus/usb/drivers/lvs/2-0:1.0/get_dev_desc
+
+on boot
+# SDHMS Slowdown : Cpuset
+ mkdir /dev/cpuset/abnormal
+ copy /dev/cpuset/mems /dev/cpuset/abnormal/mems
+
+ chown system system /dev/cpuset/abnormal
+ chown system system /dev/cpuset/abnormal/tasks
+ chown system system /dev/cpuset/abnormal/cpus
+ chown system system /dev/cpuset/abnormal/cgroup.procs
+ chmod 0664 /dev/cpuset/abnormal/tasks
+ chmod 0664 /dev/cpuset/abnormal/cpus
+ chmod 0664 /dev/cpuset/abnormal/cgroup.procs
+
+ mkdir /dev/cpuset/moderate
+ copy /dev/cpuset/mems /dev/cpuset/moderate/mems
+
+ chown system system /dev/cpuset/moderate
+ chown system system /dev/cpuset/moderate/tasks
+ chown system system /dev/cpuset/moderate/cpus
+ chown system system /dev/cpuset/moderate/cgroup.procs
+ chmod 0664 /dev/cpuset/moderate/tasks
+ chmod 0664 /dev/cpuset/moderate/cpus
+ chmod 0664 /dev/cpuset/moderate/cgroup.procs
+
+ # basic network init
+ ifup lo
+ hostname localhost
+ domainname localdomain
+
+ chown root system /proc/cpu_capacity_fixup_target
+ chmod 0660 /proc/cpu_capacity_fixup_target
+ write /proc/cpu_capacity_fixup_target UnityMain
+
+ # Tweak background writeout
+ write /proc/sys/vm/dirty_expire_centisecs 200
+
+ # VM dirty thresh setting
+ write /proc/sys/vm/dirty_bytes 104857600
+ write /proc/sys/vm/dirty_background_bytes 26214400
+
+ # IPsec SA default expiration length
+ write /proc/sys/net/core/xfrm_acq_expires 3600
+
+ # Memory management. Basic kernel parameters, and allow the high
+ # level system server to be able to adjust the kernel OOM driver
+ # parameters to match how it is managing things.
+ write /proc/sys/vm/overcommit_memory 1
+ write /proc/sys/vm/min_free_order_shift 4
+
+ # System server manages zram writeback
+ chown root system /sys/block/zram0/idle
+ chmod 0664 /sys/block/zram0/idle
+ chown root system /sys/block/zram0/writeback
+ chmod 0664 /sys/block/zram0/writeback
+
+ # kswapd_mode
+ chmod 0664 /sys/kernel/mm/vmscan/mem_boost_mode_kswapd
+ chown system system /sys/kernel/mm/vmscan/mem_boost_mode_kswapd
+
+ # damon_reclaim
+ chmod 0664 /sys/module/damon_reclaim/parameters/enabled
+ chown system system /sys/module/damon_reclaim/parameters/enabled
+ chmod 0664 /sys/module/damon_reclaim/parameters/min_age
+ chown system system /sys/module/damon_reclaim/parameters/min_age
+ chmod 0664 /sys/module/damon_reclaim/parameters/sample_interval
+ chown system system /sys/module/damon_reclaim/parameters/sample_interval
+ chmod 0664 /sys/module/damon_reclaim/parameters/cpu_affinity
+ chown system system /sys/module/damon_reclaim/parameters/cpu_affinity
+ chmod 0664 /sys/module/damon_reclaim/parameters/min_nr_regions
+ chown system system /sys/module/damon_reclaim/parameters/min_nr_regions
+ chmod 0664 /sys/module/damon_reclaim/parameters/nr_reclaim_tried_regions
+ chown system system /sys/module/damon_reclaim/parameters/nr_reclaim_tried_regions
+ chmod 0664 /sys/module/damon_reclaim/parameters/bytes_reclaim_tried_regions
+ chown system system /sys/module/damon_reclaim/parameters/bytes_reclaim_tried_regions
+ chmod 0664 /sys/module/damon_reclaim/parameters/nr_reclaimed_regions
+ chown system system /sys/module/damon_reclaim/parameters/nr_reclaimed_regions
+ chmod 0664 /sys/module/damon_reclaim/parameters/quota_ms
+ chown system system /sys/module/damon_reclaim/parameters/quota_ms
+ chmod 0664 /sys/module/damon_reclaim/parameters/quota_sz
+ chown system system /sys/module/damon_reclaim/parameters/quota_sz
+ chmod 0664 /sys/module/damon_reclaim/parameters/aggr_interval
+ chown system system /sys/module/damon_reclaim/parameters/aggr_interval
+ chmod 0664 /sys/module/damon_reclaim/parameters/wmarks_high
+ chown system system /sys/module/damon_reclaim/parameters/wmarks_high
+ chmod 0664 /sys/module/damon_reclaim/parameters/wmarks_mid
+ chown system system /sys/module/damon_reclaim/parameters/wmarks_mid
+ chmod 0664 /sys/module/damon_reclaim/parameters/wmarks_low
+ chown system system /sys/module/damon_reclaim/parameters/wmarks_low
+ chmod 0664 /sys/module/damon_reclaim/parameters/bytes_reclaimed_regions
+ chown system system /sys/module/damon_reclaim/parameters/bytes_reclaimed_regions
+ chmod 0664 /sys/module/damon_reclaim/parameters/wmarks_interval
+ chown system system /sys/module/damon_reclaim/parameters/wmarks_interval
+ chmod 0664 /sys/module/damon_reclaim/parameters/quota_reset_interval_ms
+ chown system system /sys/module/damon_reclaim/parameters/quota_reset_interval_ms
+ chmod 0664 /sys/module/damon_reclaim/parameters/can_reclaim
+ chown system system /sys/module/damon_reclaim/parameters/can_reclaim
+ chmod 0664 /sys/module/damon_reclaim/parameters/idle_time
+ chown system system /sys/module/damon_reclaim/parameters/idle_time
+
+ # mem_boost_mode_system
+ chmod 0664 /sys/kernel/mm/vmscan/mem_boost_mode_system
+ chown system system /sys/kernel/mm/vmscan/mem_boost_mode_system
+
+ # to access F2FS sysfs on dm- directly
+ mkdir /dev/sys/fs/by-name 0755 system system
+ symlink /sys/fs/f2fs/${dev.mnt.dev.data} /dev/sys/fs/by-name/userdata
+
+ # dev.mnt.dev.data=dm-N, dev.mnt.blk.data=sdaN/mmcblk0pN, dev.mnt.rootdisk.data=sda/mmcblk0, or
+ # dev.mnt.dev.data=sdaN/mmcblk0pN, dev.mnt.blk.data=sdaN/mmcblk0pN, dev.mnt.rootdisk.data=sda/mmcblk0
+ mkdir /dev/sys/block/by-name 0755 system system
+ symlink /sys/class/block/${dev.mnt.dev.data} /dev/sys/block/by-name/userdata
+ symlink /sys/class/block/${dev.mnt.rootdisk.data} /dev/sys/block/by-name/rootdisk
+
+ # F2FS tuning. Set cp_interval larger than dirty_expire_centisecs, 30 secs,
+ # to avoid power consumption when system becomes mostly idle. Be careful
+ # to make it too large, since it may bring userdata loss, if they
+ # are not aware of using fsync()/sync() to prepare sudden power-cut.
+ write /dev/sys/fs/by-name/userdata/cp_interval 200
+ write /dev/sys/fs/by-name/userdata/gc_urgent_sleep_time 50
+ write /dev/sys/fs/by-name/userdata/iostat_period_ms 1000
+ write /dev/sys/fs/by-name/userdata/iostat_enable 1
+
+ # set readahead multiplier for POSIX_FADV_SEQUENTIAL files
+ write /dev/sys/fs/by-name/userdata/seq_file_ra_mul 128
+
+ # limit discard size to 128MB in order to avoid long IO latency
+ # for filesystem tuning first (dm or sda)
+ # this requires enabling selinux entry for sda/mmcblk0 in vendor side
+ write /dev/sys/block/by-name/userdata/queue/discard_max_bytes 134217728
+ write /dev/sys/block/by-name/rootdisk/queue/discard_max_bytes 134217728
+
+ # System Performance - HyPer Permission
+ chown system system /sys/kernel/gpu/gpu_freq_table
+ chown system system /sys/kernel/gpu/gpu_governor
+ chown system system /sys/kernel/gpu/gpu_max_clock
+ chown system system /sys/kernel/gpu/gpu_min_clock
+ chown system system /sys/kernel/gpu/gpu_cl_boost_disable
+ chmod 0444 /sys/kernel/gpu/gpu_freq_table
+ chmod 0644 /sys/kernel/gpu/gpu_governor
+ chmod 0644 /sys/kernel/gpu/gpu_max_clock
+ chmod 0644 /sys/kernel/gpu/gpu_min_clock
+ chmod 0664 /sys/kernel/gpu/gpu_cl_boost_disable
+
+ # Permissions for System Server and daemons.
+ chown system system /sys/power/autosleep
+
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
+ chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
+
+ chown system system /sys/class/leds/vibrator/trigger
+ chown system system /sys/class/leds/vibrator/activate
+ chown system system /sys/class/leds/vibrator/brightness
+ chown system system /sys/class/leds/vibrator/duration
+ chown system system /sys/class/leds/vibrator/state
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/class/leds/keyboard-backlight/brightness
+ chown system system /sys/class/leds/lcd-backlight/brightness
+ chown system system /sys/class/leds/button-backlight/brightness
+ chown system system /sys/class/leds/jogball-backlight/brightness
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/module/sco/parameters/disable_esco
+ chown system system /sys/kernel/ipv4/tcp_wmem_min
+ chown system system /sys/kernel/ipv4/tcp_wmem_def
+ chown system system /sys/kernel/ipv4/tcp_wmem_max
+ chown system system /sys/kernel/ipv4/tcp_rmem_min
+ chown system system /sys/kernel/ipv4/tcp_rmem_def
+ chown system system /sys/kernel/ipv4/tcp_rmem_max
+ chown root radio /proc/cmdline
+ chown root system /proc/bootconfig
+
+ # block layer
+ chown root system /sys/kernel/blk_sec_wb/enable_ms
+ chmod 0664 /sys/kernel/blk_sec_wb/enable_ms
+
+ # UFS
+ # Permission for ufs clk scailing
+ chown system root /sys/class/scsi_host/host0/../../../clkscale_enable
+ chmod 660 /sys/class/scsi_host/host0/../../../clkscale_enable
+
+ chown system system /sys/class/scsi_host/host0/unique_number
+ chown system system /sys/block/sda/device/model
+ chown system system /sys/block/sda/device/rev
+ chown system system /sys/class/scsi_host/host0/lt
+ chown system system /sys/class/scsi_host/host0/lc
+ chmod 444 /sys/class/scsi_host/host0/lc
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_err_summary
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_err_sum
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_op_cnt
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_query_cnt
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_uic_cmd_cnt
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_uic_err_cnt
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_utp_cnt
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_fatal_cnt
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_TW_info
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_HPB_info
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_HPB_err_info
+ chown system system /sys/class/scsi_host/host0/SEC_UFS_s_info
+ chown system system /sys/class/scsi_host/host0/sense_err_count
+ chown system system /sys/class/scsi_host/host0/sense_err_logging
+ chown system system /sys/class/scsi_host/host0/man_date
+ chown system system /sys/class/scsi_host/host0/man_id
+ chown system system /sys/class/scsi_host/host0/hw_rst_info
+ chown system system /sys/block/sda/diskios
+ chmod 660 /sys/block/sda/diskios
+ chown system system /sys/block/mmcblk0/diskios
+ chmod 660 /sys/block/mmcblk0/diskios
+ chown system system /sys/block/sda/queue/io_volume_stats
+ chown system system /sys/block/sda/queue/tw_stats
+ chown system system /sys/kernel/blk_sec_stats/diskios
+ chmod 660 /sys/kernel/blk_sec_stats/diskios
+ chown system system /sys/block/sda/iomon
+ chown system system /sys/block/sda/hiotime
+ chown system system /sys/block/sda/iobd
+
+ # UFS from R OS
+ chown system system /sys/class/sec/ufs/un
+ chown system system /sys/class/sec/ufs/lc
+ chmod 444 /sys/class/sec/ufs/lc
+ chown system system /sys/class/sec/ufs/lt
+ chown system system /sys/class/sec/ufs/flt
+ chown system system /sys/class/sec/ufs/man_id
+ chown system system /sys/class/sec/ufs/eli
+ chown system system /sys/class/sec/ufs/ic
+ chown system system /sys/class/sec/ufs/shi
+ chown system system /sys/class/sec/ufs/transferred_cnt
+ chown system system /sys/class/sec/ufs/sec_wb_enable
+ chown system system /sys/class/sec/ufs/cmd_log
+ chown system system /sys/class/sec/ufs/hist
+ chown system system /sys/class/sec/ufs/post_ffu
+
+ # MMC / SDcard
+ chown system system /sys/block/mmcblk0/device/unique_number
+ chown system system /sys/class/sec/mmc/err_count
+ chown system system /sys/class/sec/mmc/mmc_data
+ chown system system /sys/class/sec/mmc/mmc_summary
+ chown system system /sys/class/sec/mmc/ic
+ chmod 444 /sys/class/sec/mmc/ic
+ chown system system /sys/class/sec/mmc/lc
+ chmod 444 /sys/class/sec/mmc/lc
+ chown system system /sys/class/sec/mmc/flt
+ chown system system /sys/block/mmcblk0/device/cid
+ chown system system /sys/block/mmcblk1/device/cid
+ chown system system /sys/class/sec/sdcard/status
+ chown system system /sys/class/sec/sdcard/cd_cnt
+ chown system system /sys/class/sec/sdcard/max_mode
+ chown system system /sys/class/sec/sdcard/current_mode
+ chown system system /sys/class/sec/sdcard/current_phase
+ chown system system /sys/class/sec/sdcard/sdcard_summary
+ chown system system /sys/class/sec/sdcard/err_count
+ chown system system /sys/class/sec/sddata/sd_data
+ chown system system /sys/class/sec/sdinfo/sd_count
+ chown system system /sys/class/sec/sdinfo/data
+ chown system system /sys/class/sec/sdinfo/fc
+ chown system system /sys/class/sec/sdinfo/reason
+
+ # eMMC from R OS
+ chown system system /sys/class/sec/mmc/un
+
+ # Permission for CS SVCAgent node for MaintenanceMODE
+ chown system system /data/log/SVCAgent.lst
+ chmod 0660 /data/log/SVCAgent.lst
+
+ chown system system /efs/sec_efs/SVC
+ chmod 0660 /efs/sec_efs/SVC
+ chown system system /efs/sec_efs/!SVC
+ chmod 0660 /efs/sec_efs/!SVC
+
+ mkdir /efs/sec_efs/PRH/ 0770 system system
+ mkdir /efs/sec_efs/PRH/genuine 0770 system system
+
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_AP
+ chown system system /efs/sec_efs/PRH/genuine/SVC_AP
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_front_module
+ chown system system /efs/sec_efs/PRH/genuine/SVC_front_module
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_rear_module
+ chown system system /efs/sec_efs/PRH/genuine/SVC_rear_module
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_rear_module2
+ chown system system /efs/sec_efs/PRH/genuine/SVC_rear_module2
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_rear_module3
+ chown system system /efs/sec_efs/PRH/genuine/SVC_rear_module3
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_rear_module4
+ chown system system /efs/sec_efs/PRH/genuine/SVC_rear_module4
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_upper_module
+ chown system system /efs/sec_efs/PRH/genuine/SVC_upper_module
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_OCTA
+ chown system system /efs/sec_efs/PRH/genuine/SVC_OCTA
+ chmod 0660 /efs/sec_efs/PRH/genuine/SVC_OCTA2
+ chown system system /efs/sec_efs/PRH/genuine/SVC_OCTA2
+
+# Permissions for Sbauth
+ chown system radio /sys/class/power_supply/sec_auth/presence
+ chmod 0664 /sys/class/power_supply/sec_auth/presence
+ chown system radio /sys/class/power_supply/sec_auth/batt_auth
+ chmod 0664 /sys/class/power_supply/sec_auth/batt_auth
+ chown system radio /sys/class/power_supply/sec_auth/decrement_counter
+ chmod 0664 /sys/class/power_supply/sec_auth/decrement_counter
+ chown system radio /sys/class/power_supply/sec_auth/first_use_date
+ chmod 0664 /sys/class/power_supply/sec_auth/first_use_date
+ chown system radio /sys/class/power_supply/sec_auth/use_date_wlock
+ chmod 0664 /sys/class/power_supply/sec_auth/use_date_wlock
+ chown system radio /sys/class/power_supply/sec_auth/batt_discharge_level
+ chmod 0664 /sys/class/power_supply/sec_auth/batt_discharge_level
+ chown system radio /sys/class/power_supply/sec_auth/batt_full_status_usage
+ chmod 0664 /sys/class/power_supply/sec_auth/batt_full_status_usage
+ chown system radio /sys/class/power_supply/sec_auth/bsoh
+ chmod 0664 /sys/class/power_supply/sec_auth/bsoh
+ chown system radio /sys/class/power_supply/sec_auth/bsoh_raw
+ chmod 0664 /sys/class/power_supply/sec_auth/bsoh_raw
+ chown system radio /sys/class/power_supply/sec_auth/qr_code
+ chmod 0664 /sys/class/power_supply/sec_auth/qr_code
+ chown system radio /sys/class/power_supply/sec_auth/asoc
+ chmod 0664 /sys/class/power_supply/sec_auth/asoc
+ chown system radio /sys/class/power_supply/sec_auth/cap_nom
+ chmod 0664 /sys/class/power_supply/sec_auth/cap_nom
+ chown system radio /sys/class/power_supply/sec_auth/cap_max
+ chmod 0664 /sys/class/power_supply/sec_auth/cap_max
+ chown system radio /sys/class/power_supply/sec_auth/batt_thm_min
+ chmod 0664 /sys/class/power_supply/sec_auth/batt_thm_min
+ chown system radio /sys/class/power_supply/sec_auth/batt_thm_max
+ chmod 0664 /sys/class/power_supply/sec_auth/batt_thm_max
+ chown system radio /sys/class/power_supply/sec_auth/unsafety_temp
+ chmod 0664 /sys/class/power_supply/sec_auth/unsafety_temp
+ chown system radio /sys/class/power_supply/sec_auth/vbat_ovp
+ chmod 0664 /sys/class/power_supply/sec_auth/vbat_ovp
+ chown system radio /sys/class/power_supply/sec_auth/recharging_count
+ chmod 0664 /sys/class/power_supply/sec_auth/recharging_count
+ chown system radio /sys/class/power_supply/sec_auth/safety_timer
+ chmod 0664 /sys/class/power_supply/sec_auth/safety_timer
+ chown system radio /sys/class/power_supply/sec_auth/drop_sensor
+ chmod 0664 /sys/class/power_supply/sec_auth/drop_sensor
+ chown system radio /sys/class/power_supply/sec_auth/sync_buf_mem
+ chmod 0664 /sys/class/power_supply/sec_auth/sync_buf_mem
+ chown system radio /sys/class/power_supply/sec_auth/sync_buf_mem_sts
+ chmod 0664 /sys/class/power_supply/sec_auth/sync_buf_mem_sts
+ chown system radio /sys/class/power_supply/sec_auth/fai_expired
+ chmod 0664 /sys/class/power_supply/sec_auth/fai_expired
+ chown system radio /sys/class/power_supply/sec_auth/chipname
+ chmod 0664 /sys/class/power_supply/sec_auth/chipname
+ chown system radio /sys/class/power_supply/sec_auth/batt_heatmap
+ chmod 0664 /sys/class/power_supply/sec_auth/batt_heatmap
+ chown system radio /sys/class/power_supply/battery/vk_key_status
+ chmod 0664 /sys/class/power_supply/battery/vk_key_status
+
+ chown system radio /sys/class/power_supply/sec_auth_2nd/presence
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/presence
+ chown system radio /sys/class/power_supply/sec_auth_2nd/batt_auth
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/batt_auth
+ chown system radio /sys/class/power_supply/sec_auth_2nd/decrement_counter
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/decrement_counter
+ chown system radio /sys/class/power_supply/sec_auth_2nd/first_use_date
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/first_use_date
+ chown system radio /sys/class/power_supply/sec_auth_2nd/use_date_wlock
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/use_date_wlock
+ chown system radio /sys/class/power_supply/sec_auth_2nd/batt_discharge_level
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/batt_discharge_level
+ chown system radio /sys/class/power_supply/sec_auth_2nd/batt_full_status_usage
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/batt_full_status_usage
+ chown system radio /sys/class/power_supply/sec_auth_2nd/bsoh
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/bsoh
+ chown system radio /sys/class/power_supply/sec_auth_2nd/bsoh_raw
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/bsoh_raw
+ chown system radio /sys/class/power_supply/sec_auth_2nd/qr_code
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/qr_code
+ chown system radio /sys/class/power_supply/sec_auth_2nd/asoc
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/asoc
+ chown system radio /sys/class/power_supply/sec_auth_2nd/cap_nom
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/cap_nom
+ chown system radio /sys/class/power_supply/sec_auth_2nd/cap_max
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/cap_max
+ chown system radio /sys/class/power_supply/sec_auth_2nd/batt_thm_min
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/batt_thm_min
+ chown system radio /sys/class/power_supply/sec_auth_2nd/batt_thm_max
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/batt_thm_max
+ chown system radio /sys/class/power_supply/sec_auth_2nd/unsafety_temp
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/unsafety_temp
+ chown system radio /sys/class/power_supply/sec_auth_2nd/vbat_ovp
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/vbat_ovp
+ chown system radio /sys/class/power_supply/sec_auth_2nd/recharging_count
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/recharging_count
+ chown system radio /sys/class/power_supply/sec_auth_2nd/safety_timer
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/safety_timer
+ chown system radio /sys/class/power_supply/sec_auth_2nd/drop_sensor
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/drop_sensor
+ chown system radio /sys/class/power_supply/sec_auth_2nd/sync_buf_mem
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/sync_buf_mem
+ chown system radio /sys/class/power_supply/sec_auth_2nd/sync_buf_mem_sts
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/sync_buf_mem_sts
+ chown system radio /sys/class/power_supply/sec_auth_2nd/fai_expired
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/fai_expired
+ chown system radio /sys/class/power_supply/sec_auth_2nd/chipname
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/chipname
+ chown system radio /sys/class/power_supply/sec_auth_2nd/batt_heatmap
+ chmod 0664 /sys/class/power_supply/sec_auth_2nd/batt_heatmap
+
+ # Permissions for Charging
+ mkdir /efs/Battery 0775 radio system
+ chown radio system /efs/Battery
+ chmod 0775 /efs/Battery
+ chown system system /data/vendor/log/chg
+ chmod 0775 /data/vendor/log/chg
+ chown system system /data/vendor/log/chg/battery_dump1
+ chown system system /data/vendor/log/chg/battery_dump2
+ copy /system/vendor/firmware/battery_data.dat /efs/Battery/battery_data.dat
+ chmod 0400 /efs/Battery/battery_data.dat
+ write /sys/class/power_supply/battery/batt_update_data "/efs/Battery/battery_data.dat"
+ chown system radio /sys/class/power_supply/battery/batt_ext_dev_chg
+ chown system radio /sys/class/power_supply/battery/batt_temp_control_test
+ chown system radio /efs/Battery/fg_full_voltage
+ chown system radio /sys/class/power_supply/battery/fg_full_voltage
+ chown system radio /sys/class/power_supply/battery/batt_self_discharging_control
+ chown system radio /sys/class/power_supply/battery/batt_inbat_wireless_cs100
+ chmod 0664 /efs/Battery/fg_full_voltage
+ chmod 0664 /sys/class/power_supply/battery/fg_full_voltage
+ chown system radio /sys/class/power_supply/battery/test_mode
+ chown system radio /sys/class/power_supply/battery/batt_reset_soc
+ chown system radio /sys/class/power_supply/battery/batt_slate_mode
+ chown system radio /sys/class/power_supply/battery/batt_swelling_control
+ chown system radio /sys/class/power_supply/battery/batt_battery_id
+ chown system radio /sys/class/power_supply/battery/batt_sub_battery_id
+ chown system radio /sys/class/power_supply/battery/factory_mode
+ chown system radio /sys/class/power_supply/battery/siop_level
+ chown system radio /sys/class/power_supply/battery/siop_event
+ chown system radio /sys/class/power_supply/battery/batt_temp
+ chown system radio /sys/class/power_supply/battery/wc_enable
+ chown system radio /sys/class/power_supply/battery/factory_mode_relieve
+ chown system radio /sys/class/power_supply/battery/factory_mode_bypass
+ chown system system /sys/class/power_supply/battery/normal_mode_bypass
+ chown system radio /sys/class/power_supply/battery/factory_voltage_regulation
+ chown system radio /sys/class/power_supply/battery/factory_mode_disable
+ chown system radio /sys/class/power_supply/battery/batt_pon_ocv
+ chown system radio /sys/class/power_supply/battery/batt_user_pon_ocv
+ chown system radio /sys/class/power_supply/battery/set_ship_mode
+ chmod 0664 /sys/class/power_supply/battery/set_ship_mode
+ chown system nfc /sys/class/power_supply/battery/wc_control
+ chown system nfc /sys/class/power_supply/battery/wc_control_cnt
+ chown system nfc /sys/class/power_supply/battery/led_cover
+ chown system radio /sys/class/power_supply/battery/update
+ chown system radio /sys/class/power_supply/battery/batt_wdt_control
+ chown system sdcard_rw /sys/class/power_supply/battery/store_mode
+ chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/call
+ chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/video
+ chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/music
+ chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/browser
+ chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/hotspot
+ chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/camera
+ chown system radio /sys/class/power_supply/battery/talk_wcdma
+ chown system radio /sys/class/power_supply/battery/talk_gsm
+ chown system radio /sys/class/power_supply/battery/call
+ chown system radio /sys/class/power_supply/battery/data_call
+ chown system radio /sys/class/power_supply/battery/gps
+ chown system radio /sys/class/power_supply/battery/wifi
+ chown system radio /sys/class/power_supply/battery/lte
+ chown system radio /sys/class/power_supply/battery/lcd
+ chown system radio /sys/class/power_supply/ps/status
+ chmod 0664 /sys/class/power_supply/battery/wc_control
+ chmod 0664 /sys/class/power_supply/battery/wc_control_cnt
+ chmod 0664 /sys/class/power_supply/battery/led_cover
+ chmod 0664 /sys/class/power_supply/ps/status
+ chmod 0664 /sys/class/power_supply/battery/batt_temp_table
+ chown system radio /sys/class/power_supply/battery/batt_temp_table
+ chown system radio /sys/class/power_supply/battery/batt_high_current_usb
+ chown system radio /sys/class/power_supply/battery/batt_inbat_voltage
+ chmod 0664 /sys/class/power_supply/battery/batt_high_current_usb
+ chown system radio /sys/class/power_supply/battery/hmt_ta_connected
+ chown system radio /sys/class/power_supply/battery/hmt_ta_charge
+ chown system radio /sys/class/power_supply/battery/battery_cycle
+ chown system radio /sys/class/power_supply/otg/online
+ chmod 0664 /sys/class/power_supply/otg/online
+ chown system radio /sys/class/power_supply/battery/charge_otg_control
+ chown system radio /sys/class/power_supply/battery/charge_uno_control
+ chown system radio /sys/class/power_supply/battery/batt_wireless_firmware_update
+ chown system radio /sys/class/power_supply/battery/otp_firmware_result
+ chown system radio /sys/class/power_supply/battery/wc_ic_grade
+ chown system radio /sys/class/power_supply/battery/wc_ic_chip_id
+ chown system radio /sys/class/power_supply/battery/otp_firmware_ver_bin
+ chown system radio /sys/class/power_supply/battery/otp_firmware_ver
+ chown system radio /sys/class/power_supply/battery/tx_firmware_result
+ chown system radio /sys/class/power_supply/battery/batt_tx_firmware
+ chown system radio /sys/class/power_supply/battery/batt_hv_wireless_status
+ chown system radio /sys/class/power_supply/battery/batt_hv_wireless_pad_ctrl
+ chmod 0664 /sys/class/power_supply/battery/charge_otg_control
+ chmod 0664 /sys/class/power_supply/battery/charge_uno_control
+ chmod 0664 /sys/class/power_supply/battery/batt_wireless_firmware_update
+ chmod 0664 /sys/class/power_supply/battery/otp_firmware_result
+ chmod 0664 /sys/class/power_supply/battery/wc_ic_grade
+ chmod 0664 /sys/class/power_supply/battery/wc_ic_chip_id
+ chmod 0664 /sys/class/power_supply/battery/otp_firmware_ver_bin
+ chmod 0664 /sys/class/power_supply/battery/otp_firmware_ver
+ chmod 0664 /sys/class/power_supply/battery/tx_firmware_result
+ chmod 0664 /sys/class/power_supply/battery/tx_firmware_ver
+ chmod 0664 /sys/class/power_supply/battery/batt_tx_firmware
+ chmod 0664 /sys/class/power_supply/battery/batt_hv_wireless_status
+ chmod 0664 /sys/class/power_supply/battery/batt_hv_wireless_pad_ctrl
+ chown system radio /sys/class/power_supply/battery/tx_firmware_result
+ chown system radio /sys/class/power_supply/battery/batt_tune_chg_limit_cur
+ chown system radio /sys/class/power_supply/battery/batt_tune_chg_temp_high
+ chown system radio /sys/class/power_supply/battery/batt_tune_chg_temp_rec
+ chown system radio /sys/class/power_supply/battery/batt_tune_coil_limit_cur
+ chown system radio /sys/class/power_supply/battery/batt_tune_coil_temp_high
+ chown system radio /sys/class/power_supply/battery/batt_tune_coil_temp_rec
+ chown system radio /sys/class/power_supply/battery/batt_tune_wpc_temp_high
+ chown system radio /sys/class/power_supply/battery/batt_tune_wpc_temp_high_rec
+ chown system radio /sys/class/power_supply/battery/batt_tune_dchg_temp_high
+ chown system radio /sys/class/power_supply/battery/batt_tune_dchg_temp_high_rec
+ chown system radio /sys/class/power_supply/battery/batt_tune_dchg_batt_temp_high
+ chown system radio /sys/class/power_supply/battery/batt_tune_dchg_batt_temp_high_rec
+ chown system radio /sys/class/power_supply/battery/batt_tune_dchg_limit_input_cur
+ chown system radio /sys/class/power_supply/battery/batt_tune_dchg_limit_chg_cur
+ chown system radio /sys/class/power_supply/battery/batt_tune_fast_charge_current
+ chown system radio /sys/class/power_supply/battery/batt_tune_float_voltage
+ chown system radio /sys/class/power_supply/battery/batt_tune_input_charge_current
+ chown system radio /sys/class/power_supply/battery/batt_tune_temp_high_event
+ chown system radio /sys/class/power_supply/battery/batt_tune_temp_high_normal
+ chown system radio /sys/class/power_supply/battery/batt_tune_temp_high_rec_event
+ chown system radio /sys/class/power_supply/battery/batt_tune_temp_high_rec_normal
+ chown system radio /sys/class/power_supply/battery/batt_tune_temp_low_event
+ chown system radio /sys/class/power_supply/battery/batt_tune_temp_low_normal
+ chown system radio /sys/class/power_supply/battery/batt_tune_temp_low_rec_event
+ chown system radio /sys/class/power_supply/battery/batt_tune_temp_low_rec_normal
+ chown system radio /sys/class/power_supply/battery/batt_tune_ui_term_cur_1st
+ chown system radio /sys/class/power_supply/battery/batt_tune_ui_term_cur_2nd
+ chown system radio /sys/class/power_supply/battery/batt_misc_event
+ chown system radio /sys/class/power_supply/battery/batt_tx_event
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_chg_limit_cur
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_chg_temp_high
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_chg_temp_rec
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_coil_limit_cur
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_coil_temp_high
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_coil_temp_rec
+ chown 0664 /sys/class/power_supply/battery/batt_tune_wpc_temp_high
+ chown 0664 /sys/class/power_supply/battery/batt_tune_wpc_temp_high_rec
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_dchg_temp_high
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_dchg_temp_high_rec
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_dchg_batt_temp_high
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_dchg_batt_temp_high_rec
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_dchg_limit_input_cur
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_dchg_limit_chg_cur
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_fast_charge_current
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_float_voltage
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_input_charge_current
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_temp_high_normal
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_temp_high_rec_normal
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_temp_low_normal
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_temp_low_rec_normal
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_ui_term_cur_1st
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_ui_term_cur_2nd
+ chown system radio /sys/class/power_supply/battery/batt_tune_lrp_temp_high
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_lrp_temp_high
+ chown system radio /sys/class/power_supply/battery/batt_tune_lrp_temp_rec
+ chmod 0664 /sys/class/power_supply/battery/batt_tune_lrp_temp_rec
+ chmod 0664 /sys/class/power_supply/battery/batt_misc_event
+ chmod 0664 /sys/class/power_supply/battery/batt_tx_event
+ chown system radio /sys/class/power_supply/battery/batt_filter_cfg
+ chown system radio /sys/class/power_supply/battery/batt_current_ua_avg
+ chown system radio /sys/class/power_supply/battery/batt_current_ua_now
+ chown system radio /sys/class/power_supply/battery/voltage_avg
+ chown system radio /sys/class/power_supply/battery/voltage_now
+ chown system radio /sys/class/power_supply/battery/mode
+ chown system radio /sys/class/power_supply/battery/safety_timer_set
+ chown system radio /sys/class/power_supply/battery/safety_timer_info
+ chown system radio /sys/class/power_supply/battery/batt_temp_test
+ chown system radio /sys/class/power_supply/battery/vbus_value
+ chown system radio /sys/class/power_supply/battery/dchg_temp
+ chmod 0664 /sys/class/power_supply/battery/dchg_temp
+ chown system radio /sys/class/power_supply/battery/dchg_temp_adc
+ chmod 0664 /sys/class/power_supply/battery/dchg_temp_adc
+ chown system radio /sys/class/power_supply/battery/blkt_temp
+ chmod 0664 /sys/class/power_supply/battery/blkt_temp
+ chown system radio /sys/class/power_supply/battery/blkt_temp_adc
+ chmod 0664 /sys/class/power_supply/battery/blkt_temp_adc
+ chown system radio /sys/class/power_supply/battery/dchg_adc_mode_ctrl
+ chmod 0664 /sys/class/power_supply/battery/dchg_adc_mode_ctrl
+ chown system radio /sys/class/power_supply/battery/dchg_read_batp_batn
+ chmod 0664 /sys/class/power_supply/battery/dchg_read_batp_batn
+ chown system radio /sys/class/power_supply/battery/batt_type
+ chmod 0660 /sys/class/power_supply/battery/batt_type
+ chown system system /efs/FactoryApp/cisd_data
+ chmod 0660 /efs/FactoryApp/cisd_data
+ chown system radio /sys/class/power_supply/battery/cisd_wc_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_wc_data_json
+ chmod 0664 /sys/class/power_supply/battery/mode
+ chown system radio /sys/class/power_supply/battery/wc_op_freq
+ chmod 0664 /sys/class/power_supply/battery/wc_op_freq
+ chown system radio /sys/class/power_supply/battery/wc_cmd_info
+ chmod 0664 /sys/class/power_supply/battery/wc_cmd_info
+ chown system radio /sys/class/power_supply/battery/error_cause
+ chmod 0440 /sys/class/power_supply/battery/error_cause
+ chown system radio /sys/class/power_supply/battery/batt_capacity_max
+ chmod 0660 /sys/class/power_supply/battery/batt_capacity_max
+ chown radio system /efs/Battery/batt_capacity_max
+ chmod 0664 /efs/Battery/batt_capacity_max
+ chown system radio /sys/class/power_supply/battery/batt_soc_rechg
+ chmod 0664 /sys/class/power_supply/battery/batt_soc_rechg
+ chown system radio /sys/class/power_supply/battery/batt_repcap_1st
+ chmod 0660 /sys/class/power_supply/battery/batt_repcap_1st
+ chown radio system /efs/Battery/batt_repcap_1st
+ chmod 0664 /efs/Battery/batt_repcap_1st
+ chown system radio /sys/class/power_supply/battery/batt_type
+ chmod 0660 /sys/class/power_supply/battery/batt_type
+ chown system radio /sys/class/power_supply/battery/cisd_fullcaprep_max
+ chmod 0660 /sys/class/power_supply/battery/cisd_fullcaprep_max
+ chown system radio /sys/class/power_supply/battery/cisd_wire_count
+ chmod 0660 /sys/class/power_supply/battery/cisd_wire_count
+ chown system radio /sys/class/power_supply/battery/cisd_data
+ chmod 0660 /sys/class/power_supply/battery/cisd_data
+ chown system system /efs/FactoryApp/cisd_data
+ chmod 0660 /efs/FactoryApp/cisd_data
+ chown system radio /sys/class/power_supply/battery/cisd_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_data_json
+ chown system radio /sys/class/power_supply/battery/cisd_data_d_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_data_d_json
+ chown system radio /sys/class/power_supply/battery/cisd_wc_data
+ chmod 0660 /sys/class/power_supply/battery/cisd_wc_data
+ chown system system /efs/FactoryApp/cisd_wc_data
+ chmod 0660 /efs/FactoryApp/cisd_wc_data
+ chown system radio /sys/class/power_supply/battery/cisd_wc_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_wc_data_json
+ chown system system /efs/FactoryApp/sbm_log.log
+ chmod 0664 /efs/FactoryApp/sbm_log.log
+ chown system system /efs/FactoryApp/cursorPos
+ chmod 0660 /efs/FactoryApp/cursorPos
+ chown system radio /sys/class/power_supply/battery/cisd_power_data
+ chmod 0660 /sys/class/power_supply/battery/cisd_power_data
+ chown system system /efs/FactoryApp/cisd_power_data
+ chmod 0660 /efs/FactoryApp/cisd_power_data
+ chown system radio /sys/class/power_supply/battery/cisd_power_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_power_data_json
+ chown system radio /sys/class/power_supply/battery/cisd_pd_data
+ chmod 0660 /sys/class/power_supply/battery/cisd_pd_data
+ chown system system /efs/FactoryApp/cisd_pd_data
+ chmod 0660 /efs/FactoryApp/cisd_pd_data
+ chown system radio /sys/class/power_supply/battery/cisd_pd_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_pd_data_json
+ chown system radio /sys/class/power_supply/battery/cisd_dcerr_data
+ chmod 0660 /sys/class/power_supply/battery/cisd_dcerr_data
+ chown system system /efs/FactoryApp/cisd_dcerr_data
+ chmod 0660 /efs/FactoryApp/cisd_dcerr_data
+ chown system radio /sys/class/power_supply/battery/cisd_dcerr_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_dcerr_data_json
+ chown system radio /sys/class/power_supply/battery/cisd_cable_data
+ chmod 0660 /sys/class/power_supply/battery/cisd_cable_data
+ chown system system /efs/FactoryApp/cisd_cable_data
+ chmod 0660 /efs/FactoryApp/cisd_cable_data
+ chown system radio /sys/class/power_supply/battery/cisd_cable_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_cable_data_json
+ chown system radio /sys/class/power_supply/battery/cisd_tx_data
+ chmod 0660 /sys/class/power_supply/battery/cisd_tx_data
+ chown system system /efs/FactoryApp/cisd_tx_data
+ chmod 0660 /efs/FactoryApp/cisd_tx_data
+ chown system radio /sys/class/power_supply/battery/cisd_tx_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_tx_data_json
+ chown system radio /sys/class/power_supply/battery/cisd_event_data
+ chmod 0660 /sys/class/power_supply/battery/cisd_event_data
+ chown system system /efs/FactoryApp/cisd_event_data
+ chmod 0660 /efs/FactoryApp/cisd_event_data
+ chown system radio /sys/class/power_supply/battery/cisd_event_data_json
+ chmod 0660 /sys/class/power_supply/battery/cisd_event_data_json
+ chown system system /sys/class/power_supply/battery/fg_asoc
+ chmod 0660 /sys/class/power_supply/battery/fg_asoc
+ chown system system /sys/class/power_supply/battery/batt_main_raw_soc
+ chmod 0660 /sys/class/power_supply/battery/batt_main_raw_soc
+ chown system system /sys/class/power_supply/battery/batt_sub_raw_soc
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_raw_soc
+ chown system system /sys/class/power_supply/battery/fg_capacity
+ chmod 0640 /sys/class/power_supply/battery/fg_capacity
+ chown system system /sys/class/power_supply/battery/fg_fullcapnom
+ chmod 0640 /sys/class/power_supply/battery/fg_fullcapnom
+ chown system system /sys/class/power_supply/battery/batt_jig_gpio
+ chmod 0664 /sys/class/power_supply/battery/batt_jig_gpio
+ chown system radio /sys/class/power_supply/battery/wc_tx_en
+ chmod 0664 /sys/class/power_supply/battery/wc_tx_en
+ chown system system /dev/batt_misc
+ chmod 0664 /dev/batt_misc
+ chown system radio /sys/class/power_supply/battery/wpc_op_mode
+ chmod 0660 /sys/class/power_supply/battery/wpc_op_mode
+ chown system radio /sys/class/power_supply/battery/wpc_qi_ver
+ chmod 0660 /sys/class/power_supply/battery/wpc_qi_ver
+ chown system radio /sys/class/power_supply/battery/wpc_auth_mode
+ chmod 0660 /sys/class/power_supply/battery/wpc_auth_mode
+
+ chown system radio /sys/class/power_supply/battery/wc_tx_stop_capacity
+ chmod 0660 /sys/class/power_supply/battery/wc_tx_stop_capacity
+ chown system radio /sys/class/power_supply/battery/wc_tx_vout
+ chmod 0664 /sys/class/power_supply/battery/wc_tx_vout
+ chown system radio /sys/class/power_supply/battery/batt_tx_status
+ chmod 0664 /sys/class/power_supply/battery/batt_tx_status
+ chown system radio /sys/class/power_supply/battery/wc_rx_connected
+ chmod 0660 /sys/class/power_supply/battery/wc_rx_connected
+ chown system radio /sys/class/power_supply/battery/wc_tx_mfc_vin_from_uno
+ chmod 0660 /sys/class/power_supply/battery/wc_tx_mfc_vin_from_uno
+ chown system radio /sys/class/power_supply/battery/wc_tx_mfc_iin_from_uno
+ chmod 0660 /sys/class/power_supply/battery/wc_tx_mfc_iin_from_uno
+ chown system radio /sys/class/power_supply/battery/wc_tx_avg_curr
+ chmod 0660 /sys/class/power_supply/battery/wc_tx_avg_curr
+ chown system radio /sys/class/power_supply/battery/wc_tx_total_pwr
+ chmod 0660 /sys/class/power_supply/battery/wc_tx_total_pwr
+ chown system radio /sys/class/power_supply/battery/wc_tx_id
+ chmod 0664 /sys/class/power_supply/battery/wc_tx_id
+ chown system radio /sys/class/power_supply/battery/wc_auth_adt_sent
+ chmod 0660 /sys/class/power_supply/battery/wc_auth_adt_sent
+ chown system radio /sys/class/power_supply/battery/wc_duo_rx_power
+ chmod 0660 /sys/class/power_supply/battery/wc_duo_rx_power
+ chown system radio /sys/class/power_supply/battery/ext_event
+ chmod 0660 /sys/class/power_supply/battery/ext_event
+ chown system system /sys/class/power_supply/battery/batt_shipmode_test
+ chmod 0660 /sys/class/power_supply/battery/batt_shipmode_test
+ chown system system /sys/class/power_supply/battery/batt_main_shipmode
+ chmod 0660 /sys/class/power_supply/battery/batt_main_shipmode
+ chown system system /sys/class/power_supply/battery/batt_sub_shipmode
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_shipmode
+ chown system system /sys/class/power_supply/battery/spsn_test
+ chmod 0660 /sys/class/power_supply/battery/spsn_test
+ chown system system /sys/class/power_supply/battery/batt_misc_test
+ chmod 0664 /sys/class/power_supply/battery/batt_misc_test
+ chown system radio /sys/class/power_supply/battery/vbyp_voltage
+ chmod 0660 /sys/class/power_supply/battery/vbyp_voltage
+ chown system radio /sys/class/power_supply/battery/batt_main_voltage
+ chmod 0660 /sys/class/power_supply/battery/batt_main_voltage
+ chown system radio /sys/class/power_supply/battery/batt_sub_voltage
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_voltage
+ chown system radio /sys/class/power_supply/battery/batt_main_vcell
+ chmod 0660 /sys/class/power_supply/battery/batt_main_vcell
+ chown system radio /sys/class/power_supply/battery/batt_sub_vcell
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_vcell
+ chown system radio /sys/class/power_supply/battery/batt_main_vchg
+ chmod 0660 /sys/class/power_supply/battery/batt_main_vchg
+ chown system radio /sys/class/power_supply/battery/batt_sub_vchg
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_vchg
+ chown system radio /sys/class/power_supply/battery/batt_main_current_ma
+ chmod 0660 /sys/class/power_supply/battery/batt_main_current_ma
+ chown system radio /sys/class/power_supply/battery/batt_sub_current_ma
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_current_ma
+ chown system radio /sys/class/power_supply/battery/batt_main_con_det
+ chmod 0660 /sys/class/power_supply/battery/batt_main_con_det
+ chown system radio /sys/class/power_supply/battery/batt_sub_con_det
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_con_det
+ chown system radio /sys/class/power_supply/battery/batt_main_enb
+ chmod 0660 /sys/class/power_supply/battery/batt_main_enb
+ chown system radio /sys/class/power_supply/battery/batt_sub_enb
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_enb
+ chown system radio /sys/class/power_supply/battery/batt_sub_pwr_mode2
+ chmod 0660 /sys/class/power_supply/battery/batt_sub_pwr_mode2
+ chown system system /sys/class/power_supply/battery/ss_factory_mode
+ chmod 0660 /sys/class/power_supply/battery/ss_factory_mode
+ chown system system /sys/class/power_supply/battery/factory_charging_test
+ chmod 0660 /sys/class/power_supply/battery/factory_charging_test
+ chown system radio /sys/class/power_supply/battery/direct_charging_status
+ chmod 0660 /sys/class/power_supply/battery/direct_charging_status
+ chown system radio /sys/class/power_supply/battery/direct_charging_step
+ chmod 0660 /sys/class/power_supply/battery/direct_charging_step
+ chown system radio /sys/class/power_supply/battery/direct_charging_total_step
+ chmod 0660 /sys/class/power_supply/battery/direct_charging_total_step
+ chown system radio /sys/class/power_supply/battery/direct_charging_chg_status
+ chmod 0660 /sys/class/power_supply/battery/direct_charging_chg_status
+ chown system radio /sys/class/power_supply/battery/direct_charging_ratio
+ chmod 0660 /sys/class/power_supply/battery/direct_charging_ratio
+ chown system radio /sys/class/power_supply/battery/switch_charging_source
+ chmod 0660 /sys/class/power_supply/battery/switch_charging_source
+ chown system system /sys/class/power_supply/battery/dchg_adc_mode_ctrl
+ chmod 0664 /sys/class/power_supply/battery/dchg_adc_mode_ctrl
+ chown system radio /sys/class/power_supply/battery/pass_through
+ chmod 0660 /sys/class/power_supply/battery/pass_through
+ chown system radio /sys/class/power_supply/battery/boot_complete
+ chmod 0660 /sys/class/power_supply/battery/boot_complete
+ chown system radio /sys/class/power_supply/battery/batt_tune_wireless_vout_current
+ chmod 0660 /sys/class/power_supply/battery/batt_tune_wireless_vout_current
+ chown system radio /sys/class/power_supply/battery/pd_disable
+ chmod 0664 /sys/class/power_supply/battery/pd_disable
+ chown system radio /sys/class/power_supply/battery/wc_param_info
+ chmod 0440 /sys/class/power_supply/battery/wc_param_info
+ chown system radio /sys/class/power_supply/battery/batt_full_capacity
+ chmod 0660 /sys/class/power_supply/battery/batt_full_capacity
+ chown system system /efs/Battery/batt_full_capacity
+ chmod 0660 /efs/Battery/batt_full_capacity
+ chown system radio /sys/class/power_supply/battery/batt_after_manufactured
+ chmod 0664 /sys/class/power_supply/battery/batt_after_manufactured
+ chown system radio /sys/class/power_supply/wireless/sgf
+ chmod 0666 /sys/class/power_supply/wireless/sgf
+ chown system radio /sys/class/power_supply/battery/lrp
+ chmod 0664 /sys/class/power_supply/battery/lrp
+ chown system system /sys/class/power_supply/battery/battery_dump
+ chmod 0660 /sys/class/power_supply/battery/battery_dump
+ chown system radio /sys/class/power_supply/battery/dc_rb_en
+ chmod 0660 /sys/class/power_supply/battery/dc_rb_en
+ chown system radio /sys/class/power_supply/battery/dc_op_mode
+ chmod 0660 /sys/class/power_supply/battery/dc_op_mode
+ chown system radio /sys/class/power_supply/battery/dc_adc_mode
+ chmod 0660 /sys/class/power_supply/battery/dc_adc_mode
+ chown system radio /sys/class/power_supply/battery/dc_vbus
+ chmod 0660 /sys/class/power_supply/battery/dc_vbus
+ chown system radio /sys/class/power_supply/battery/chg_soc_lim
+ chmod 0660 /sys/class/power_supply/battery/chg_soc_lim
+ chown system radio /sys/class/power_supply/battery/err_wthm
+ chmod 0660 /sys/class/power_supply/battery/err_wthm
+ chown radio system /efs/Battery/err_wthm
+ chmod 0664 /efs/Battery/err_wthm
+ chown system radio /sys/class/power_supply/battery/ari_cnt
+ chmod 0664 /sys/class/power_supply/battery/ari_cnt
+ chown system log /efs/FactoryApp/asoc
+ chmod 0660 /efs/FactoryApp/asoc
+ chown system system /efs/Battery/batt_soc_rechg
+ chmod 0660 /efs/Battery/batt_soc_rechg
+ chown system radio /sys/class/power_supply/battery/support_functions
+ chmod 0664 /sys/class/power_supply/battery/support_functions
+ chown system radio /sys/class/power_supply/battery/mag_cover
+ chmod 0664 /sys/class/power_supply/battery/mag_cover
+ chown system radio /sys/class/power_supply/battery/mag_value
+ chmod 0664 /sys/class/power_supply/battery/mag_value
+ chown system radio /sys/class/power_supply/battery/ocpwarn
+ chmod 0664 /sys/class/power_supply/battery/ocpwarn
+ chown system radio /sys/class/power_supply/battery/state_of_health
+
+ #Permissions for SBP FG
+ chown system radio /sys/class/power_supply/sbp-fg/type
+ chown system radio /sys/class/power_supply/sbp-fg/cycle
+ chown system radio /sys/class/power_supply/sbp-fg/qr_code
+ chown system radio /sys/class/power_supply/sbp-fg/battery_state_of_health
+ chown system radio /sys/class/power_supply/sbp-fg/soc
+ chown system radio /sys/class/power_supply/sbp-fg/first_use_date
+ chmod 0664 /sys/class/power_supply/sbp-fg/first_use_date
+ chown system radio /sys/class/power_supply/sbp-fg-2/type
+ chown system radio /sys/class/power_supply/sbp-fg-2/cycle
+ chown system radio /sys/class/power_supply/sbp-fg-2/qr_code
+ chown system radio /sys/class/power_supply/sbp-fg-2/battery_state_of_health
+ chown system radio /sys/class/power_supply/sbp-fg-2/soc
+ chown system radio /sys/class/power_supply/sbp-fg-2/first_use_date
+ chmod 0664 /sys/class/power_supply/sbp-fg-2/first_use_date
+
+# Camera Start
+ # Camera::Rear Start
+ # Camera::Rear1
+ chown system system /sys/class/camera/rear/cam_cdr_value
+ chmod 0777 /sys/class/camera/rear/cam_cdr_value
+ chown system system /sys/class/camera/rear/cam_cdr_result
+ chmod 0777 /sys/class/camera/rear/cam_cdr_result
+ chown system system /sys/class/camera/rear/cam_cdr_fastaec
+ chmod 0777 /sys/class/camera/rear/cam_cdr_fastaec
+
+ # Permissions for Qi auth
+ mkdir /efs/Battery/qi_digests 0775 radio system
+ chown radio system /efs/Battery/qi_digests
+ chmod 0775 /efs/Battery/qi_digests
+
+ # VIB F0 CAL for Repair Mode
+ chown system system /efs/FactoryApp/vibrator_calibration
+ chmod 0664 /efs/FactoryApp/vibrator_calibration
+ chown system system /efs/FactoryApp/vibrator_le
+ chmod 0664 /efs/FactoryApp/vibrator_le
+
+ # DHALL CAL for Folder/Flip Repair Mode
+ chown system system /efs/FactoryApp/digital_hall
+ chmod 0664 /efs/FactoryApp/digital_hall
+
+ # MTP device permission
+ chmod 0660 /dev/usb_mtp_gadget
+ chown system mtp /dev/usb_mtp_gadget
+ mkdir /dev/socket/mtp 0770 system mtp
+
+ # Permissions for ABC(Abnormal Behavior Catcher)
+ chown system radio /sys/class/sec/sec_abc/enabled
+ chmod 0664 /sys/class/sec/sec_abc/enabled
+ chown system radio /sys/class/sec/sec_abc/spec
+ chmod 0664 /sys/class/sec/sec_abc/spec
+ chown system radio /sys/class/sec/sec_abc/log
+ chmod 0664 /sys/class/sec/sec_abc/log
+ chown system radio /sys/class/sec/sec_abc/testinfo
+ chmod 0664 /sys/class/sec/sec_abc/testinfo
+ chown system radio /sys/class/sec/sec_abc/features
+ chmod 0644 /sys/class/sec/sec_abc/features
+ chown system radio /sys/class/sec/sec_abc/list
+ chmod 0644 /sys/class/sec/sec_abc/list
+ chown system radio /sys/class/sec/sec_abc_hub/enable
+ chmod 0664 /sys/class/sec/sec_abc_hub/enable
+ chown system radio /sys/class/sec/sec_abc_hub/bootc_offset
+ chmod 0664 /sys/class/sec/sec_abc_hub/bootc_offset
+ chown system radio /sys/class/sec/sec_abc_hub/bootc_time
+ chmod 0664 /sys/class/sec/sec_abc_hub/bootc_time
+
+ # Switch Device
+ chown system radio /sys/class/sec/switch/usb_sel
+ chown system radio /sys/class/sec/switch/uart_sel
+ chown system radio /sys/class/sec/switch/uart_en
+ chown system radio /sys/class/sec/switch/otg_test
+ chown system radio /sys/class/sec/switch/apo_factory
+ chown system radio /sys/class/sec/switch/afc_disable
+ chown system radio /sys/class/sec/switch/afc_set_voltage
+ chown system radio /sys/class/sec/switch/hiccup
+ chown system radio /sys/class/sec/switch/jig_disable
+ chown system radio /sys/class/sec/switch/factory_uart
+
+ # Permission for type-c manager
+ chown system radio /sys/class/sec/typec_manager/fac_usb_control
+
+ # TMU: SDTM: big data
+ chown system system /sys/kernel/exynos-thermal/time_in_state_json
+ chmod 0400 /sys/kernel/exynos-thermal/time_in_state_json
+
+ # Permission for CCIC
+ chown system radio /sys/class/sec/ccic/lpm_mode
+ chmod 0664 /sys/class/sec/ccic/lpm_mode
+ chown system system /sys/class/sec/ccic/control_gpio
+ chmod 0660 /sys/class/sec/ccic/control_gpio
+ chown system radio /sys/class/sec/ccic/fw_update
+ chmod 0220 /sys/class/sec/ccic/fw_update
+ chown system radio /sys/class/sec/ccic/role_swap
+ chmod 0220 /sys/class/sec/ccic/role_swap
+ chown system usb /sys/class/sec/ccic/dex_fan_uvdm
+ chmod 0220 /sys/class/sec/ccic/dex_fan_uvdm
+ chown system usb /sys/class/sec/ccic/samsung_uvdm
+ chmod 0220 /sys/class/sec/ccic/samsung_uvdm
+ chown system radio /sys/class/sec/ccic/ccic_control_option
+ chown system system /sys/class/sec/ccic/cc_pin_status
+ chmod 0440 /sys/class/sec/ccic/cc_pin_status
+ chown system usb /dev/ccic_misc
+ chmod 0664 /dev/ccic_misc
+ chown system radio /sys/class/sec/ccic/cc_sbu_adc
+ chown system radio /sys/class/sec/ccic/vsafe0v_status
+ chmod 0444 /sys/class/sec/ccic/vsafe0v_status
+ chown system radio /sys/class/sec/ccic/ovp_ic_shutdown
+ chmod 0220 /sys/class/sec/ccic/ovp_ic_shutdown
+ chown system system /sys/class/sec/ccic/hmd_power
+ chmod 0220 /sys/class/sec/ccic/hmd_power
+ chown system system /sys/class/sec/ccic/novbus_rp22k
+ chmod 0440 /sys/class/sec/ccic/novbus_rp22k
+ chown system radio /sys/class/sec/ccic/cc_adc
+ chmod 0440 /sys/class/sec/ccic/cc_adc
+ chown system radio /sys/class/sec/ccic/sbu_adc
+ chmod 0440 /sys/class/sec/ccic/sbu_adc
+
+ # host_notify driver sysfs
+ chown system radio /sys/class/host_notify/usb_otg/booster
+ chmod 0664 /sys/class/host_notify/usb_otg/booster
+ chown system system /sys/class/host_notify/usb_otg/mode
+ chmod 0664 /sys/class/host_notify/usb_otg/mode
+
+ # usb_notify driver sysfs
+ chown system system /sys/class/usb_notify/usb_control/cards
+ chmod 0444 /sys/class/usb_notify/usb_control/cards
+ chown system usb /sys/class/usb_notify/usb_control/disable
+ chmod 0664 /sys/class/usb_notify/usb_control/disable
+ chown system system /sys/class/usb_notify/usb_control/gadget_speed
+ chmod 0444 /sys/class/usb_notify/usb_control/gadget_speed
+ chown system usb /sys/class/usb_notify/usb_control/hw_param
+ chmod 0664 /sys/class/usb_notify/usb_control/hw_param
+ chown system system /sys/class/usb_notify/usb_control/otg_speed
+ chmod 0444 /sys/class/usb_notify/usb_control/otg_speed
+ chown system system /sys/class/usb_notify/usb_control/support
+ chmod 0444 /sys/class/usb_notify/usb_control/support
+ chown system system /sys/class/usb_notify/usb_control/usb_data_enabled
+ chmod 0664 /sys/class/usb_notify/usb_control/usb_data_enabled
+ chown system usb /sys/class/usb_notify/usb_control/usb_hw_param
+ chmod 0664 /sys/class/usb_notify/usb_control/usb_hw_param
+ chown system usb /sys/class/usb_notify/usb_control/usb_maximum_speed
+ chmod 0644 /sys/class/usb_notify/usb_control/usb_maximum_speed
+ chown system usb /sys/class/usb_notify/usb_control/usb_request_action
+ chmod 0644 /sys/class/usb_notify/usb_control/usb_request_action
+ chown system usb /sys/class/usb_notify/usb_control/whitelist_for_mdm
+ chmod 0664 /sys/class/usb_notify/usb_control/whitelist_for_mdm
+ chown system usb /sys/class/usb_notify/usb_control/usb_sl
+ chmod 0664 /sys/class/usb_notify/usb_control/usb_sl
+
+ # ccic UVDM permission
+ chown system usb /dev/ccic_misc
+ chmod 0664 /dev/ccic_misc
+
+ # set file permission for boot
+ chown radio system /efs/usb_hw_param
+ chmod 771 /efs/usb_hw_param
+ chown system system /efs/usb_hw_param/usb_hw_param.log
+ chmod 0660 /efs/usb_hw_param/usb_hw_param.log
+
+ # BT: create data/log/bt for snoop log
+ mkdir /data/log 0775 system log
+ mkdir /data/log/bt 0770 bluetooth bluetooth
+
+ # FOTA: create /data/log/update_engine_log
+ mkdir /data/log/update_engine_log 0755 root log
+
+ # Define default initial receive window size in segments.
+ setprop net.tcp_def_init_rwnd 60
+
+ # Start standard binderized HAL daemons
+ class_start hal
+
+ class_start core
+
+# CsBurnInCompensator for Repair Mode
+ chown system radio /efs/afc/mdnie_block
+ chown system radio /efs/afc/apply_count
+ chown system radio /efs/afc/diff_data
+ chown system radio /efs/afc/poc_data
+ chown system radio /efs/afc/cs_mca_applied
+ chown system radio /efs/afc/rewrited
+ chmod 0660 /efs/afc/mdnie_block
+ chmod 0660 /efs/afc/apply_count
+ chmod 0660 /efs/afc/diff_data
+ chmod 0660 /efs/afc/poc_data
+ chmod 0660 /efs/afc/cs_mca_applied
+ chmod 0660 /efs/afc/rewrited
+ chmod 0770 /efs/afc
+
+# YellowishTint for Repair Mode
+ chown system radio /dev/poc
+ chmod 0660 /dev/poc
+
+# SSC CORE
+ chown system radio /sys/class/sensors/ssc_core/operation_mode
+ chown system log /sys/class/sensors/ssc_core/dumpstate
+ chown system radio /sys/class/sensors/ssc_core/ssc_pid
+ chown system radio /sys/class/sensors/ssc_core/mode
+ chown system radio /sys/class/sensors/ssc_core/ssr_msg
+ chown system radio /sys/class/sensors/ssc_core/ssr_reset
+ chown system system /sys/class/sensors/ssc_core/remove_sysfs
+ chown system radio /sys/class/sensors/ssc_core/fac_fstate
+ chown system system /sys/class/sensors/ssc_core/support_algo
+ chown system system /sys/class/sensors/ssc_core/support_dual_sensor
+ chown system radio /sys/class/sensors/ssc_core/abs_lcd_onoff
+ chown system radio /sys/class/sensors/ssc_core/lcd_onoff
+ chown system radio /sys/class/sensors/ssc_core/algo_lcd_onoff
+ chown system system /sys/class/sensors/ssc_core/sensor_dump
+ chown system system /sys/class/sensors/ssc_core/ssc_firmware_info
+ chown system system /sys/class/sensors/ssc_core/light_seamless
+ chown system system /sys/class/sensors/ssc_core/fold_state
+ chown system system /sys/class/sensors/ssc_core/update_ssc_flip
+ chown system system /sys/class/sensors/ssc_core/ar_mode
+ chown system system /sys/class/sensors/ssc_core/sbm_init
+ chown system system /sys/class/sensors/ssc_core/light_utilization_rate
+ chown system system /sys/class/sensors/ssc_core/wakeup_reason
+ chown system system /sys/class/sensors/ssc_core/probe_fail_reason
+ chown system system /sys/class/sensors/ssc_core/grip_fail
+ chown system system /sys/class/sensors/ssc_core/pocket_inject
+ chown system system /sys/class/sensors/ssc_core/sns_crash
+ chown system system /sys/class/sensors/ssc_core/sns_firm_idx
+
+# Sensor
+ chown system system /sys/kernel/boot_slpi/cmd
+ chown system system /sys/kernel/boot_slpi/cmd_result
+
+# Accelerometer Sensor
+ chown system system /sys/class/sensors/accelerometer_sensor/name
+ chown system system /sys/class/sensors/accelerometer_sensor/vendor
+ chown system system /sys/class/sensors/accelerometer_sensor/raw_data
+ chown system system /sys/class/sensors/accelerometer_sensor/calibration
+ chown system system /sys/class/sensors/accelerometer_sensor/selftest
+ chown system system /sys/class/sensors/accelerometer_sensor/reactive_alert
+ chown system system /sys/class/sensors/accelerometer_sensor/lowpassfilter
+ chown system system /sys/class/sensors/accelerometer_sensor/dhr_sensor_info
+ chown system system /sys/class/sensors/accelerometer_sensor/turn_over_crash
+ chown system system /sys/class/sensors/accelerometer_sensor/vib_onoff
+
+# Accelerometer HIGH G Sensor
+ chown system system /sys/class/sensors/accelerometer_sensor_high_g/name
+ chown system system /sys/class/sensors/accelerometer_sensor_high_g/vendor
+ chown system system /sys/class/sensors/accelerometer_sensor_high_g/raw_data
+ chown system system /sys/class/sensors/accelerometer_sensor_high_g/calibration
+ chown system system /sys/class/sensors/accelerometer_sensor_high_g/selftest
+ chown system system /sys/class/sensors/accelerometer_sensor_high_g/dhr_sensor_info
+
+# Gyro Sensor
+ chown system system /sys/class/sensors/gyro_sensor/name
+ chown system system /sys/class/sensors/gyro_sensor/vendor
+ chown system system /sys/class/sensors/gyro_sensor/selftest_revised
+ chown system system /sys/class/sensors/gyro_sensor/power_on
+ chown system system /sys/class/sensors/gyro_sensor/power_off
+ chown system system /sys/class/sensors/gyro_sensor/selftest
+ chown system media /sys/class/sensors/gyro_sensor/temperature
+
+# Sub Accelerometer Sensor
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/name
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/vendor
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/raw_data
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/calibration
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/selftest
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/reactive_alert
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/lowpassfilter
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/dhr_sensor_info
+ chown system system /sys/class/sensors/sub_accelerometer_sensor/ref_angle
+
+# Sub Gyro Sensor
+ chown system system /sys/class/sensors/sub_gyro_sensor/name
+ chown system system /sys/class/sensors/sub_gyro_sensor/vendor
+ chown system system /sys/class/sensors/sub_gyro_sensor/selftest_revised
+ chown system system /sys/class/sensors/sub_gyro_sensor/power_on
+ chown system system /sys/class/sensors/sub_gyro_sensor/power_off
+ chown system system /sys/class/sensors/sub_gyro_sensor/selftest
+ chown system media /sys/class/sensors/sub_gyro_sensor/temperature
+
+# Inner Accelerometer Sensor
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/name
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/vendor
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/raw_data
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/calibration
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/selftest
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/reactive_alert
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/lowpassfilter
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/dhr_sensor_info
+ chown system system /sys/class/sensors/inner_accelerometer_sensor/ref_angle
+
+# Inner Gyro Sensor
+ chown system system /sys/class/sensors/inner_gyro_sensor/name
+ chown system system /sys/class/sensors/inner_gyro_sensor/vendor
+ chown system system /sys/class/sensors/inner_gyro_sensor/selftest_revised
+ chown system system /sys/class/sensors/inner_gyro_sensor/power_on
+ chown system system /sys/class/sensors/inner_gyro_sensor/power_off
+ chown system system /sys/class/sensors/inner_gyro_sensor/selftest
+ chown system media /sys/class/sensors/inner_gyro_sensor/temperature
+
+# Magnetic Sensor
+ chown system system /sys/class/sensors/magnetic_sensor/name
+ chown system system /sys/class/sensors/magnetic_sensor/vendor
+ chown system system /sys/class/sensors/magnetic_sensor/raw_data
+ chown system system /sys/class/sensors/magnetic_sensor/asa
+ chown system system /sys/class/sensors/magnetic_sensor/dac
+ chown system system /sys/class/sensors/magnetic_sensor/chk_registers
+ chown system system /sys/class/sensors/magnetic_sensor/selftest
+ chown system system /sys/class/sensors/magnetic_sensor/dhr_sensor_info
+
+# Sub Magnetic Sensor
+ chown system system /sys/class/sensors/sub_magnetic_sensor/name
+ chown system system /sys/class/sensors/sub_magnetic_sensor/vendor
+ chown system system /sys/class/sensors/sub_magnetic_sensor/raw_data
+ chown system system /sys/class/sensors/sub_magnetic_sensor/asa
+ chown system system /sys/class/sensors/sub_magnetic_sensor/dac
+ chown system system /sys/class/sensors/sub_magnetic_sensor/chk_registers
+ chown system system /sys/class/sensors/sub_magnetic_sensor/selftest
+ chown system system /sys/class/sensors/sub_magnetic_sensor/dhr_sensor_info
+
+# DIGITAL HALL
+ chown system radio /sys/class/sensors/digital_hall/vendor
+ chown system radio /sys/class/sensors/digital_hall/name
+ chown system radio /sys/class/sensors/digital_hall/selftest
+ chown system radio /sys/class/sensors/digital_hall/spec
+ chown system radio /sys/class/sensors/digital_hall/test_spec
+ chown system system /sys/class/sensors/digital_hall/ref_angle
+ chown system radio /sys/class/sensors/digital_hall/read_data
+ chown system radio /sys/class/sensors/digital_hall/test_read
+ chown system radio /sys/class/sensors/digital_hall/reset_auto_cal
+ chown system radio /sys/class/sensors/digital_hall/check_auto_cal
+ chown system radio /sys/class/sensors/digital_hall/rf_test
+ chown system radio /sys/class/sensors/digital_hall/backup_restore_auto_cal
+ chown system radio /sys/class/sensors/digital_hall/logging_start
+ chown system radio /sys/class/sensors/digital_hall/logging_stop
+ chown system radio /sys/class/sensors/digital_hall/flexcover_thd
+ chown system radio /sys/class/sensors/digital_hall/block_autocal
+ chown system system /sys/class/sensors/digital_hall/dhr_sensor_info
+
+# Barometer Sensor
+ chown system system /sys/class/sensors/barometer_sensor/name
+ chown system system /sys/class/sensors/barometer_sensor/vendor
+ chown system system /sys/class/sensors/barometer_sensor/sea_level_pressure
+ chown system system /sys/class/sensors/barometer_sensor/calibration
+ chown system system /sys/class/sensors/barometer_sensor/eeprom_check
+ chown system system /sys/class/sensors/barometer_sensor/temperature
+ chown system system /sys/class/sensors/barometer_sensor/selftest
+ chown system system /sys/class/sensors/barometer_sensor/dhr_sensor_info
+ chown system system /sys/class/sensors/barometer_sensor/sw_offset
+ chown system system /sys/class/sensors/barometer_sensor/esn
+
+# Proximity Sensor
+ chown system system /sys/class/sensors/proximity_sensor/name
+ chown system system /sys/class/sensors/proximity_sensor/vendor
+ chown system system /sys/class/sensors/proximity_sensor/state
+ chown system system /sys/class/sensors/proximity_sensor/raw_data
+ chown system system /sys/class/sensors/proximity_sensor/barcode_emul_en
+ chown system system /sys/class/sensors/proximity_sensor/prox_avg
+ chown system system /sys/class/sensors/proximity_sensor/prox_cal
+ chown system system /sys/class/sensors/proximity_sensor/thresh_high
+ chown system system /sys/class/sensors/proximity_sensor/thresh_low
+ chown system system /sys/class/sensors/proximity_sensor/prox_offset_pass
+ chown system system /sys/class/sensors/proximity_sensor/prox_trim
+ chown system system /sys/class/sensors/proximity_sensor/thresh_detect_high
+ chown system system /sys/class/sensors/proximity_sensor/thresh_detect_low
+ chown system system /sys/class/sensors/proximity_sensor/prox_alert_thresh
+ chown system system /sys/class/sensors/proximity_sensor/dhr_sensor_info
+ chown system system /sys/class/sensors/proximity_sensor/prox_position
+ chown system system /sys/class/sensors/proximity_sensor/prox_wakelock
+ chown system system /sys/class/sensors/proximity_sensor/touch_prox
+
+# Light Sensor
+ chown system system /sys/class/sensors/light_sensor/name
+ chown system system /sys/class/sensors/light_sensor/vendor
+ chown system system /sys/class/sensors/light_sensor/lux
+ chown system system /sys/class/sensors/light_sensor/raw_data
+ chown system system /sys/class/sensors/light_sensor/read_copr
+ chown system system /sys/class/sensors/light_sensor/boled_enable
+ chown system system /sys/class/sensors/light_sensor/hallic_info
+ chown system system /sys/class/sensors/light_sensor/lcd_onoff
+ chown system system /sys/class/sensors/light_sensor/sensorhub_ddi_spi_check
+ chown system system /sys/class/sensors/light_sensor/light_cal
+ chown system system /sys/class/sensors/light_sensor/set_aod_rect
+ chown system system /sys/class/sensors/light_sensor/brightness
+ chown system system /sys/class/sensors/light_sensor/debug_info
+ chown system system /sys/class/sensors/light_sensor/hyst
+ chown system system /sys/class/sensors/light_sensor/screen_mode
+
+# Sub Light Sensor
+ chown system system /sys/class/sensors/sub_light_sensor/name
+ chown system system /sys/class/sensors/sub_light_sensor/vendor
+ chown system system /sys/class/sensors/sub_light_sensor/lux
+ chown system system /sys/class/sensors/sub_light_sensor/raw_data
+ chown system system /sys/class/sensors/sub_light_sensor/dhr_sensor_info
+
+# Hidden Hole
+ chown system radio /sys/class/sensors/hidden_hole/hh_ver
+ chown system radio /sys/class/sensors/hidden_hole/hh_write_all_data
+ chown system radio /sys/class/sensors/hidden_hole/hh_is_exist_efs
+ chown system radio /sys/class/sensors/hidden_hole/hh_ext_prox_th
+
+# Hidden Hole Sub
+ chown system radio /sys/class/sensors/hidden_hole/hh_sub_ver
+ chown system radio /sys/class/sensors/hidden_hole/hh_sub_write_all_data
+ chown system radio /sys/class/sensors/hidden_hole/hh_sub_is_exist_efs
+ chown system radio /sys/class/sensors/hidden_hole/hh_sub_ext_prox_th
+
+# Flip Cover Detector
+ chown system radio /sys/class/sensors/flip_cover_detector_sensor/nfc_cover_status
+ chown system radio /sys/class/sensors/flip_cover_detector_sensor/factory_cover_status
+ chown system radio /sys/class/sensors/flip_cover_detector_sensor/axis_threshold_setting
+
+# Back Tap Sensor
+ chown system radio /sys/class/sensors/backtap_sensor/backtap_peak_thd
+ chown system radio /sys/class/sensors/backtap_sensor/backtap_type
+
+ # Meta event
+ chown system radio /sys/class/sensors/sensor_dev/flush
+
+# [ Permissions for Grip Sensor
+chown root input /sys/devices/virtual/input/input*/enable
+# SX93xx
+ chown system radio /sys/class/sensors/grip_sensor/name
+ chown system radio /sys/class/sensors/grip_sensor/vendor
+ chown system radio /sys/class/sensors/grip_sensor/raw_data
+ chown system radio /sys/class/sensors/grip_sensor/raw_data_b
+ chown system radio /sys/class/sensors/grip_sensor/threshold
+ chown system radio /sys/class/sensors/grip_sensor/calibration
+ chown system radio /sys/class/sensors/grip_sensor/onoff
+ chown system radio /sys/class/sensors/grip_sensor/reset
+ chown system radio /sys/class/sensors/grip_sensor/mode
+ chown system radio /sys/class/sensors/grip_sensor/gain
+ chown system radio /sys/class/sensors/grip_sensor/gain_b
+ chown system radio /sys/class/sensors/grip_sensor/start
+ chown system radio /sys/class/sensors/grip_sensor/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor/normal_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor/ch_state
+ chown system radio /sys/class/sensors/grip_sensor/body_threshold
+ chown system radio /sys/class/sensors/grip_sensor/grip_flush
+ chown system radio /sys/class/sensors/grip_sensor/irq_count
+ chown system radio /sys/class/sensors/grip_sensor/irq_count_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_ref_cap
+ chown system radio /sys/class/sensors/grip_sensor/grip_ref_cap_b
+ chown system radio /sys/class/sensors/grip_sensor/resolution
+ chown system radio /sys/class/sensors/grip_sensor/resolution_b
+ chown system radio /sys/class/sensors/grip_sensor/adc_filt
+ chown system radio /sys/class/sensors/grip_sensor/useful_filt
+ chown system radio /sys/class/sensors/grip_sensor/useful_filt_b
+ chown system radio /sys/class/sensors/grip_sensor/ch_count
+ chown system radio /sys/class/sensors/grip_sensor/gain_ch2
+ chown system radio /sys/class/sensors/grip_sensor/raw_data_ch2
+ chown system radio /sys/class/sensors/grip_sensor/diff_avg_ch2
+ chown system radio /sys/class/sensors/grip_sensor/normal_threshold_ch2
+ chown system radio /sys/class/sensors/grip_sensor/sampling_freq_ch2
+ chown system radio /sys/class/sensors/grip_sensor/ch_count
+ chown system radio /sys/class/sensors/grip_sensor/rawfilt_ch2
+ chown system radio /sys/class/sensors/grip_sensor/irq_count_ch2
+ chown system radio /sys/class/sensors/grip_sensor/mcc
+ chown system radio /sys/class/sensors/grip_sensor/hysteresis
+ chown system radio /sys/class/sensors/grip_sensor/hysteresis_b
+ chown system radio /sys/class/sensors/grip_sensor/sampling_freq
+ chown system radio /sys/class/sensors/grip_sensor/sampling_freq_b
+ chown system radio /sys/class/sensors/grip_sensor/isum
+ chown system radio /sys/class/sensors/grip_sensor/scan_period
+ chown system radio /sys/class/sensors/grip_sensor/analog_gain
+ chown system radio /sys/class/sensors/grip_sensor/analog_gain_b
+ chown system radio /sys/class/sensors/grip_sensor/cdc_up
+ chown system radio /sys/class/sensors/grip_sensor/cdc_down
+ chown system radio /sys/class/sensors/grip_sensor/temp_enable
+ chown system radio /sys/class/sensors/grip_sensor/cml
+ chown system radio /sys/class/sensors/grip_sensor/motion
+ chown system radio /sys/class/sensors/grip_sensor/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor/unknown_state_2ch
+ chown system radio /sys/class/sensors/grip_sensor/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor/country_code
+ chown system radio /sys/class/sensors/grip_sensor_sub/name
+ chown system radio /sys/class/sensors/grip_sensor_sub/vendor
+ chown system radio /sys/class/sensors/grip_sensor_sub/raw_data
+ chown system radio /sys/class/sensors/grip_sensor_sub/raw_data_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub/calibration
+ chown system radio /sys/class/sensors/grip_sensor_sub/onoff
+ chown system radio /sys/class/sensors/grip_sensor_sub/reset
+ chown system radio /sys/class/sensors/grip_sensor_sub/mode
+ chown system radio /sys/class/sensors/grip_sensor_sub/gain
+ chown system radio /sys/class/sensors/grip_sensor_sub/gain_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/start
+ chown system radio /sys/class/sensors/grip_sensor_sub/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub/normal_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/gain_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub/raw_data_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub/diff_avg_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub/normal_threshold_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub/ch_state
+ chown system radio /sys/class/sensors/grip_sensor_sub/body_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_flush
+ chown system radio /sys/class/sensors/grip_sensor_sub/irq_count
+ chown system radio /sys/class/sensors/grip_sensor_sub/irq_count_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_ref_cap
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_ref_cap_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/ch_count
+ chown system radio /sys/class/sensors/grip_sensor_sub/resolution
+ chown system radio /sys/class/sensors/grip_sensor_sub/resolution_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/adc_filt
+ chown system radio /sys/class/sensors/grip_sensor_sub/useful_filt
+ chown system radio /sys/class/sensors/grip_sensor_sub/useful_filt_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/hysteresis
+ chown system radio /sys/class/sensors/grip_sensor_sub/hysteresis_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/sampling_freq
+ chown system radio /sys/class/sensors/grip_sensor_sub/sampling_freq_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/isum
+ chown system radio /sys/class/sensors/grip_sensor_sub/scan_period
+ chown system radio /sys/class/sensors/grip_sensor_sub/analog_gain
+ chown system radio /sys/class/sensors/grip_sensor_sub/analog_gain_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/cdc_up
+ chown system radio /sys/class/sensors/grip_sensor_sub/cdc_down
+ chown system radio /sys/class/sensors/grip_sensor_sub/temp_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub/cml
+ chown system radio /sys/class/sensors/grip_sensor_sub/motion
+ chown system radio /sys/class/sensors/grip_sensor_sub/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor_sub/unknown_state_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub/country_code
+ chown system radio /sys/class/sensors/grip_sensor_sub2/name
+ chown system radio /sys/class/sensors/grip_sensor_sub2/vendor
+ chown system radio /sys/class/sensors/grip_sensor_sub2/raw_data
+ chown system radio /sys/class/sensors/grip_sensor_sub2/threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub2/calibration
+ chown system radio /sys/class/sensors/grip_sensor_sub2/onoff
+ chown system radio /sys/class/sensors/grip_sensor_sub2/reset
+ chown system radio /sys/class/sensors/grip_sensor_sub2/mode
+ chown system radio /sys/class/sensors/grip_sensor_sub2/gain
+ chown system radio /sys/class/sensors/grip_sensor_sub2/start
+ chown system radio /sys/class/sensors/grip_sensor_sub2/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub2/gain_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub2/raw_data_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub2/diff_avg_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub2/normal_threshold_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub2/ch_state
+ chown system radio /sys/class/sensors/grip_sensor_sub2/body_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_flush
+ chown system radio /sys/class/sensors/grip_sensor_sub2/irq_count
+ chown system radio /sys/class/sensors/grip_sensor_sub2/ch_count
+ chown system radio /sys/class/sensors/grip_sensor_sub2/resolution
+ chown system radio /sys/class/sensors/grip_sensor_sub2/adc_filt
+ chown system radio /sys/class/sensors/grip_sensor_sub2/useful_filt
+ chown system radio /sys/class/sensors/grip_sensor_sub2/motion
+ chown system radio /sys/class/sensors/grip_sensor_sub2/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor_sub2/unknown_state_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub2/country_code
+ chown system radio /sys/class/sensors/grip_sensor_sub3/name
+ chown system radio /sys/class/sensors/grip_sensor_sub3/vendor
+ chown system radio /sys/class/sensors/grip_sensor_sub3/raw_data
+ chown system radio /sys/class/sensors/grip_sensor_sub3/threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub3/calibration
+ chown system radio /sys/class/sensors/grip_sensor_sub3/onoff
+ chown system radio /sys/class/sensors/grip_sensor_sub3/reset
+ chown system radio /sys/class/sensors/grip_sensor_sub3/mode
+ chown system radio /sys/class/sensors/grip_sensor_sub3/gain
+ chown system radio /sys/class/sensors/grip_sensor_sub3/start
+ chown system radio /sys/class/sensors/grip_sensor_sub3/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub3/gain_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub3/raw_data_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub3/diff_avg_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub3/normal_threshold_ch2
+ chown system radio /sys/class/sensors/grip_sensor_sub3/ch_state
+ chown system radio /sys/class/sensors/grip_sensor_sub3/body_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub3/grip_flush
+ chown system radio /sys/class/sensors/grip_sensor_sub3/irq_count
+ chown system radio /sys/class/sensors/grip_sensor_sub3/ch_count
+ chown system radio /sys/class/sensors/grip_sensor_sub3/resolution
+ chown system radio /sys/class/sensors/grip_sensor_sub3/adc_filt
+ chown system radio /sys/class/sensors/grip_sensor_sub3/useful_filt
+ chown system radio /sys/class/sensors/grip_sensor_sub3/motion
+ chown system radio /sys/class/sensors/grip_sensor_sub3/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor_sub3/unknown_state_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub3/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub3/country_code
+
+# IMAGIS
+ chown system radio /sys/class/sensors/grip_sensor/name
+ chown system radio /sys/class/sensors/grip_sensor/vendor
+ chown system radio /sys/class/sensors/grip_sensor/analog_gain
+ chown system radio /sys/class/sensors/grip_sensor/analog_gain_b
+ chown system radio /sys/class/sensors/grip_sensor/calibration
+ chown system radio /sys/class/sensors/grip_sensor/cdc_down
+ chown system radio /sys/class/sensors/grip_sensor/cdc_down_b
+ chown system radio /sys/class/sensors/grip_sensor/cdc_up
+ chown system radio /sys/class/sensors/grip_sensor/cdc_up_b
+ chown system radio /sys/class/sensors/grip_sensor/ch_state
+ chown system radio /sys/class/sensors/grip_sensor/hysteresis
+ chown system radio /sys/class/sensors/grip_sensor/hysteresis_b
+ chown system radio /sys/class/sensors/grip_sensor/irq_count
+ chown system radio /sys/class/sensors/grip_sensor/irq_count_b
+ chown system radio /sys/class/sensors/grip_sensor/isum
+ chown system radio /sys/class/sensors/grip_sensor/isum_b
+ chown system radio /sys/class/sensors/grip_sensor/mode
+ chown system radio /sys/class/sensors/grip_sensor/motion
+ chown system radio /sys/class/sensors/grip_sensor/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor/normal_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor/onoff
+ chown system radio /sys/class/sensors/grip_sensor/raw_data
+ chown system radio /sys/class/sensors/grip_sensor/raw_data_b
+ chown system radio /sys/class/sensors/grip_sensor/reset
+ chown system radio /sys/class/sensors/grip_sensor/sampling_freq
+ chown system radio /sys/class/sensors/grip_sensor/sampling_freq_b
+ chown system radio /sys/class/sensors/grip_sensor/scan_period
+ chown system radio /sys/class/sensors/grip_sensor/temp_enable
+ chown system radio /sys/class/sensors/grip_sensor/temp_enable_b
+ chown system radio /sys/class/sensors/grip_sensor/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor/unknown_state_2ch
+
+ chown system radio /sys/class/sensors/grip_sensor_sub/name
+ chown system radio /sys/class/sensors/grip_sensor_sub/vendor
+ chown system radio /sys/class/sensors/grip_sensor_sub/analog_gain
+ chown system radio /sys/class/sensors/grip_sensor_sub/analog_gain_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/calibration
+ chown system radio /sys/class/sensors/grip_sensor_sub/cdc_down
+ chown system radio /sys/class/sensors/grip_sensor_sub/cdc_down_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/cdc_up
+ chown system radio /sys/class/sensors/grip_sensor_sub/cdc_up_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/ch_state
+ chown system radio /sys/class/sensors/grip_sensor_sub/hysteresis
+ chown system radio /sys/class/sensors/grip_sensor_sub/hysteresis_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/irq_count
+ chown system radio /sys/class/sensors/grip_sensor_sub/irq_count_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/isum
+ chown system radio /sys/class/sensors/grip_sensor_sub/isum_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/mode
+ chown system radio /sys/class/sensors/grip_sensor_sub/motion
+ chown system radio /sys/class/sensors/grip_sensor_sub/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub/normal_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub/onoff
+ chown system radio /sys/class/sensors/grip_sensor_sub/raw_data
+ chown system radio /sys/class/sensors/grip_sensor_sub/raw_data_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/reset
+ chown system radio /sys/class/sensors/grip_sensor_sub/sampling_freq
+ chown system radio /sys/class/sensors/grip_sensor_sub/sampling_freq_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/scan_period
+ chown system radio /sys/class/sensors/grip_sensor_sub/temp_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub/temp_enable_b
+ chown system radio /sys/class/sensors/grip_sensor_sub/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor_sub/unknown_state_2ch
+
+ chown system radio /sys/class/sensors/grip_sensor_sub2/name
+ chown system radio /sys/class/sensors/grip_sensor_sub2/vendor
+ chown system radio /sys/class/sensors/grip_sensor_sub2/analog_gain
+ chown system radio /sys/class/sensors/grip_sensor_sub2/analog_gain_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/calibration
+ chown system radio /sys/class/sensors/grip_sensor_sub2/cdc_down
+ chown system radio /sys/class/sensors/grip_sensor_sub2/cdc_down_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/cdc_up
+ chown system radio /sys/class/sensors/grip_sensor_sub2/cdc_up_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/ch_state
+ chown system radio /sys/class/sensors/grip_sensor_sub2/hysteresis
+ chown system radio /sys/class/sensors/grip_sensor_sub2/hysteresis_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/irq_count
+ chown system radio /sys/class/sensors/grip_sensor_sub2/irq_count_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/isum
+ chown system radio /sys/class/sensors/grip_sensor_sub2/isum_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/mode
+ chown system radio /sys/class/sensors/grip_sensor_sub2/motion
+ chown system radio /sys/class/sensors/grip_sensor_sub2/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub2/normal_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub2/onoff
+ chown system radio /sys/class/sensors/grip_sensor_sub2/raw_data
+ chown system radio /sys/class/sensors/grip_sensor_sub2/raw_data_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/reset
+ chown system radio /sys/class/sensors/grip_sensor_sub2/sampling_freq
+ chown system radio /sys/class/sensors/grip_sensor_sub2/sampling_freq_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/scan_period
+ chown system radio /sys/class/sensors/grip_sensor_sub2/temp_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub2/temp_enable_b
+ chown system radio /sys/class/sensors/grip_sensor_sub2/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor_sub2/unknown_state_2ch
+
+ chown system radio /sys/class/sensors/grip_sensor_wifi/name
+ chown system radio /sys/class/sensors/grip_sensor_wifi/vendor
+ chown system radio /sys/class/sensors/grip_sensor_wifi/analog_gain
+ chown system radio /sys/class/sensors/grip_sensor_wifi/analog_gain_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/calibration
+ chown system radio /sys/class/sensors/grip_sensor_wifi/cdc_down
+ chown system radio /sys/class/sensors/grip_sensor_wifi/cdc_down_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/cdc_up
+ chown system radio /sys/class/sensors/grip_sensor_wifi/cdc_up_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/ch_state
+ chown system radio /sys/class/sensors/grip_sensor_wifi/hysteresis
+ chown system radio /sys/class/sensors/grip_sensor_wifi/hysteresis_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/irq_count
+ chown system radio /sys/class/sensors/grip_sensor_wifi/irq_count_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/isum
+ chown system radio /sys/class/sensors/grip_sensor_wifi/isum_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/mode
+ chown system radio /sys/class/sensors/grip_sensor_wifi/motion
+ chown system radio /sys/class/sensors/grip_sensor_wifi/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor_wifi/normal_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor_wifi/onoff
+ chown system radio /sys/class/sensors/grip_sensor_wifi/raw_data
+ chown system radio /sys/class/sensors/grip_sensor_wifi/raw_data_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/reset
+ chown system radio /sys/class/sensors/grip_sensor_wifi/sampling_freq
+ chown system radio /sys/class/sensors/grip_sensor_wifi/sampling_freq_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/scan_period
+ chown system radio /sys/class/sensors/grip_sensor_wifi/temp_enable
+ chown system radio /sys/class/sensors/grip_sensor_wifi/temp_enable_b
+ chown system radio /sys/class/sensors/grip_sensor_wifi/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor_wifi/unknown_state_2ch
+
+# Abov
+ chown system radio /sys/class/sensors/grip_sensor/grip_irq_count
+ chown system radio /sys/class/sensors/grip_sensor/grip_threshold
+ chown system radio /sys/class/sensors/grip_sensor/grip_total_cap
+ chown system radio /sys/class/sensors/grip_sensor/grip_sar_enable
+ chown system radio /sys/class/sensors/grip_sensor/grip_sw_reset
+ chown system radio /sys/class/sensors/grip_sensor/grip_earjack
+ chown system radio /sys/class/sensors/grip_sensor/grip
+ chown system radio /sys/class/sensors/grip_sensor/grip_baseline
+ chown system radio /sys/class/sensors/grip_sensor/grip_raw
+ chown system radio /sys/class/sensors/grip_sensor/grip_ref_cap
+ chown system radio /sys/class/sensors/grip_sensor/grip_gain
+ chown system radio /sys/class/sensors/grip_sensor/grip_gain_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_check
+ chown system radio /sys/class/sensors/grip_sensor/grip_sar_only_mode
+ chown system radio /sys/class/sensors/grip_sensor/grip_sar_press_threshold
+ chown system radio /sys/class/sensors/grip_sensor/grip_sar_release_threshold
+ chown system radio /sys/class/sensors/grip_sensor/grip_firm_version_phone
+ chown system radio /sys/class/sensors/grip_sensor/grip_firm_version_panel
+ chown system radio /sys/class/sensors/grip_sensor/grip_firm_update
+ chown system radio /sys/class/sensors/grip_sensor/grip_firm_update_status
+ chown system radio /sys/class/sensors/grip_sensor/grip_irq_state
+ chown system radio /sys/class/sensors/grip_sensor/grip_irq_en_cnt
+ chown system radio /sys/class/sensors/grip_sensor/grip_reg_rw
+ chown system radio /sys/class/sensors/grip_sensor/grip_crc_check
+ chown system radio /sys/class/sensors/grip_sensor/grip_sw_reset_ready
+ chown system radio /sys/class/sensors/grip_sensor/grip_register_recover
+ chown system radio /sys/class/sensors/grip_sensor/motion
+ chown system radio /sys/class/sensors/grip_sensor/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor/grip_sar_press_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_sar_release_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_irq_count_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_total_cap_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_baseline_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_raw_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_check_2ch
+ chown system radio /sys/class/sensors/grip_sensor/grip_gain_b
+ chown system radio /sys/class/sensors/grip_sensor/unknown_state_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_sar_press_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_sar_release_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_irq_count_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_threshold_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_total_cap_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_baseline_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_raw_b
+ chown system radio /sys/class/sensors/grip_sensor/grip_check_b
+# SUB Grip sensor
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_irq_count
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_total_cap
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_sar_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_sw_reset
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_earjack
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_baseline
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_raw
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_ref_cap
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_gain
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_gain_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_check
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_sar_only_mode
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_sar_press_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_sar_release_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_firm_version_phone
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_firm_version_panel
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_firm_update
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_firm_update_status
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_irq_state
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_irq_en_cnt
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_reg_rw
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_crc_check
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_sw_reset_ready
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_register_recover
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_sar_press_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_sar_release_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_irq_count_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_total_cap_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_baseline_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_raw_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub/grip_check_2ch
+# SUB2 Grip sensor
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_irq_count
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_total_cap
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_sar_enable
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_sw_reset
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_earjack
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_baseline
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_raw
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_ref_cap
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_gain
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_gain_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_check
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_sar_only_mode
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_sar_press_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_sar_release_threshold
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_firm_version_phone
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_firm_version_panel
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_firm_update
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_firm_update_status
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_irq_state
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_irq_en_cnt
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_reg_rw
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_crc_check
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_sw_reset_ready
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_register_recover
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_sar_press_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_sar_release_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_irq_count_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_total_cap_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_baseline_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_raw_2ch
+ chown system radio /sys/class/sensors/grip_sensor_sub2/grip_check_2ch
+# WIFI Grip sensor
+ chown system radio /sys/class/sensors/grip_sensor_wifi/name
+ chown system radio /sys/class/sensors/grip_sensor_wifi/vendor
+ chown system radio /sys/class/sensors/grip_sensor_wifi/raw_data
+ chown system radio /sys/class/sensors/grip_sensor_wifi/threshold
+ chown system radio /sys/class/sensors/grip_sensor_wifi/calibration
+ chown system radio /sys/class/sensors/grip_sensor_wifi/onoff
+ chown system radio /sys/class/sensors/grip_sensor_wifi/reset
+ chown system radio /sys/class/sensors/grip_sensor_wifi/mode
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_ref_cap
+ chown system radio /sys/class/sensors/grip_sensor_wifi/gain
+ chown system radio /sys/class/sensors/grip_sensor_wifi/start
+ chown system radio /sys/class/sensors/grip_sensor_wifi/normal_threshold
+ chown system radio /sys/class/sensors/grip_sensor_wifi/gain_ch2
+ chown system radio /sys/class/sensors/grip_sensor_wifi/raw_data_ch2
+ chown system radio /sys/class/sensors/grip_sensor_wifi/diff_avg_ch2
+ chown system radio /sys/class/sensors/grip_sensor_wifi/normal_threshold_ch2
+ chown system radio /sys/class/sensors/grip_sensor_wifi/ch_state
+ chown system radio /sys/class/sensors/grip_sensor_wifi/body_threshold
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_flush
+ chown system radio /sys/class/sensors/grip_sensor_wifi/irq_count
+ chown system radio /sys/class/sensors/grip_sensor_wifi/ch_count
+ chown system radio /sys/class/sensors/grip_sensor_wifi/resolution
+ chown system radio /sys/class/sensors/grip_sensor_wifi/adc_filt
+ chown system radio /sys/class/sensors/grip_sensor_wifi/useful_filt
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_irq_count
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_threshold
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_total_cap
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_sar_enable
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_sw_reset
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_earjack
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_baseline
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_raw
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_gain
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_gain_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_check
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_sar_only_mode
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_sar_press_threshold
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_sar_release_threshold
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_firm_version_phone
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_firm_version_panel
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_firm_update
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_firm_update_status
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_irq_state
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_irq_en_cnt
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_reg_rw
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_crc_check
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_sw_reset_ready
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_register_recover
+ chown system radio /sys/class/sensors/grip_sensor_wifi/motion
+ chown system radio /sys/class/sensors/grip_sensor_wifi/unknown_state
+ chown system radio /sys/class/sensors/grip_sensor_wifi/unknown_state_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/noti_enable
+ chown system radio /sys/class/sensors/grip_sensor_wifi/country_code
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_sar_press_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_sar_release_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_irq_count_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_threshold_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_total_cap_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_baseline_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_raw_2ch
+ chown system radio /sys/class/sensors/grip_sensor_wifi/grip_check_2ch
+
+ chown root input /sys/class/input/event*/device/enable
+
+
+on nonencrypted
+ class_start main
+ class_start late_start
+
+on property:sys.init_log_level=*
+ loglevel ${sys.init_log_level}
+
+on charger
+ class_start charger
+
+on property:sys.dexopt.ctrl=true
+ setprop dalvik.vm.dex2oat-cpu-set "0,1,2,3"
+ setprop dalvik.vm.dex2oat-threads 4
+
+on property:sys.dexopt.ctrl=false
+ setprop dalvik.vm.dex2oat-cpu-set ""
+ setprop dalvik.vm.dex2oat-threads ""
+
+# BATTERY
+on property:sys.boot_completed=1
+ write /sys/class/power_supply/battery/boot_completed "1"
+
+on property:persist.sys.buckmode=ON
+ write /sys/class/power_supply/battery/batt_temp_control_test "1"
+
+on property:persist.sys.buckmode=OFF
+ write /sys/class/power_supply/battery/batt_temp_control_test "0"
+
+on property:sys.boot_completed=1
+ bootchart stop
+ # Setup per_boot directory so other .rc could start to use it on boot_completed
+ exec - system system -- /bin/rm -rf /data/per_boot
+ mkdir /data/per_boot 0700 system system encryption=Require key=per_boot_ref
+ setprop ro.vendor.qti.per_boot_created 1
+
+on property:sys.boot_completed=1
+ start hcgcd
+
+ # MUIC
+ chown system radio /sys/class/sec/switch/otg_test
+ chown system radio /sys/class/sec/switch/uart_sel
+ chown system radio /sys/class/sec/switch/usb_sel
+ chown system radio /sys/class/sec/switch/afc_disable
+ chown system radio /sys/class/sec/switch/apo_factory
+ chown system radio /sys/class/sec/switch/afc_set_voltage
+ chown system radio /sys/class/sec/switch/vbus_value
+ chown system radio /sys/class/sec/switch/vbus_value_pd
+ chown system radio /sys/class/sec/switch/vbus_rawdata
+ chown system radio /sys/class/sec/switch/show_reg
+ chown system radio /sys/class/sec/switch/hiccup
+
+ # LPM mode for ccic
+ chown system radio /sys/class/sec/ccic/lpm_mode
+ chmod 0664 /sys/class/sec/ccic/lpm_mode
+
+ chown system system /sys/class/sec/ccic/control_gpio
+ chmod 0660 /sys/class/sec/ccic/control_gpio
+ chown system radio /sys/class/sec/ccic/fw_update
+ chmod 0220 /sys/class/sec/ccic/fw_update
+ chown system radio /sys/class/sec/ccic/role_swap
+ chmod 0220 /sys/class/sec/ccic/role_swap
+ chown system usb /sys/class/sec/ccic/dex_fan_uvdm
+ chmod 0220 /sys/class/sec/ccic/dex_fan_uvdm
+ chown system usb /sys/class/sec/ccic/samsung_uvdm
+ chmod 0220 /sys/class/sec/ccic/samsung_uvdm
+ chown system radio /sys/class/sec/ccic/ccic_control_option
+ chown system system /sys/class/sec/ccic/cc_pin_status
+ chmod 0440 /sys/class/sec/ccic/cc_pin_status
+
+
+ # UVDM permission
+ chown system usb /dev/ccic_misc
+ chmod 0664 /dev/ccic_misc
+
+ # CCIC control option
+ chown system radio /sys/class/sec/ccic/ccic_control_option
+ chown system radio /sys/class/sec/ccic/fw_update
+ chown system radio /sys/class/sec/ccic/control_gpio
+ chown system system /sys/class/sec/ccic/hmd_power
+ chown system radio /sys/class/sec/ccic/cc_adc
+ chown system radio /sys/class/sec/ccic/sbu_adc
+ chown system radio /sys/class/sec/ccic/chip_name
+ chmod 0220 /sys/class/sec/ccic/fw_update
+ chmod 0220 /sys/class/sec/ccic/dex_fan_uvdm
+ chmod 0220 /sys/class/sec/ccic/hmd_power
+
+
+# system server cannot write to /proc/sys files,
+# and chown/chmod does not work for /proc/sys/ entries.
+# So proxy writes through init.
+#on property:sys.sysctl.extra_free_kbytes=*
+# exec -- /system/bin/extra_free_kbytes.sh ${sys.sysctl.extra_free_kbytes}
+on property:sys.sysctl.boot_extra_free_kbytes=*
+ exec -- /system/bin/extra_free_kbytes.sh ${sys.sysctl.boot_extra_free_kbytes}
+
+on property:sys.sysctl.extra_free_kbytes=*
+ write /proc/sys/vm/extra_free_kbytes ${sys.sysctl.extra_free_kbytes}
+
+# Allow users to drop caches
+on property:perf.drop_caches=3
+ write /proc/sys/vm/drop_caches 3
+ setprop perf.drop_caches 0
+
+# "tcp_default_init_rwnd" Is too long!
+on property:net.tcp_def_init_rwnd=*
+ write /proc/sys/net/ipv4/tcp_default_init_rwnd ${net.tcp_def_init_rwnd}
+
+# perf_event_open syscall security:
+# Newer kernels have the ability to control the use of the syscall via SELinux
+# hooks. init tests for this, and sets sys_init.perf_lsm_hooks to 1 if the
+# kernel has the hooks. In this case, the system-wide perf_event_paranoid
+# sysctl is set to -1 (unrestricted use), and the SELinux policy is used for
+# controlling access. On older kernels, the paranoid value is the only means of
+# controlling access. It is normally 3 (allow only root), but the shell user
+# can lower it to 1 (allowing thread-scoped pofiling) via security.perf_harden.
+on load_bpf_programs && property:sys.init.perf_lsm_hooks=1
+ write /proc/sys/kernel/perf_event_paranoid -1
+on property:security.perf_harden=0 && property:sys.init.perf_lsm_hooks=""
+ write /proc/sys/kernel/perf_event_paranoid 1
+on property:security.perf_harden=1 && property:sys.init.perf_lsm_hooks=""
+ write /proc/sys/kernel/perf_event_paranoid 3
+
+# Additionally, simpleperf profiler uses debug.* and security.perf_harden
+# sysprops to be able to indirectly set these sysctls.
+on property:security.perf_harden=0
+ write /proc/sys/kernel/perf_event_max_sample_rate ${debug.perf_event_max_sample_rate:-100000}
+ write /proc/sys/kernel/perf_cpu_time_max_percent ${debug.perf_cpu_time_max_percent:-25}
+ write /proc/sys/kernel/perf_event_mlock_kb ${debug.perf_event_mlock_kb:-516}
+# Default values.
+on property:security.perf_harden=1
+ write /proc/sys/kernel/perf_event_max_sample_rate 100000
+ write /proc/sys/kernel/perf_cpu_time_max_percent 25
+ write /proc/sys/kernel/perf_event_mlock_kb 516
+
+# This property can be set only on userdebug/eng. See neverallow rule in
+# /system/sepolicy/private/property.te .
+on property:security.lower_kptr_restrict=1
+ write /proc/sys/kernel/kptr_restrict 0
+
+on property:security.lower_kptr_restrict=0
+ write /proc/sys/kernel/kptr_restrict 2
+
+on property:vendor.ssr.update.trigger=1
+ ssr
+ setprop vendor.ssr.update.trigger 0
+
+# on shutdown
+# In device's init.rc, this trigger can be used to do device-specific actions
+# before shutdown. e.g disable watchdog and mask error handling
+
+## Daemon processes to be run by init.
+##
+service ueventd /system/bin/ueventd
+ class core
+ critical
+ seclabel u:r:ueventd:s0
+ user root
+ shutdown critical
+
+service console /system/bin/sh
+ class core
+ console
+ disabled
+ user shell
+ group shell log readproc
+ seclabel u:r:shell:s0
+ setenv HOSTNAME console
+ shutdown critical
+
+on property:ro.debuggable=1
+ # Give writes to the same group for the trace folder on debug builds,
+ # it's further protected by selinux policy.
+ # The folder is used to store method traces.
+ chmod 0773 /data/misc/trace
+ # Give writes and reads to anyone for the window trace folder on debug builds,
+ # it's further protected by selinux policy.
+ chmod 0777 /data/misc/wmtrace
+ # Give reads to anyone for the accessibility trace folder on debug builds.
+ chmod 0775 /data/misc/a11ytrace
+
+on init && property:ro.debuggable=1
+ start console
+
+on userspace-reboot-requested
+ # TODO(b/135984674): reset all necessary properties here.
+ setprop sys.boot_completed ""
+ setprop dev.bootcomplete ""
+ setprop sys.init.updatable_crashing ""
+ setprop sys.init.updatable_crashing_process_name ""
+ setprop sys.user.0.ce_available ""
+ setprop sys.shutdown.requested ""
+ setprop service.bootanim.exit ""
+ setprop service.bootanim.progress ""
+
+on userspace-reboot-fs-remount
+ # Make sure that vold is running.
+ # This is mostly a precaution measure in case vold for some reason wasn't running when
+ # userspace reboot was initiated.
+ start vold
+ exec - system system -- /system/bin/vdc checkpoint resetCheckpoint
+ exec - system system -- /system/bin/vdc checkpoint markBootAttempt
+ # Unmount /data_mirror mounts in the reverse order of corresponding mounts.
+ umount /data_mirror/data_ce/null/0
+ umount /data_mirror/data_ce/null
+ umount /data_mirror/data_de/null
+ umount /data_mirror/storage_area/0
+ umount /data_mirror/storage_area
+ umount /data_mirror/cur_profiles
+ umount /data_mirror/ref_profiles
+ umount /data_mirror
+ remount_userdata
+ start bootanim
+
+on userspace-reboot-resume
+ trigger userspace-reboot-fs-remount
+ trigger post-fs-data
+ trigger zygote-start
+ trigger early-boot
+ trigger boot
+
+on property:sys.boot_completed=1 && property:sys.init.userspace_reboot.in_progress=1
+ setprop sys.init.userspace_reboot.in_progress ""
+
+# Start Daemon ss_conn_daemon2 (DeXonPC, Samsung Flow)
+service ss_conn_daemon2_service /system/bin/ss_conn_daemon2
+ class main
+ socket ss_conn_daemon2 stream 0660 system system
+ user system
+ group inet net_raw
+# DeXonPC
+on property:service.dexonpc.running=1
+ write /sys/class/net/lo/queues/rx-0/rps_cpus ff
+on property:service.dexonpc.running=0
+ write /sys/class/net/lo/queues/rx-0/rps_cpus 0
+
+# Multi-Gen LRU Experiment
+on property:persist.device_config.mglru_native.lru_gen_config=none
+ write /sys/kernel/mm/lru_gen/enabled 0
+on property:persist.device_config.mglru_native.lru_gen_config=core
+ write /sys/kernel/mm/lru_gen/enabled 1
+on property:persist.device_config.mglru_native.lru_gen_config=core_and_mm_walk
+ write /sys/kernel/mm/lru_gen/enabled 3
+on property:persist.device_config.mglru_native.lru_gen_config=core_and_nonleaf_young
+ write /sys/kernel/mm/lru_gen/enabled 5
+on property:persist.device_config.mglru_native.lru_gen_config=all
+ write /sys/kernel/mm/lru_gen/enabled 7
+
+# Allow other processes to run `snapshotctl` through `init`. This requires
+# `set_prop` permission on `snapshotctl_prop`.
+on property:sys.snapshotctl.map=requested
+ # "root" is needed to talk to gsid and pass its check on uid.
+ # "system" is needed to write to "/dev/socket/snapuserd" to talk to
+ # snapuserd.
+ exec - root root system -- /system/bin/snapshotctl map
+ setprop sys.snapshotctl.map "finished"
+
+on property:sys.snapshotctl.unmap=requested
+ exec - root root system -- /system/bin/snapshotctl unmap
+ setprop sys.snapshotctl.unmap "finished"
+
+#//[@VOLD Prevent watchdog reset at vold shutdown
+on property:sys.vold.needed=1
+ # VOLD was not existed when VDC requested VOLD Binder.
+ # so, start it again
+ start vold
+#//@VOLD Prevent watchdog reset at vold shutdown]
+
+# hide carrier apps
+on post-fs-data && property:ro.csc.sales_code=*
+mount none /system/carrier/${ro.csc.sales_code} /system/carrier bind
+
+## SecProductFeature_KNOX.SEC_PRODUCT_FEATURE_KNOX_SUPPORT_MDM {
+## EDM AuditLog
+service edmaudit /system/bin/edmaudit
+ class main
+ user system
+ group system
+ capabilities SYSLOG
+ disabled
+
+on property:security.edmaudit=true
+ start edmaudit
+
+on property:security.edmaudit=false
+ stop edmaudit
+## SecProductFeature_KNOX.SEC_PRODUCT_FEATURE_KNOX_SUPPORT_MDM }
+
+# strongSwan VPN
+service charon /system/bin/charon
+ class main
+ socket charon stream 600 system system
+ # charon will setuid to vpn after getting necessary resources.
+ user vpn
+ group vpn inet shell
+ capabilities NET_ADMIN NET_BIND_SERVICE NET_RAW
+ disabled
+ oneshot
+
+# IO Daemon
+service iod /vendor/bin/iod
+ user root
+ group root system
+ class main
+ oneshot
+ disabled
+
+# HCGC Daemon
+service hcgcd /vendor/bin/hcgcd
+ user root
+ group root
+ class main
+ oneshot
+ disabled
+
+# Sensor.
+on property:bugreport.mode=*
+ setprop sys.sensordebug_enable true
+
+# Myfilter preload filters. If persistent property myfilter_preloaded is not set yet, then copy filter data and mark the property as done.
+on property:persist.sys.myfilter_preload=
+ mkdir /data/DownFilters 0775 system system
+ mkdir /data/DownFilters/MyFilter 0775 system system
+ copy /system/cameradata/myfilter/myfilter_sample_05.sel /data/DownFilters/MyFilter/myfilter_sample_05.sel
+ copy /system/cameradata/myfilter/myfilter_sample_05.bmp /data/DownFilters/MyFilter/myfilter_sample_05.bmp
+ copy /system/cameradata/myfilter/myfilter_sample_05.aux /data/DownFilters/MyFilter/myfilter_sample_05.aux
+ copy /system/cameradata/myfilter/myfilter_sample_05.json /data/DownFilters/MyFilter/myfilter_sample_05.json
+ chown system system /data/DownFilters/MyFilter/myfilter_sample_04.bmp
+ chown system system /data/DownFilters/MyFilter/myfilter_sample_05.sel
+ chown system system /data/DownFilters/MyFilter/myfilter_sample_05.bmp
+ chown system system /data/DownFilters/MyFilter/myfilter_sample_05.aux
+ chown system system /data/DownFilters/MyFilter/myfilter_sample_05.json
+ chmod 0664 /data/DownFilters/MyFilter/myfilter_sample_05.sel
+ chmod 0664 /data/DownFilters/MyFilter/myfilter_sample_05.bmp
+ chmod 0664 /data/DownFilters/MyFilter/myfilter_sample_05.aux
+ chmod 0664 /data/DownFilters/MyFilter/myfilter_sample_05.json
+ setprop persist.sys.myfilter_preload preload_done
diff --git a/platform/exynos2100/patches/stock_blobs/customize.sh b/platform/exynos2100/patches/stock_blobs/customize.sh
new file mode 100644
index 0000000000..c570038dc0
--- /dev/null
+++ b/platform/exynos2100/patches/stock_blobs/customize.sh
@@ -0,0 +1,45 @@
+# S25 Ultra OneUI 7 -> SoundBooster 2060
+# S21 Series -> SoundBooster 1050
+# S21 FE -> SoundBooster 1070
+echo "Replacing SoundBooster"
+DELETE_FROM_WORK_DIR "system" "system/lib64/lib_SoundBooster_ver2060.so"
+if [[ "$TARGET_CODENAME" != "r9s" ]]; then
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/lib_SoundBooster_ver1050.so" 0 0 644 "u:object_r:system_lib_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/libsamsungSoundbooster_plus_legacy.so" 0 0 644 "u:object_r:system_lib_file:s0"
+else
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/lib_SoundBooster_ver1070.so" 0 0 644 "u:object_r:system_lib_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/libsamsungSoundbooster_plus_legacy.so" 0 0 644 "u:object_r:system_lib_file:s0"
+fi
+
+echo "Replacing GameDriver"
+DELETE_FROM_WORK_DIR "system" "system/priv-app/GameDriver-SM8750"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/priv-app/GameDriver-EX2100/GameDriver-EX2100.apk" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/priv-app/DevGPUDriver-EX2100/DevGPUDriver-EX2100.apk" 0 0 644 "u:object_r:system_file:s0"
+
+echo "Replacing Hotword"
+DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentXGoogleEx6_WIDEBAND_LARGE"
+DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentYGoogleEx6_WIDEBAND_LARGE"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "priv-app/HotwordEnrollmentOKGoogleEx3CORTEXM4/HotwordEnrollmentOKGoogleEx3CORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "priv-app/HotwordEnrollmentXGoogleEx3CORTEXM4/HotwordEnrollmentXGoogleEx3CORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
+
+echo "Replacing USB init files"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/init/hw/init.usb.configfs.rc" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/init/hw/init.usb.rc" 0 0 644 "u:object_r:system_file:s0"
+
+echo "Add 32-Bit WFD blobs"
+ADD_TO_WORK_DIR "p3sxxx" "system" "system/bin/remotedisplay" 0 2000 755 "u:object_r:remotedisplay_exec:s0"
+ADD_TO_WORK_DIR "p3sxxx" "system" "system/lib" 0 0 644 "u:object_r:system_lib_file:s0"
+
+echo "Adding stock NFC Case features"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.clearsideviewcover.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.sview.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.nfc_authentication_cover.xml" 0 0 644 "u:object_r:system_file:s0"
+
+if [[ "$TARGET_CODENAME" != "r9s" ]]; then
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/priv-app/LedBackCoverAppUnbound/LedBackCoverAppUnbound.apk" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/privapp-permissions-com.samsung.android.app.ledbackcover.xml" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.flip.xml" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.ledbackcover.xml" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.nfcledcover.xml" 0 0 644 "u:object_r:system_file:s0"
+fi
diff --git a/platform/exynos2100/patches/stock_blobs/module.prop b/platform/exynos2100/patches/stock_blobs/module.prop
new file mode 100644
index 0000000000..f94b0321ad
--- /dev/null
+++ b/platform/exynos2100/patches/stock_blobs/module.prop
@@ -0,0 +1,4 @@
+id=stock_blobs
+name=Stock blobs
+author=BotchedRPR, ExtremeXT
+description=Replaces source blobs with target ones.
\ No newline at end of file
diff --git a/platform/exynos9820/debloat.sh b/platform/exynos9820/debloat.sh
index 6a29e62f57..5c86d6ea0c 100644
--- a/platform/exynos9820/debloat.sh
+++ b/platform/exynos9820/debloat.sh
@@ -39,3 +39,25 @@ system/priv-app/SCameraSDKService
system/priv-app/sec_camerax_service
system/priv-app/VideoScan
"
+
+# Wi-Fi Hotspot Overlays
+PRODUCT_DEBLOAT+="
+overlay/SoftapOverlay6GHz
+overlay/SoftapOverlayDualAp
+overlay/SoftapOverlayOWE
+"
+
+# StorageShare (kSMBd)
+SYSTEM_DEBLOAT+="
+system/bin/ksmbd.addshare
+system/bin/ksmbd.adduser
+system/bin/ksmbd.control
+system/bin/ksmbd.mountd
+system/bin/ksmbd.tools
+system/etc/default-permissions/default-permissions-com.samsung.android.hwresourceshare.storage.xml
+system/etc/init/ksmbd.rc
+system/etc/permissions/privapp-permissions-com.samsung.android.hwresourceshare.storage.xml
+system/etc/sysconfig/preinstalled-packages-com.samsung.android.hwresourceshare.storage.xml
+system/etc/ksmbd.conf
+system/priv-app/StorageShare
+"
diff --git a/platform/exynos9820/patches/camera/customize.sh b/platform/exynos9820/patches/camera/customize.sh
index a0c7f5a353..dce55780f9 100644
--- a/platform/exynos9820/patches/camera/customize.sh
+++ b/platform/exynos9820/patches/camera/customize.sh
@@ -82,19 +82,11 @@ do
done
# Polarr SDK
-ADD_TO_WORK_DIR "b0sxxx" "system" "system/etc/public.libraries-polarr.txt" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "a26xxx" "system" "." 0 0 644 "u:object_r:system_file:s0"
-BLOBS_LIST="
-system/lib64/libBestComposition.polarr.so
-system/lib64/libFeature.polarr.so
-system/lib64/libPolarrSnap.polarr.so
-system/lib64/libTracking.polarr.so
-system/lib64/libYuv.polarr.so
-"
-for blob in $BLOBS_LIST
-do
- ADD_TO_WORK_DIR "b0sxxx" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
-done
+# Cleanup SamsungCamera OAT
+DELETE_FROM_WORK_DIR "system" "system/priv-app/SamsungCamera/oat"
+DELETE_FROM_WORK_DIR "system" "system/priv-app/SamsungCamera/SamsungCamera.apk.prof"
echo "Fix AI Photo Editor"
cp -a --preserve=all \
diff --git a/platform/exynos9820/patches/camera/system/priv-app/SamsungCamera/SamsungCamera.apk b/platform/exynos9820/patches/camera/system/priv-app/SamsungCamera/SamsungCamera.apk
new file mode 100644
index 0000000000..bb4aa7c660
Binary files /dev/null and b/platform/exynos9820/patches/camera/system/priv-app/SamsungCamera/SamsungCamera.apk differ
diff --git a/platform/exynos9820/patches/extradim/module.prop b/platform/exynos9820/patches/extradim/module.prop
new file mode 100644
index 0000000000..7121bc19db
--- /dev/null
+++ b/platform/exynos9820/patches/extradim/module.prop
@@ -0,0 +1,5 @@
+id=extradim
+name=extradim
+author=Ocin4ever
+description=Forces Extra Dim support.
+
diff --git a/platform/exynos9820/patches/extradim/smali/system/priv-app/SecSettings/SecSettings/0001-Force-Extra-Dim.patch b/platform/exynos9820/patches/extradim/smali/system/priv-app/SecSettings/SecSettings/0001-Force-Extra-Dim.patch
new file mode 100644
index 0000000000..ed7c1ecc39
--- /dev/null
+++ b/platform/exynos9820/patches/extradim/smali/system/priv-app/SecSettings/SecSettings/0001-Force-Extra-Dim.patch
@@ -0,0 +1,49 @@
+From a3c01d8cbdf115c4b220e6af029d59abffa635de Mon Sep 17 00:00:00 2001
+From: ExtremeXT <75576145+ExtremeXT@users.noreply.github.com>
+Date: Fri, 6 Jun 2025 21:12:59 +0300
+Subject: [PATCH] Force Extra Dim
+
+Signed-off-by: ExtremeXT <75576145+ExtremeXT@users.noreply.github.com>
+---
+ .../accessibility/SecAccessibilityUtils.smali | 18 ++----------------
+ 1 file changed, 2 insertions(+), 16 deletions(-)
+
+diff --git a/smali_classes4/com/samsung/android/settings/accessibility/SecAccessibilityUtils.smali b/smali_classes4/com/samsung/android/settings/accessibility/SecAccessibilityUtils.smali
+index ab25cf02e..30c1931a0 100644
+--- a/smali_classes4/com/samsung/android/settings/accessibility/SecAccessibilityUtils.smali
++++ b/smali_classes4/com/samsung/android/settings/accessibility/SecAccessibilityUtils.smali
+@@ -21,15 +21,7 @@
+
+ sput-object v0, Lcom/samsung/android/settings/accessibility/SecAccessibilityUtils;->excludeDeviceNameSet:Ljava/util/HashSet;
+
+- const-string v1, "beyond"
+-
+- invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
+-
+- const-string v1, "d1"
+-
+- invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
+-
+- const-string v1, "d2"
++ const-string v1, "theanswerisno"
+
+ invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
+
+@@ -1429,13 +1421,7 @@
+
+ move-result v0
+
+- const-string/jumbo v1, "ro.surface_flinger.protected_contents"
+-
+- const/4 v2, 0x0
+-
+- invoke-static {v1, v2}, Landroid/os/SystemProperties;->getBoolean(Ljava/lang/String;Z)Z
+-
+- move-result v1
++ const/4 v2, 0x1
+
+ const/4 v3, 0x1
+
+--
+2.45.2
+
diff --git a/platform/exynos9820/patches/extradim/smali/system_ext/priv-app/SystemUI/SystemUI.apk/0001-Force-Extra-Dim.patch b/platform/exynos9820/patches/extradim/smali/system_ext/priv-app/SystemUI/SystemUI.apk/0001-Force-Extra-Dim.patch
new file mode 100644
index 0000000000..4bb970ee82
--- /dev/null
+++ b/platform/exynos9820/patches/extradim/smali/system_ext/priv-app/SystemUI/SystemUI.apk/0001-Force-Extra-Dim.patch
@@ -0,0 +1,47 @@
+From 8b87437483de82a55211d4827896823afdb742f7 Mon Sep 17 00:00:00 2001
+From: ExtremeXT <75576145+ExtremeXT@users.noreply.github.com>
+Date: Fri, 6 Jun 2025 21:09:29 +0300
+Subject: [PATCH] Force Extra Dim
+
+Signed-off-by: ExtremeXT <75576145+ExtremeXT@users.noreply.github.com>
+---
+ .../qs/tiles/ReduceBrightColorsTile.smali | 16 ++--------------
+ 1 file changed, 2 insertions(+), 14 deletions(-)
+
+diff --git a/smali_classes2/com/android/systemui/qs/tiles/ReduceBrightColorsTile.smali b/smali_classes2/com/android/systemui/qs/tiles/ReduceBrightColorsTile.smali
+index bbc11bc0d..b69319005 100644
+--- a/smali_classes2/com/android/systemui/qs/tiles/ReduceBrightColorsTile.smali
++++ b/smali_classes2/com/android/systemui/qs/tiles/ReduceBrightColorsTile.smali
+@@ -26,15 +26,7 @@
+
+ sput-object v0, Lcom/android/systemui/qs/tiles/ReduceBrightColorsTile;->excludeDeviceNameSet:Ljava/util/HashSet;
+
+- const-string v1, "beyond"
+-
+- invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
+-
+- const-string v1, "d1"
+-
+- invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
+-
+- const-string v1, "d2"
++ const-string v1, "theanswerisno"
+
+ invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
+
+@@ -390,11 +382,7 @@
+
+ move-result v0
+
+- const-string v2, "ro.surface_flinger.protected_contents"
+-
+- invoke-static {v2, v1}, Landroid/os/SystemProperties;->getBoolean(Ljava/lang/String;Z)Z
+-
+- move-result v2
++ const/4 v2, 0x1
+
+ const/4 v3, 0x1
+
+--
+2.45.2
+
diff --git a/platform/exynos9820/patches/extremekrnl/customize.sh b/platform/exynos9820/patches/extremekrnl/customize.sh
index c1157cf8f5..a9591cb12d 100644
--- a/platform/exynos9820/patches/extremekrnl/customize.sh
+++ b/platform/exynos9820/patches/extremekrnl/customize.sh
@@ -1,23 +1,82 @@
# [
-EXTREMEKRNL_REPO="https://github.com/ExtremeXT/M62-backport/releases/download/latest"
-KERNELSU_MANAGER_APK="https://github.com/KernelSU-Next/KernelSU-Next/releases/download/v1.0.6/KernelSU_Next_v1.0.6_12490-release.apk"
+EXTREMEKRNL_REPO="https://github.com/ExtremeXT/M62-backport/"
+KERNELSU_MANAGER_APK="https://github.com/KernelSU-Next/KernelSU-Next/releases/download/v1.0.7/KernelSU_Next_v1.0.7_12602-release.apk"
+
+BUILD_KERNEL()
+{
+ PARENT=$(pwd)
+ cd "$KERNEL_TMP_DIR"
+
+ ./build.sh -m ${TARGET_CODENAME} -k y -d n
+
+ cd $PARENT
+}
+
+SAFE_PULL_CHANGES()
+{
+ PARENT=$(pwd)
+ cd "$KERNEL_TMP_DIR"
+
+ set -eo pipefail
+
+ git fetch origin
+
+ LOCAL=$(git rev-parse @)
+ REMOTE=$(git rev-parse origin/main)
+ BASE=$(git merge-base @ origin/main)
+
+ # Now we have three cases that we need to take care of.
+ if [ "$LOCAL" = "$REMOTE" ]; then
+ echo "Local branch is up-to-date with remote."
+ elif [ "$LOCAL" = "$BASE" ]; then
+ echo "Fast-forward possible. Pulling..."
+ git pull --ff-only
+ elif [ "$REMOTE" = "$BASE" ]; then
+ echo "Local branch is ahead of remote. Not doing anything."
+ else
+ echo "ERR: Remote history has diverged (possible force-push)."
+ cd "$PARENT"
+ return 1
+ fi
+
+ cd "$PARENT"
+}
REPLACE_KERNEL_BINARIES()
{
- [ -d "$TMP_DIR" ] && rm -rf "$TMP_DIR"
- mkdir -p "$TMP_DIR"
+ local KERNEL_TMP_DIR="$KERNEL_TMP_DIR-$TARGET_PLATFORM"
+ [ ! -d "$KERNEL_TMP_DIR" ] && mkdir -p "$KERNEL_TMP_DIR"
+
+ echo "Cloning/updating ExtremeKernel"
- ZIP_LINK="$EXTREMEKRNL_REPO/ExtremeKRNL-Nexus-${TARGET_CODENAME}.zip"
- echo "Downloading $(basename "$ZIP_LINK")"
- curl -L -s -o "$TMP_DIR/krnl.zip" "$ZIP_LINK"
+ # If the kernel dir exists, pull the latest changes.
+ # If it does not exist, clone the repo.
+ if [ -d "$KERNEL_TMP_DIR/.git" ]; then
+ echo "Existing git repo found, trying to pull latest changes."
+ if ! SAFE_PULL_CHANGES; then
+ echo "ERR: Could not pull latest Kernel changes."
+ echo "If you hold local changes, please rebase to the new base."
+ echo "If not, cleaning the kernel_tmp_dir should suffice."
+ return 1
+ fi
+ else
+ rm -rf "$KERNEL_TMP_DIR"
+ git clone "$EXTREMEKRNL_REPO" --single-branch "$KERNEL_TMP_DIR" --recurse-submodules
+ fi
- echo "Extracting kernel binaries"
+ echo "Running the kernel build script."
+ BUILD_KERNEL
rm -f "$WORK_DIR/kernel/"*.img
- unzip -q -j "$TMP_DIR/krnl.zip" \
- "files/boot.img" "files/dtbo.img" "files/dtb.img" \
- -d "$WORK_DIR/kernel"
- rm -rf "$TMP_DIR"
+ # Move the files to the work dir
+ mv -v "$KERNEL_TMP_DIR/build/out/$TARGET_CODENAME/boot.img" "$WORK_DIR/kernel"
+ mv -v "$KERNEL_TMP_DIR/build/out/$TARGET_CODENAME/dtbo.img" "$WORK_DIR/kernel"
+
+ # Usually we would delete the temporary directory.
+ # However, the Kernel has its own build system that
+ # will track changes made to the source by itself.
+ # Clean building the kernel also takes a long time.
+ # So, keep the kernel temp dir.
}
ADD_MANAGER_APK_TO_PRELOAD()
diff --git a/platform/exynos9820/patches/hrm/customize.sh b/platform/exynos9820/patches/hrm/customize.sh
new file mode 100644
index 0000000000..6db2d6a802
--- /dev/null
+++ b/platform/exynos9820/patches/hrm/customize.sh
@@ -0,0 +1,16 @@
+if [[ "$TARGET_CODENAME" != "beyond0lte" && "$TARGET_CODENAME" != "beyondx" ]]; then
+ echo "Add stock HRM blobs"
+ BLOBS_LIST="
+ system/etc/permissions/privapp-permissions-com.sec.android.service.health.xml
+ system/etc/permissions/android.hardware.sensor.heartrate.xml
+ system/etc/permissions/com.sec.feature.spo2.xml
+ system/lib64/libhr.so
+ system/priv-app/HealthServicePAR
+ "
+ for blob in $BLOBS_LIST
+ do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob"
+ done
+else
+ echo "Detected beyond0 or beyondx! Skipping HRM..."
+fi
diff --git a/platform/exynos9820/patches/hrm/module.prop b/platform/exynos9820/patches/hrm/module.prop
new file mode 100644
index 0000000000..b110433dec
--- /dev/null
+++ b/platform/exynos9820/patches/hrm/module.prop
@@ -0,0 +1,4 @@
+id=hrm
+name=Fix HRM
+author=duhansysl
+description=Adds support for the Heart Rate Monitor sensor.
diff --git a/platform/exynos9820/patches/miscs/customize.sh b/platform/exynos9820/patches/miscs/customize.sh
index 36b43c6d40..69fdf422ed 100644
--- a/platform/exynos9820/patches/miscs/customize.sh
+++ b/platform/exynos9820/patches/miscs/customize.sh
@@ -1,9 +1,3 @@
-echo "Disabling A/B"
-SET_PROP "product" "ro.product.ab_ota_partitions" --delete
-
-echo "Disabling UFFD GC"
-SET_PROP "product" "ro.dalvik.vm.enable_uffd_gc" "false"
-
echo "Disabling encryption"
# Encryption
LINE=$(sed -n "/^\/dev\/block\/by-name\/userdata/=" "$WORK_DIR/vendor/etc/fstab.exynos9820")
@@ -12,6 +6,12 @@ sed -i "${LINE}s/,fileencryption=ice//g" "$WORK_DIR/vendor/etc/fstab.exynos9820"
# ODE
sed -i -e "/ODE/d" -e "/keydata/d" -e "/keyrefuge/d" "$WORK_DIR/vendor/etc/fstab.exynos9820"
+echo "Enabling updateable APEX images"
+SET_PROP "vendor" "ro.apex.updatable" "true"
+
+echo "Enabling IncrementalFS"
+SET_PROP "vendor" "ro.incremental.enable" "yes"
+
echo "Setting /data to F2FS"
FROM="noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic"
TO="noatime,nosuid,nodev,discard,usrquota,grpquota,fsync_mode=nobarrier,reserve_root=32768,resgid=5678"
@@ -24,3 +24,27 @@ echo "Setting SF flags"
SET_PROP "vendor" "debug.sf.latch_unsignaled" "1"
SET_PROP "vendor" "debug.sf.high_fps_late_app_phase_offset_ns" "0"
SET_PROP "vendor" "debug.sf.high_fps_late_sf_phase_offset_ns" "0"
+
+echo "Disabling HFR"
+SET_PROP "vendor" "debug.sf.show_refresh_rate_overlay_render_rate" "true"
+SET_PROP "vendor" "ro.surface_flinger.game_default_frame_rate_override" "60"
+SET_PROP "vendor" "ro.surface_flinger.enable_frame_rate_override" "false"
+SET_PROP "vendor" "ro.surface_flinger.use_content_detection_for_refresh_rate" "false"
+
+echo "Enable Vulkan"
+SET_PROP "vendor" "ro.hwui.use_vulkan" "true"
+SET_PROP "vendor" "debug.hwui.use_hint_manager" "true"
+
+# For some reason we are missing 2 permissions here: android.hardware.security.model.compatible and android.software.controls
+# First one is related to encryption and second one to SmartThings Device Control
+echo "Patching vendor permissions"
+sed -i '$d' "$WORK_DIR/vendor/etc/permissions/handheld_core_hardware.xml"
+{
+ echo ""
+ echo " "
+ echo " "
+ echo ""
+ echo " "
+ echo " "
+ echo ""
+} >> "$WORK_DIR/vendor/etc/permissions/handheld_core_hardware.xml"
diff --git a/platform/exynos9820/patches/miscs/vendor.prop b/platform/exynos9820/patches/miscs/vendor.prop
deleted file mode 100644
index 97284916f9..0000000000
--- a/platform/exynos9820/patches/miscs/vendor.prop
+++ /dev/null
@@ -1,2 +0,0 @@
-# Enable updateable APEX images
-ro.apex.updatable=true
diff --git a/platform/exynos9820/patches/stock_blobs/customize.sh b/platform/exynos9820/patches/stock_blobs/customize.sh
index 87b1457d8b..7d9f6eff08 100644
--- a/platform/exynos9820/patches/stock_blobs/customize.sh
+++ b/platform/exynos9820/patches/stock_blobs/customize.sh
@@ -14,19 +14,33 @@ MODEL=$(echo -n "$TARGET_FIRMWARE" | cut -d "/" -f 1)
REGION=$(echo -n "$TARGET_FIRMWARE" | cut -d "/" -f 2)
echo "Replacing Hotword"
-# Why does 9820 have this in system and not product?
DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentXGoogleEx6_WIDEBAND_LARGE"
DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentYGoogleEx6_WIDEBAND_LARGE"
-cp -a --preserve=all "$FW_DIR/${MODEL}_${REGION}/system/system/priv-app/HotwordEnrollmentOKGoogleExCORTEXM4" "$WORK_DIR/product/priv-app"
-cp -a --preserve=all "$FW_DIR/${MODEL}_${REGION}/system/system/priv-app/HotwordEnrollmentXGoogleExCORTEXM4" "$WORK_DIR/product/priv-app"
+mkdir -p "$FW_DIR/${MODEL}_${REGION}/system/system/priv-app/HotwordEnrollmentOKGoogleExCORTEXM4"
+mkdir -p "$FW_DIR/${MODEL}_${REGION}/system/system/priv-app/HotwordEnrollmentXGoogleExCORTEXM4"
+cp -a --preserve=all "$FW_DIR/${MODEL}_${REGION}/system/system/priv-app/HotwordEnrollmentOKGoogleExCORTEXM4/HotwordEnrollmentOKGoogleExCORTEXM4.apk" "$WORK_DIR/product/priv-app/HotwordEnrollmentOKGoogleExCORTEXM4"
+cp -a --preserve=all "$FW_DIR/${MODEL}_${REGION}/system/system/priv-app/HotwordEnrollmentXGoogleExCORTEXM4/HotwordEnrollmentXGoogleExCORTEXM4.apk" "$WORK_DIR/product/priv-app/HotwordEnrollmentXGoogleExCORTEXM4"
SET_METADATA "product" "priv-app/HotwordEnrollmentOKGoogleExCORTEXM4" 0 0 755 "u:object_r:system_file:s0"
SET_METADATA "product" "priv-app/HotwordEnrollmentOKGoogleExCORTEXM4/HotwordEnrollmentOKGoogleExCORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
-SET_METADATA "product" "priv-app/HotwordEnrollmentOKGoogleExCORTEXM4/HotwordEnrollmentOKGoogleExCORTEXM4.apk.prof" 0 0 644 "u:object_r:system_file:s0"
SET_METADATA "product" "priv-app/HotwordEnrollmentXGoogleExCORTEXM4" 0 0 755 "u:object_r:system_file:s0"
SET_METADATA "product" "priv-app/HotwordEnrollmentXGoogleExCORTEXM4/HotwordEnrollmentXGoogleExCORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
-SET_METADATA "product" "priv-app/HotwordEnrollmentXGoogleExCORTEXM4/HotwordEnrollmentXGoogleExCORTEXM4.apk.prof" 0 0 644 "u:object_r:system_file:s0"
-echo "Add 32-Bit WFD blobs"
+echo "Adding 32-Bit WFD blobs"
ADD_TO_WORK_DIR "p3sxxx" "system" "system/bin/remotedisplay" 0 2000 755 "u:object_r:remotedisplay_exec:s0"
ADD_TO_WORK_DIR "p3sxxx" "system" "system/lib" 0 0 644 "u:object_r:system_lib_file:s0"
+
+echo "Adding stock NFC Case features"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.sview.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.nfc_authentication_cover.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.clearcover.xml" 0 0 644 "u:object_r:system_file:s0"
+
+if [[ "$TARGET_CODENAME" != "beyondx" ]]; then
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.flip.xml" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.ledbackcover.xml" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.nfcledcover.xml" 0 0 644 "u:object_r:system_file:s0"
+fi
+
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/priv-app/LedBackCoverAppBeyond/LedBackCoverAppBeyond.apk" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/privapp-permissions-com.samsung.android.app.ledbackcover.xml" 0 0 644 "u:object_r:system_file:s0"
diff --git a/platform/exynos9820/patches/vendor/customize.sh b/platform/exynos9820/patches/vendor/customize.sh
index f1652a42f1..da13e07d3e 100644
--- a/platform/exynos9820/patches/vendor/customize.sh
+++ b/platform/exynos9820/patches/vendor/customize.sh
@@ -25,6 +25,25 @@ do
DELETE_FROM_WORK_DIR "vendor" "$blob"
done
+echo "Removing RenderScript..."
+BLOBS_LIST="
+bin/bcc_mali
+lib/libmalicore.bc
+lib/libclcore.bc
+lib/libclcore_neon.bc
+lib/libRSDriverArm.so
+lib64/libLLVM_android_mali.so
+lib64/libbcc_mali.so
+lib64/libbccArm.so
+lib64/libclcore.bc
+lib64/libmalicore.bc
+lib64/libRSDriverArm.so
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "vendor" "$blob"
+done
+
# Fix SNAP AIDL SELinux rule
sed -i "s/(allow snap_hidl hal_snap_service (service_manager (find)))/(allow snap_hidl hal_snap_service (service_manager (add find)))/g" "$WORK_DIR/vendor/etc/selinux/vendor_sepolicy.cil"
diff --git a/platform/exynos9820/patches/vendor/file_context-vendor b/platform/exynos9820/patches/vendor/file_context-vendor
index 507c7fa723..1d4ec68abb 100644
--- a/platform/exynos9820/patches/vendor/file_context-vendor
+++ b/platform/exynos9820/patches/vendor/file_context-vendor
@@ -5,10 +5,10 @@
/vendor/bin/hw/android\.hardware\.graphics\.allocator@2\.0-service u:object_r:hal_graphics_allocator_default_exec:s0
/vendor/bin/hw/android\.hardware\.graphics\.composer@2\.2-service u:object_r:hal_graphics_composer_default_exec:s0
/vendor/bin/hw/rild u:object_r:rild_exec:s0
+/vendor/bin/hw/vendor\.samsung_slsi\.hardware\.ExynosHWCServiceTW@1\.0-service u:object_r:hal_vendor_hwcservice_default_exec:s0
/vendor/bin/hw/vendor\.samsung\.hardware\.snap-service u:object_r:snap_hidl_exec:s0
/vendor/bin/hw/vendor\.samsung\.hardware\.sysinput@1\.3-service u:object_r:hal_sec_inputdev_default_exec:s0
/vendor/bin/hw/vendor\.samsung\.hardware\.vibrator-service u:object_r:hal_vibrator_default_exec:s0
-/vendor/bin/hw/vendor\.samsung_slsi\.hardware\.ExynosHWCServiceTW@1\.0-service u:object_r:hal_vendor_hwcservice_default_exec:s0
/vendor/bin/hw/wpa_supplicant u:object_r:hal_wifi_supplicant_default_exec:s0
/vendor/bin/snap_utility_64 u:object_r:snap_utility_exec:s0
/vendor/eden u:object_r:vendor_file:s0
@@ -16,6 +16,9 @@
/vendor/eden/gpu/eden_kernel_32\.bin u:object_r:vendor_eden_gpu_vendor_file:s0
/vendor/eden/gpu/eden_kernel_64\.bin u:object_r:vendor_eden_gpu_vendor_file:s0
/vendor/etc u:object_r:vendor_configs_file:s0
+/vendor/etc/audio_effects_spatializer\.xml u:object_r:vendor_configs_file:s0
+/vendor/etc/audio_policy_configuration_base\.xml u:object_r:vendor_configs_file:s0
+/vendor/etc/bluetooth_audio_policy_configuration\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/init u:object_r:vendor_configs_file:s0
/vendor/etc/init/android\.hardware\.wifi\.supplicant-service\.rc u:object_r:vendor_configs_file:s0
/vendor/etc/init/init\.vendor\.rilchip\.rc u:object_r:vendor_configs_file:s0
@@ -23,26 +26,27 @@
/vendor/etc/init/vendor\.samsung\.hardware\.snap-lazy\.rc u:object_r:vendor_configs_file:s0
/vendor/etc/init/vendor\.samsung\.hardware\.sysinput@1\.3-service\.rc u:object_r:vendor_configs_file:s0
/vendor/etc/init/vendor\.samsung\.hardware\.vibrator-default\.rc u:object_r:vendor_configs_file:s0
-/vendor/etc/audio_effects_spatializer\.xml u:object_r:vendor_configs_file:s0
-/vendor/etc/audio_policy_configuration_base\.xml u:object_r:vendor_configs_file:s0
-/vendor/etc/bluetooth_audio_policy_configuration\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/mtu-conf\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/playback_record_audio_policy_configuration\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/snap_gpu_kernel_64\.bin u:object_r:vendor_configs_file:s0
/vendor/etc/vintf u:object_r:vendor_configs_file:s0
-/vendor/etc/vintf/manifest\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest/android\.hardware\.wifi\.supplicant\.xml u:object_r:vendor_configs_file:s0
-/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.radio\.exclude\.slsi\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.radio_manifest_2_31\.xml u:object_r:vendor_configs_file:s0
+/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.radio\.exclude\.slsi\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.sehradio_manifest_2_31\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.snap-default\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.vibrator-default\.xml u:object_r:vendor_configs_file:s0
+/vendor/etc/vintf/manifest\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/wifi u:object_r:vendor_configs_file:s0
/vendor/etc/wifi/wpa_supplicant_overlay\.conf u:object_r:vendor_configs_file:s0
/vendor/firmware u:object_r:vendor_fw_file:s0
/vendor/firmware/a2dpcom\.bin u:object_r:vendor_file:s0
/vendor/lib u:object_r:vendor_file:s0
+/vendor/lib/android\.hardware\.common-V2-ndk\.so u:object_r:vendor_file:s0
+/vendor/lib/android\.hardware\.graphics\.allocator-V1-ndk\.so u:object_r:vendor_file:s0
+/vendor/lib/android\.hardware\.graphics\.common-V3-ndk\.so u:object_r:vendor_file:s0
+/vendor/lib/arm\.graphics-V1-ndk\.so u:object_r:vendor_file:s0
/vendor/lib/egl u:object_r:same_process_hal_file:s0
/vendor/lib/egl/libGLES_mali\.so u:object_r:same_process_hal_file:s0
/vendor/lib/hw u:object_r:vendor_hal_file:s0
@@ -54,19 +58,15 @@
/vendor/lib/hw/gralloc\.default\.so u:object_r:same_process_hal_file:s0
/vendor/lib/hw/gralloc\.exynos9820\.so u:object_r:same_process_hal_file:s0
/vendor/lib/hw/hwcomposer\.exynos9820\.so u:object_r:vendor_file:s0
+/vendor/lib/hw/vendor\.samsung_slsi\.hardware\.ExynosA2DPOffload@3\.0-impl\.so u:object_r:vendor_file:s0
/vendor/lib/hw/vendor\.samsung\.hardware\.bluetooth\.a2dp@1\.0-impl\.so u:object_r:vendor_file:s0
/vendor/lib/hw/vendor\.samsung\.hardware\.bluetooth\.a2dpsink@1\.0-impl\.so u:object_r:vendor_file:s0
/vendor/lib/hw/vendor\.samsung\.hardware\.bluetooth\.audio@2\.1-impl\.so u:object_r:vendor_file:s0
-/vendor/lib/hw/vendor\.samsung_slsi\.hardware\.ExynosA2DPOffload@3\.0-impl\.so u:object_r:vendor_file:s0
/vendor/lib/hw/vulkan\.mali\.so u:object_r:same_process_hal_file:s0
-/vendor/lib/android\.hardware\.common-V2-ndk\.so u:object_r:vendor_file:s0
-/vendor/lib/android\.hardware\.graphics\.allocator-V1-ndk\.so u:object_r:vendor_file:s0
-/vendor/lib/android\.hardware\.graphics\.common-V3-ndk\.so u:object_r:vendor_file:s0
-/vendor/lib/arm\.graphics-V1-ndk\.so u:object_r:vendor_file:s0
/vendor/lib/libaboxpcmdump\.so u:object_r:vendor_file:s0
-/vendor/lib/libaudioproxy2\.so u:object_r:vendor_file:s0
/vendor/lib/libacryl\.so u:object_r:vendor_file:s0
/vendor/lib/libaudioparamupdate\.so u:object_r:vendor_file:s0
+/vendor/lib/libaudioproxy2\.so u:object_r:vendor_file:s0
/vendor/lib/libbluetooth_a2dpsink_session\.so u:object_r:vendor_file:s0
/vendor/lib/libdatamod\.so u:object_r:vendor_file:s0
/vendor/lib/libdrmresource-v33\.so u:object_r:vendor_file:s0
@@ -84,32 +84,17 @@
/vendor/lib/libsehbluetooth_audio_session\.so u:object_r:vendor_file:s0
/vendor/lib/libsemnativecarrierfeature\.so u:object_r:vendor_file:s0
/vendor/lib/libspatializerparamstorage\.so u:object_r:vendor_file:s0
+/vendor/lib/vendor\.samsung_slsi\.hardware\.ExynosA2DPOffload@3\.0\.so u:object_r:vendor_file:s0
/vendor/lib/vendor\.samsung\.hardware\.bluetooth\.a2dp@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib/vendor\.samsung\.hardware\.bluetooth\.a2dpsink@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib/vendor\.samsung\.hardware\.bluetooth\.audio@2\.0\.so u:object_r:vendor_file:s0
/vendor/lib/vendor\.samsung\.hardware\.bluetooth\.audio@2\.1\.so u:object_r:vendor_file:s0
/vendor/lib/vendor\.samsung\.hardware\.hyper-V2-ndk_platform\.so u:object_r:vendor_file:s0
-/vendor/lib/vendor\.samsung_slsi\.hardware\.ExynosA2DPOffload@3\.0\.so u:object_r:vendor_file:s0
/vendor/lib/vintf-codecsolution-V2-ndk\.so u:object_r:vendor_file:s0
/vendor/lib/vndk u:object_r:vendor_file:s0
/vendor/lib/vndk/libaudioroute\.so u:object_r:vendor_file:s0
/vendor/lib/vndk/libtinyalsa\.so u:object_r:vendor_file:s0
/vendor/lib64 u:object_r:vendor_file:s0
-/vendor/lib64/egl u:object_r:same_process_hal_file:s0
-/vendor/lib64/egl/libGLES_mali\.so u:object_r:same_process_hal_file:s0
-/vendor/lib64/hw u:object_r:vendor_hal_file:s0
-/vendor/lib64/hw/android\.hardware\.graphics\.allocator@2\.0-impl\.so u:object_r:vendor_file:s0
-/vendor/lib64/hw/android\.hardware\.graphics\.mapper@2\.0-impl-2\.1\.so u:object_r:same_process_hal_file:s0
-/vendor/lib64/hw/android\.hardware\.renderscript@1\.0-impl\.so u:object_r:same_process_hal_file:s0
-/vendor/lib64/hw/audio\.a2dpsink\.default\.so u:object_r:vendor_file:s0
-/vendor/lib64/hw/audio\.bluetooth\.default\.so u:object_r:vendor_file:s0
-/vendor/lib64/hw/gralloc\.default\.so u:object_r:same_process_hal_file:s0
-/vendor/lib64/hw/gralloc\.exynos9820\.so u:object_r:same_process_hal_file:s0
-/vendor/lib64/hw/hwcomposer\.exynos9820\.so u:object_r:vendor_file:s0
-/vendor/lib64/hw/vendor\.samsung\.hardware\.bluetooth\.a2dp@1\.0-impl\.so u:object_r:vendor_file:s0
-/vendor/lib64/hw/vendor\.samsung\.hardware\.bluetooth\.a2dpsink@1\.0-impl\.so u:object_r:vendor_file:s0
-/vendor/lib64/hw/vendor\.samsung\.hardware\.bluetooth\.audio@2\.1-impl\.so u:object_r:vendor_file:s0
-/vendor/lib64/hw/vulkan\.mali\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/android\.hardware\.common-V2-ndk\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.graphics\.allocator-V1-ndk\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.graphics\.common-V3-ndk\.so u:object_r:vendor_file:s0
@@ -117,11 +102,6 @@
/vendor/lib64/android\.hardware\.graphics\.composer@2\.1\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.graphics\.composer@2\.2-resources\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.graphics\.composer@2\.2\.so u:object_r:vendor_file:s0
-/vendor/lib64/android\.hardware\.radio\.config@1\.0\.so u:object_r:vendor_file:s0
-/vendor/lib64/android\.hardware\.radio\.config@1\.1\.so u:object_r:vendor_file:s0
-/vendor/lib64/android\.hardware\.radio\.config@1\.2\.so u:object_r:vendor_file:s0
-/vendor/lib64/android\.hardware\.radio\.config@1\.3\.so u:object_r:vendor_file:s0
-/vendor/lib64/android\.hardware\.radio\.deprecated@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.radio@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.radio@1\.1\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.radio@1\.2\.so u:object_r:vendor_file:s0
@@ -129,33 +109,53 @@
/vendor/lib64/android\.hardware\.radio@1\.4\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.radio@1\.5\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.radio@1\.6\.so u:object_r:vendor_file:s0
+/vendor/lib64/android\.hardware\.radio\.config@1\.0\.so u:object_r:vendor_file:s0
+/vendor/lib64/android\.hardware\.radio\.config@1\.1\.so u:object_r:vendor_file:s0
+/vendor/lib64/android\.hardware\.radio\.config@1\.2\.so u:object_r:vendor_file:s0
+/vendor/lib64/android\.hardware\.radio\.config@1\.3\.so u:object_r:vendor_file:s0
+/vendor/lib64/android\.hardware\.radio\.deprecated@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.wifi\.supplicant@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.wifi\.supplicant@1\.1\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.wifi\.supplicant@1\.2\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.wifi\.supplicant@1\.3\.so u:object_r:vendor_file:s0
/vendor/lib64/android\.hardware\.wifi\.supplicant@1\.4\.so u:object_r:vendor_file:s0
/vendor/lib64/arm\.graphics-V1-ndk\.so u:object_r:vendor_file:s0
+/vendor/lib64/egl u:object_r:same_process_hal_file:s0
+/vendor/lib64/egl/libGLES_mali\.so u:object_r:same_process_hal_file:s0
+/vendor/lib64/hw u:object_r:vendor_hal_file:s0
+/vendor/lib64/hw/android\.hardware\.graphics\.allocator@2\.0-impl\.so u:object_r:vendor_file:s0
+/vendor/lib64/hw/android\.hardware\.graphics\.mapper@2\.0-impl-2\.1\.so u:object_r:same_process_hal_file:s0
+/vendor/lib64/hw/android\.hardware\.renderscript@1\.0-impl\.so u:object_r:same_process_hal_file:s0
+/vendor/lib64/hw/audio\.a2dpsink\.default\.so u:object_r:vendor_file:s0
+/vendor/lib64/hw/audio\.bluetooth\.default\.so u:object_r:vendor_file:s0
+/vendor/lib64/hw/gralloc\.default\.so u:object_r:same_process_hal_file:s0
+/vendor/lib64/hw/gralloc\.exynos9820\.so u:object_r:same_process_hal_file:s0
+/vendor/lib64/hw/hwcomposer\.exynos9820\.so u:object_r:vendor_file:s0
+/vendor/lib64/hw/vendor\.samsung\.hardware\.bluetooth\.a2dp@1\.0-impl\.so u:object_r:vendor_file:s0
+/vendor/lib64/hw/vendor\.samsung\.hardware\.bluetooth\.a2dpsink@1\.0-impl\.so u:object_r:vendor_file:s0
+/vendor/lib64/hw/vendor\.samsung\.hardware\.bluetooth\.audio@2\.1-impl\.so u:object_r:vendor_file:s0
+/vendor/lib64/hw/vulkan\.mali\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libaboxpcmdump\.so u:object_r:vendor_file:s0
-/vendor/lib64/libaudioproxy2\.so u:object_r:vendor_file:s0
/vendor/lib64/libacryl\.so u:object_r:vendor_file:s0
/vendor/lib64/libaudioparamupdate\.so u:object_r:vendor_file:s0
+/vendor/lib64/libaudioproxy2\.so u:object_r:vendor_file:s0
/vendor/lib64/libbluetooth_a2dpsink_session\.so u:object_r:vendor_file:s0
-/vendor/lib64/libengmode15\.so u:object_r:vendor_file:s0
-/vendor/lib64/libengmode_tlc\.so u:object_r:vendor_file:s0
-/vendor/lib64/libengmode_client\.so u:object_r:vendor_file:s0
-/vendor/lib64/libengmode_server\.so u:object_r:vendor_file:s0
/vendor/lib64/libdatamod\.so u:object_r:vendor_file:s0
/vendor/lib64/libdrmresource-v33\.so u:object_r:vendor_file:s0
+/vendor/lib64/libengmode_client\.so u:object_r:vendor_file:s0
+/vendor/lib64/libengmode_server\.so u:object_r:vendor_file:s0
+/vendor/lib64/libengmode_tlc\.so u:object_r:vendor_file:s0
+/vendor/lib64/libengmode15\.so u:object_r:vendor_file:s0
/vendor/lib64/libexynosdisplay\.so u:object_r:vendor_file:s0
/vendor/lib64/libExynosHWCService\.so u:object_r:vendor_file:s0
/vendor/lib64/libexynosutils\.so u:object_r:vendor_file:s0
/vendor/lib64/libexynosv4l2\.so u:object_r:vendor_file:s0
/vendor/lib64/libfmq-v33\.so u:object_r:vendor_file:s0
+/vendor/lib64/libgui_vendor\.so u:object_r:vendor_file:s0
/vendor/lib64/libhdr_plugin_exynos9820\.so u:object_r:vendor_file:s0
/vendor/lib64/libhdr10p_meta_plugin_default\.so u:object_r:vendor_file:s0
/vendor/lib64/libhwc2on1adapter\.so u:object_r:vendor_file:s0
/vendor/lib64/libhwc2onfbadapter\.so u:object_r:vendor_file:s0
-/vendor/lib64/libgui_vendor\.so u:object_r:vendor_file:s0
/vendor/lib64/libion_exynos\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/liblastaboxmsg\.so u:object_r:vendor_file:s0
/vendor/lib64/libril_sem\.so u:object_r:vendor_file:s0
@@ -167,23 +167,25 @@
/vendor/lib64/libSemDataProps\.so u:object_r:vendor_file:s0
/vendor/lib64/libsemnativecarrierfeature\.so u:object_r:vendor_file:s0
/vendor/lib64/libSemTelephonyProps\.so u:object_r:vendor_file:s0
-/vendor/lib64/libsnap_compute\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libsnap_compute_wrapper\.so u:object_r:same_process_hal_file:s0
+/vendor/lib64/libsnap_compute\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libsnap_vndk\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libsnaplite_native\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libsnaplite_wrapper\.so u:object_r:same_process_hal_file:s0
/vendor/lib64/libspatializerparamstorage\.so u:object_r:vendor_file:s0
+/vendor/lib64/vendor\.samsung_slsi\.hardware\.ExynosA2DPOffload@3\.0\.so u:object_r:vendor_file:s0
+/vendor/lib64/vendor\.samsung_slsi\.hardware\.ExynosHWCServiceTW@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.bluetooth\.a2dp@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.bluetooth\.a2dpsink@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.bluetooth\.audio@2\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.bluetooth\.audio@2\.1\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.hyper-V2-ndk\.so u:object_r:vendor_file:s0
-/vendor/lib64/vendor\.samsung\.hardware\.radio\.bridge@2\.0\.so u:object_r:vendor_file:s0
-/vendor/lib64/vendor\.samsung\.hardware\.radio\.bridge@2\.1\.so u:object_r:vendor_file:s0
-/vendor/lib64/vendor\.samsung\.hardware\.radio\.channel@2\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.radio@2\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.radio@2\.1\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.radio@2\.2\.so u:object_r:vendor_file:s0
+/vendor/lib64/vendor\.samsung\.hardware\.radio\.bridge@2\.0\.so u:object_r:vendor_file:s0
+/vendor/lib64/vendor\.samsung\.hardware\.radio\.bridge@2\.1\.so u:object_r:vendor_file:s0
+/vendor/lib64/vendor\.samsung\.hardware\.radio\.channel@2\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.snap-V1-ndk\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.sysinput@1\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.sysinput@1\.1\.so u:object_r:vendor_file:s0
@@ -192,5 +194,3 @@
/vendor/lib64/vendor\.samsung\.hardware\.vibrator-V5-ndk_platform\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.wifi\.supplicant@3\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.wifi\.supplicant@3\.1\.so u:object_r:vendor_file:s0
-/vendor/lib64/vendor\.samsung_slsi\.hardware\.ExynosA2DPOffload@3\.0\.so u:object_r:vendor_file:s0
-/vendor/lib64/vendor\.samsung_slsi\.hardware\.ExynosHWCServiceTW@1\.0\.so u:object_r:vendor_file:s0
diff --git a/platform/exynos9820/patches/vendor/fs_config-vendor b/platform/exynos9820/patches/vendor/fs_config-vendor
index 9b815d3d64..d711634887 100644
--- a/platform/exynos9820/patches/vendor/fs_config-vendor
+++ b/platform/exynos9820/patches/vendor/fs_config-vendor
@@ -1,72 +1,72 @@
0 2000 755 capabilities=0x0
-vendor/bin 0 2000 0751
-vendor/bin/hw 0 2000 0751
-vendor/bin/hw/android.hardware.audio.service 0 2000 0755
-vendor/bin/hw/android.hardware.graphics.allocator@2.0-service 0 2000 755
-vendor/bin/hw/android.hardware.graphics.composer@2.2-service 0 2000 755
-vendor/bin/hw/rild 0 2000 755
-vendor/bin/hw/vendor.samsung.hardware.snap-service 0 2000 755
-vendor/bin/hw/vendor.samsung.hardware.sysinput@1.3-service 0 2000 755
-vendor/bin/hw/vendor.samsung.hardware.vibrator-service 0 2000 755
-vendor/bin/hw/vendor.samsung_slsi.hardware.ExynosHWCServiceTW@1.0-service 0 2000 755
-vendor/bin/hw/wpa_supplicant 0 2000 755
-vendor/bin/snap_utility_64 0 2000 755
-vendor/eden 0 2000 755
-vendor/eden/gpu 0 2000 755
-vendor/eden/gpu/eden_kernel_32.bin 0 0 644
-vendor/eden/gpu/eden_kernel_64.bin 0 0 644
-vendor/etc 0 2000 755
-vendor/etc/init 0 2000 755
-vendor/etc/init/android.hardware.wifi.supplicant-service.rc 0 0 644
-vendor/etc/init/init.vendor.rilchip.rc 0 0 644
-vendor/etc/init/init.vendor.rilcommon.rc 0 0 644
-vendor/etc/init/vendor.samsung.hardware.snap-lazy.rc 0 0 644
-vendor/etc/init/vendor.samsung.hardware.sysinput@1.3-service.rc 0 0 644
-vendor/etc/init/vendor.samsung.hardware.vibrator-default.rc 0 0 644
-vendor/etc/audio_effects_spatializer.xml 0 0 644
-vendor/etc/audio_policy_configuration_base.xml 0 0 644
-vendor/etc/bluetooth_audio_policy_configuration.xml 0 0 644
-vendor/etc/mtu-conf.xml 0 0 644
-vendor/etc/playback_record_audio_policy_configuration.xml 0 0 644
-vendor/etc/snap_gpu_kernel_64.bin 0 0 644
-vendor/etc/vintf 0 2000 755
+vendor/bin 0 2000 0751 capabilities=0x0
+vendor/bin/hw 0 2000 0751 capabilities=0x0
+vendor/bin/hw/android.hardware.audio.service 0 2000 0755 capabilities=0x0
+vendor/bin/hw/android.hardware.graphics.allocator@2.0-service 0 2000 755 capabilities=0x0
+vendor/bin/hw/android.hardware.graphics.composer@2.2-service 0 2000 755 capabilities=0x0
+vendor/bin/hw/rild 0 2000 755 capabilities=0x0
+vendor/bin/hw/vendor.samsung_slsi.hardware.ExynosHWCServiceTW@1.0-service 0 2000 755 capabilities=0x0
+vendor/bin/hw/vendor.samsung.hardware.snap-service 0 2000 755 capabilities=0x0
+vendor/bin/hw/vendor.samsung.hardware.sysinput@1.3-service 0 2000 755 capabilities=0x0
+vendor/bin/hw/vendor.samsung.hardware.vibrator-service 0 2000 755 capabilities=0x0
+vendor/bin/hw/wpa_supplicant 0 2000 755 capabilities=0x0
+vendor/bin/snap_utility_64 0 2000 755 capabilities=0x0
+vendor/eden 0 2000 755 capabilities=0x0
+vendor/eden/gpu 0 2000 755 capabilities=0x0
+vendor/eden/gpu/eden_kernel_32.bin 0 0 644 capabilities=0x0
+vendor/eden/gpu/eden_kernel_64.bin 0 0 644 capabilities=0x0
+vendor/etc 0 2000 755 capabilities=0x0
+vendor/etc/audio_effects_spatializer.xml 0 0 644 capabilities=0x0
+vendor/etc/audio_policy_configuration_base.xml 0 0 644 capabilities=0x0
+vendor/etc/bluetooth_audio_policy_configuration.xml 0 0 644 capabilities=0x0
+vendor/etc/init 0 2000 755 capabilities=0x0
+vendor/etc/init/android.hardware.wifi.supplicant-service.rc 0 0 644 capabilities=0x0
+vendor/etc/init/init.vendor.rilchip.rc 0 0 644 capabilities=0x0
+vendor/etc/init/init.vendor.rilcommon.rc 0 0 644 capabilities=0x0
+vendor/etc/init/vendor.samsung.hardware.snap-lazy.rc 0 0 644 capabilities=0x0
+vendor/etc/init/vendor.samsung.hardware.sysinput@1.3-service.rc 0 0 644 capabilities=0x0
+vendor/etc/init/vendor.samsung.hardware.vibrator-default.rc 0 0 644 capabilities=0x0
+vendor/etc/mtu-conf.xml 0 0 644 capabilities=0x0
+vendor/etc/playback_record_audio_policy_configuration.xml 0 0 644 capabilities=0x0
+vendor/etc/snap_gpu_kernel_64.bin 0 0 644 capabilities=0x0
+vendor/etc/vintf 0 2000 755 capabilities=0x0
+vendor/etc/vintf/manifest 0 2000 755 capabilities=0x0
vendor/etc/vintf/manifest.xml 0 0 644 capabilities=0x0
-vendor/etc/vintf/manifest 0 2000 755
-vendor/etc/vintf/manifest/android.hardware.wifi.supplicant.xml 0 0 644
-vendor/etc/vintf/manifest/vendor.samsung.hardware.radio.exclude.slsi.xml 0 0 644
-vendor/etc/vintf/manifest/vendor.samsung.hardware.radio_manifest_2_31.xml 0 0 644
-vendor/etc/vintf/manifest/vendor.samsung.hardware.sehradio_manifest_2_31.xml 0 0 644
-vendor/etc/vintf/manifest/vendor.samsung.hardware.snap-default.xml 0 0 644
-vendor/etc/vintf/manifest/vendor.samsung.hardware.vibrator-default.xml 0 0 644
-vendor/etc/wifi 0 2000 755
-vendor/etc/wifi/wpa_supplicant_overlay.conf 0 0 644
-vendor/firmware 0 2000 755
-vendor/firmware/a2dpcom.bin 0 0 644
-vendor/lib 0 2000 755
-vendor/lib/egl 0 2000 755
-vendor/lib/egl/libGLES_mali.so 0 0 644
-vendor/lib/hw 0 2000 755
-vendor/lib/hw/android.hardware.graphics.allocator@2.0-impl.so 0 0 644
-vendor/lib/hw/android.hardware.graphics.mapper@2.0-impl-2.1.so 0 0 644
-vendor/lib/hw/android.hardware.renderscript@1.0-impl.so 0 0 644
-vendor/lib/hw/audio.a2dpsink.default.so 0 0 644
-vendor/lib/hw/audio.bluetooth.default.so 0 0 644
-vendor/lib/hw/gralloc.default.so 0 0 644
-vendor/lib/hw/gralloc.exynos9820.so 0 0 644
-vendor/lib/hw/hwcomposer.exynos9820.so 0 0 644
-vendor/lib/hw/vendor.samsung.hardware.bluetooth.a2dp@1.0-impl.so 0 0 0644
-vendor/lib/hw/vendor.samsung.hardware.bluetooth.a2dpsink@1.0-impl.so 0 0 0644
-vendor/lib/hw/vendor.samsung.hardware.bluetooth.audio@2.1-impl.so 0 0 0644
-vendor/lib/hw/vendor.samsung_slsi.hardware.ExynosA2DPOffload@3.0-impl.so 0 0 0644
-vendor/lib/hw/vulkan.mali.so 0 0 644
+vendor/etc/vintf/manifest/android.hardware.wifi.supplicant.xml 0 0 644 capabilities=0x0
+vendor/etc/vintf/manifest/vendor.samsung.hardware.radio_manifest_2_31.xml 0 0 644 capabilities=0x0
+vendor/etc/vintf/manifest/vendor.samsung.hardware.radio.exclude.slsi.xml 0 0 644 capabilities=0x0
+vendor/etc/vintf/manifest/vendor.samsung.hardware.sehradio_manifest_2_31.xml 0 0 644 capabilities=0x0
+vendor/etc/vintf/manifest/vendor.samsung.hardware.snap-default.xml 0 0 644 capabilities=0x0
+vendor/etc/vintf/manifest/vendor.samsung.hardware.vibrator-default.xml 0 0 644 capabilities=0x0
+vendor/etc/wifi 0 2000 755 capabilities=0x0
+vendor/etc/wifi/wpa_supplicant_overlay.conf 0 0 644 capabilities=0x0
+vendor/firmware 0 2000 755 capabilities=0x0
+vendor/firmware/a2dpcom.bin 0 0 644 capabilities=0x0
+vendor/lib 0 2000 755 capabilities=0x0
vendor/lib/android.hardware.common-V2-ndk.so 0 0 644 capabilities=0x0
vendor/lib/android.hardware.graphics.allocator-V1-ndk.so 0 0 644 capabilities=0x0
vendor/lib/android.hardware.graphics.common-V3-ndk.so 0 0 644 capabilities=0x0
vendor/lib/arm.graphics-V1-ndk.so 0 0 644 capabilities=0x0
+vendor/lib/egl 0 2000 755 capabilities=0x0
+vendor/lib/egl/libGLES_mali.so 0 0 644 capabilities=0x0
+vendor/lib/hw 0 2000 755 capabilities=0x0
+vendor/lib/hw/android.hardware.graphics.allocator@2.0-impl.so 0 0 644 capabilities=0x0
+vendor/lib/hw/android.hardware.graphics.mapper@2.0-impl-2.1.so 0 0 644 capabilities=0x0
+vendor/lib/hw/android.hardware.renderscript@1.0-impl.so 0 0 644 capabilities=0x0
+vendor/lib/hw/audio.a2dpsink.default.so 0 0 644 capabilities=0x0
+vendor/lib/hw/audio.bluetooth.default.so 0 0 644 capabilities=0x0
+vendor/lib/hw/gralloc.default.so 0 0 644 capabilities=0x0
+vendor/lib/hw/gralloc.exynos9820.so 0 0 644 capabilities=0x0
+vendor/lib/hw/hwcomposer.exynos9820.so 0 0 644 capabilities=0x0
+vendor/lib/hw/vendor.samsung_slsi.hardware.ExynosA2DPOffload@3.0-impl.so 0 0 0644 capabilities=0x0
+vendor/lib/hw/vendor.samsung.hardware.bluetooth.a2dp@1.0-impl.so 0 0 0644 capabilities=0x0
+vendor/lib/hw/vendor.samsung.hardware.bluetooth.a2dpsink@1.0-impl.so 0 0 0644 capabilities=0x0
+vendor/lib/hw/vendor.samsung.hardware.bluetooth.audio@2.1-impl.so 0 0 0644 capabilities=0x0
+vendor/lib/hw/vulkan.mali.so 0 0 644 capabilities=0x0
vendor/lib/libaboxpcmdump.so 0 0 644 capabilities=0x0
-vendor/lib/libaudioproxy2.so 0 0 644 capabilities=0x0
vendor/lib/libacryl.so 0 0 644 capabilities=0x0
vendor/lib/libaudioparamupdate.so 0 0 644 capabilities=0x0
+vendor/lib/libaudioproxy2.so 0 0 644 capabilities=0x0
vendor/lib/libbluetooth_a2dpsink_session.so 0 0 644 capabilities=0x0
vendor/lib/libdatamod.so 0 0 644 capabilities=0x0
vendor/lib/libdrmresource-v33.so 0 0 644 capabilities=0x0
@@ -84,32 +84,16 @@ vendor/lib/libsecril-client.so 0 0 644 capabilities=0x0
vendor/lib/libsehbluetooth_audio_session.so 0 0 644 capabilities=0x0
vendor/lib/libsemnativecarrierfeature.so 0 0 644 capabilities=0x0
vendor/lib/libspatializerparamstorage.so 0 0 644 capabilities=0x0
+vendor/lib/vendor.samsung_slsi.hardware.ExynosA2DPOffload@3.0.so 0 0 644 capabilities=0x0
vendor/lib/vendor.samsung.hardware.bluetooth.a2dp@1.0.so 0 0 644 capabilities=0x0
vendor/lib/vendor.samsung.hardware.bluetooth.a2dpsink@1.0.so 0 0 644 capabilities=0x0
vendor/lib/vendor.samsung.hardware.bluetooth.audio@2.0.so 0 0 644 capabilities=0x0
vendor/lib/vendor.samsung.hardware.bluetooth.audio@2.1.so 0 0 644 capabilities=0x0
-vendor/lib/vendor.samsung_slsi.hardware.ExynosA2DPOffload@3.0.so 0 0 644 capabilities=0x0
vendor/lib/vintf-codecsolution-V2-ndk.so 0 0 644 capabilities=0x0
-vendor/lib/vndk 0 2000 755
-vendor/lib/vndk/libaudioroute.so 0 0 644
-vendor/lib/vndk/libtinyalsa.so 0 0 644
-vendor/lib64 0 2000 755
-vendor/lib64/egl 0 2000 755
-vendor/lib64/egl/libGLES_mali.so 0 0 644
-vendor/lib64/hw 0 2000 755
-vendor/lib64/hw/android.hardware.graphics.allocator@2.0-impl.so 0 0 644
-vendor/lib64/hw/android.hardware.graphics.mapper@2.0-impl-2.1.so 0 0 644
-vendor/lib64/hw/android.hardware.renderscript@1.0-impl.so 0 0 644
-vendor/lib64/hw/audio.a2dpsink.default.so 0 0 644
-vendor/lib64/hw/audio.bluetooth.default.so 0 0 644
-vendor/lib64/hw/gralloc.default.so 0 0 644
-vendor/lib64/hw/gralloc.exynos9820.so 0 0 644
-vendor/lib64/hw/hwcomposer.exynos9820.so 0 0 644
-vendor/lib64/hw/vendor.samsung.hardware.bluetooth.a2dp@1.0-impl.so 0 0 0644
-vendor/lib64/hw/vendor.samsung.hardware.bluetooth.a2dpsink@1.0-impl.so 0 0 0644
-vendor/lib64/hw/vendor.samsung.hardware.bluetooth.audio@2.1-impl.so 0 0 0644
-vendor/lib64/hw/vendor.samsung_slsi.hardware.ExynosA2DPOffload@3.0-impl.so 0 0 0644
-vendor/lib64/hw/vulkan.mali.so 0 0 644
+vendor/lib/vndk 0 2000 755 capabilities=0x0
+vendor/lib/vndk/libaudioroute.so 0 0 644 capabilities=0x0
+vendor/lib/vndk/libtinyalsa.so 0 0 644 capabilities=0x0
+vendor/lib64 0 2000 755 capabilities=0x0
vendor/lib64/android.hardware.common-V2-ndk.so 0 0 644 capabilities=0x0
vendor/lib64/android.hardware.graphics.allocator-V1-ndk.so 0 0 644 capabilities=0x0
vendor/lib64/android.hardware.graphics.common-V3-ndk.so 0 0 644 capabilities=0x0
@@ -134,50 +118,68 @@ vendor/lib64/android.hardware.wifi.supplicant@1.1.so 0 0 644 capabilities=0x0
vendor/lib64/android.hardware.wifi.supplicant@1.2.so 0 0 644 capabilities=0x0
vendor/lib64/android.hardware.wifi.supplicant@1.3.so 0 0 644 capabilities=0x0
vendor/lib64/android.hardware.wifi.supplicant@1.4.so 0 0 644 capabilities=0x0
-vendor/lib64/libengmode15.so 0 0 644 capabilities=0x0
-vendor/lib64/libengmode_client.so 0 0 644 capabilities=0x0
-vendor/lib64/libengmode_server.so 0 0 644 capabilities=0x0
-vendor/lib64/libengmode_tlc.so 0 0 644 capabilities=0x0
-vendor/lib64/libhdr_plugin_exynos9820.so 0 0 644 capabilities=0x0
-vendor/lib64/libhdr10p_meta_plugin_default.so 0 0 644 capabilities=0x0
-vendor/lib64/libhwc2on1adapter.so 0 0 644 capabilities=0x0
-vendor/lib64/libhwc2onfbadapter.so 0 0 644 capabilities=0x0
vendor/lib64/arm.graphics-V1-ndk.so 0 0 644 capabilities=0x0
+vendor/lib64/egl 0 2000 755 capabilities=0x0
+vendor/lib64/egl/libGLES_mali.so 0 0 644 capabilities=0x0
+vendor/lib64/hw 0 2000 755 capabilities=0x0
+vendor/lib64/hw/android.hardware.graphics.allocator@2.0-impl.so 0 0 644 capabilities=0x0
+vendor/lib64/hw/android.hardware.graphics.mapper@2.0-impl-2.1.so 0 0 644 capabilities=0x0
+vendor/lib64/hw/android.hardware.renderscript@1.0-impl.so 0 0 644 capabilities=0x0
+vendor/lib64/hw/audio.a2dpsink.default.so 0 0 644 capabilities=0x0
+vendor/lib64/hw/audio.bluetooth.default.so 0 0 644 capabilities=0x0
+vendor/lib64/hw/gralloc.default.so 0 0 644 capabilities=0x0
+vendor/lib64/hw/gralloc.exynos9820.so 0 0 644 capabilities=0x0
+vendor/lib64/hw/hwcomposer.exynos9820.so 0 0 644 capabilities=0x0
+vendor/lib64/hw/vendor.samsung_slsi.hardware.ExynosA2DPOffload@3.0-impl.so 0 0 0644 capabilities=0x0
+vendor/lib64/hw/vendor.samsung.hardware.bluetooth.a2dp@1.0-impl.so 0 0 0644 capabilities=0x0
+vendor/lib64/hw/vendor.samsung.hardware.bluetooth.a2dpsink@1.0-impl.so 0 0 0644 capabilities=0x0
+vendor/lib64/hw/vendor.samsung.hardware.bluetooth.audio@2.1-impl.so 0 0 0644 capabilities=0x0
+vendor/lib64/hw/vulkan.mali.so 0 0 644 capabilities=0x0
vendor/lib64/libaboxpcmdump.so 0 0 644 capabilities=0x0
-vendor/lib64/libaudioproxy2.so 0 0 644 capabilities=0x0
vendor/lib64/libacryl.so 0 0 644 capabilities=0x0
vendor/lib64/libaudioparamupdate.so 0 0 644 capabilities=0x0
+vendor/lib64/libaudioproxy2.so 0 0 644 capabilities=0x0
vendor/lib64/libbluetooth_a2dpsink_session.so 0 0 644 capabilities=0x0
vendor/lib64/libdatamod.so 0 0 644 capabilities=0x0
vendor/lib64/libdrmresource-v33.so 0 0 644 capabilities=0x0
+vendor/lib64/libengmode_client.so 0 0 644 capabilities=0x0
+vendor/lib64/libengmode_server.so 0 0 644 capabilities=0x0
+vendor/lib64/libengmode_tlc.so 0 0 644 capabilities=0x0
+vendor/lib64/libengmode15.so 0 0 644 capabilities=0x0
vendor/lib64/libexynosdisplay.so 0 0 644 capabilities=0x0
vendor/lib64/libExynosHWCService.so 0 0 644 capabilities=0x0
vendor/lib64/libexynosutils.so 0 0 644 capabilities=0x0
vendor/lib64/libexynosv4l2.so 0 0 644 capabilities=0x0
vendor/lib64/libfmq-v33.so 0 0 644 capabilities=0x0
vendor/lib64/libgui_vendor.so 0 0 644 capabilities=0x0
+vendor/lib64/libhdr_plugin_exynos9820.so 0 0 644 capabilities=0x0
+vendor/lib64/libhdr10p_meta_plugin_default.so 0 0 644 capabilities=0x0
+vendor/lib64/libhwc2on1adapter.so 0 0 644 capabilities=0x0
+vendor/lib64/libhwc2onfbadapter.so 0 0 644 capabilities=0x0
vendor/lib64/libion_exynos.so 0 0 644 capabilities=0x0
+vendor/lib64/liblastaboxmsg.so 0 0 644 capabilities=0x0
vendor/lib64/libril_sem.so 0 0 644 capabilities=0x0
vendor/lib64/librilutils.so 0 0 644 capabilities=0x0
-vendor/lib64/liblastaboxmsg.so 0 0 644 capabilities=0x0
vendor/lib64/libsec_semRil.so 0 0 644 capabilities=0x0
vendor/lib64/libsecnativefeature.so 0 0 644 capabilities=0x0
vendor/lib64/libsecril-client.so 0 0 644 capabilities=0x0
vendor/lib64/libsehbluetooth_audio_session.so 0 0 644 capabilities=0x0
-vendor/lib64/libsemnativecarrierfeature.so 0 0 644 capabilities=0x0
vendor/lib64/libSemDataProps.so 0 0 644 capabilities=0x0
+vendor/lib64/libsemnativecarrierfeature.so 0 0 644 capabilities=0x0
vendor/lib64/libSemTelephonyProps.so 0 0 644 capabilities=0x0
-vendor/lib64/libsnap_compute.so 0 0 644 capabilities=0x0
vendor/lib64/libsnap_compute_wrapper.so 0 0 644 capabilities=0x0
+vendor/lib64/libsnap_compute.so 0 0 644 capabilities=0x0
vendor/lib64/libsnap_vndk.so 0 0 644 capabilities=0x0
vendor/lib64/libsnaplite_native.so 0 0 644 capabilities=0x0
vendor/lib64/libsnaplite_wrapper.so 0 0 644 capabilities=0x0
vendor/lib64/libspatializerparamstorage.so 0 0 644 capabilities=0x0
+vendor/lib64/vendor.samsung_slsi.hardware.ExynosA2DPOffload@3.0.so 0 0 644 capabilities=0x0
+vendor/lib64/vendor.samsung_slsi.hardware.ExynosHWCServiceTW@1.0.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.bluetooth.a2dp@1.0.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.bluetooth.a2dpsink@1.0.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.bluetooth.audio@2.0.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.bluetooth.audio@2.1.so 0 0 644 capabilities=0x0
-vendor/lib64/vendor.samsung.hardware.hyper-V2-ndk.so 0 0 644
+vendor/lib64/vendor.samsung.hardware.hyper-V2-ndk.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.radio.bridge@2.0.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.radio.bridge@2.1.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.radio.channel@2.0.so 0 0 644 capabilities=0x0
@@ -192,5 +194,3 @@ vendor/lib64/vendor.samsung.hardware.sysinput@1.3.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.vibrator-V5-ndk_platform.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.wifi.supplicant@3.0.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.wifi.supplicant@3.1.so 0 0 644 capabilities=0x0
-vendor/lib64/vendor.samsung_slsi.hardware.ExynosA2DPOffload@3.0.so 0 0 644 capabilities=0x0
-vendor/lib64/vendor.samsung_slsi.hardware.ExynosHWCServiceTW@1.0.so 0 0 644 capabilities=0x0
diff --git a/platform/exynos990/debloat.sh b/platform/exynos990/debloat.sh
index 09e0cb7110..875c6413a3 100644
--- a/platform/exynos990/debloat.sh
+++ b/platform/exynos990/debloat.sh
@@ -39,3 +39,25 @@ system/priv-app/SCameraSDKService
system/priv-app/sec_camerax_service
system/priv-app/VideoScan
"
+
+# Wi-Fi Hotspot Overlays
+PRODUCT_DEBLOAT+="
+overlay/SoftapOverlay6GHz
+overlay/SoftapOverlayDualAp
+overlay/SoftapOverlayOWE
+"
+
+# StorageShare (kSMBd)
+SYSTEM_DEBLOAT+="
+system/bin/ksmbd.addshare
+system/bin/ksmbd.adduser
+system/bin/ksmbd.control
+system/bin/ksmbd.mountd
+system/bin/ksmbd.tools
+system/etc/default-permissions/default-permissions-com.samsung.android.hwresourceshare.storage.xml
+system/etc/init/ksmbd.rc
+system/etc/permissions/privapp-permissions-com.samsung.android.hwresourceshare.storage.xml
+system/etc/sysconfig/preinstalled-packages-com.samsung.android.hwresourceshare.storage.xml
+system/etc/ksmbd.conf
+system/priv-app/StorageShare
+"
diff --git a/platform/exynos990/patches/camera/customize.sh b/platform/exynos990/patches/camera/customize.sh
index 7cdd5a5e7f..8378d3309f 100644
--- a/platform/exynos990/patches/camera/customize.sh
+++ b/platform/exynos990/patches/camera/customize.sh
@@ -45,6 +45,20 @@ do
ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
done
+if [[ "$MODEL" == "c1s" || "$MODEL" == "c2s" ]]; then
+ BLOBS_LIST="
+ system/lib64/libofi_seva.so
+ system/lib64/libofi_klm.so
+ system/lib64/libofi_plugin.so
+ system/lib64/libofi_rt_framework_user.so
+ system/lib64/libofi_service_interface.so
+ system/lib64/libofi_gc.so
+ "
+ for blob in $BLOBS_LIST
+ do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+ done
+fi
# Add libc++_shared.so dependency for __cxa_demangle symbol
patchelf --add-needed "libc++_shared.so" "$WORK_DIR/system/system/lib64/libMultiFrameProcessing20Core.camera.samsung.so"
@@ -77,7 +91,6 @@ system/lib64/libsuperresolution.arcsoft.so
system/lib64/libsuperresolution_raw.arcsoft.so
system/lib64/libsuperresolution_wrapper_v2.camera.samsung.so
system/lib64/libsuperresolutionraw_wrapper_v2.camera.samsung.so
-system/lib64/vendor.samsung.hardware.snap-V2-ndk.so
"
for blob in $BLOBS_LIST
do
@@ -96,18 +109,3 @@ for blob in $BLOBS_LIST
do
ADD_TO_WORK_DIR "p3sxxx" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
done
-
-# Polarr SDK
-ADD_TO_WORK_DIR "b0sxxx" "system" "system/etc/public.libraries-polarr.txt" 0 0 644 "u:object_r:system_file:s0"
-
-BLOBS_LIST="
-system/lib64/libBestComposition.polarr.so
-system/lib64/libFeature.polarr.so
-system/lib64/libPolarrSnap.polarr.so
-system/lib64/libTracking.polarr.so
-system/lib64/libYuv.polarr.so
-"
-for blob in $BLOBS_LIST
-do
- ADD_TO_WORK_DIR "b0sxxx" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
-done
diff --git a/platform/exynos990/patches/extremekrnl/customize.sh b/platform/exynos990/patches/extremekrnl/customize.sh
index 17567117fb..a0eb5a7ed0 100644
--- a/platform/exynos990/patches/extremekrnl/customize.sh
+++ b/platform/exynos990/patches/extremekrnl/customize.sh
@@ -1,38 +1,90 @@
# [
-EXTREMEKRNL_REPO="https://github.com/ExtremeXT/990_upstream_v2/releases/download/latest"
-KERNELSU_MANAGER_APK="https://github.com/KernelSU-Next/KernelSU-Next/releases/download/v1.0.6/KernelSU_Next_v1.0.6_12490-release.apk"
+EXTREMEKRNL_REPO="https://github.com/ExtremeXT/990_upstream_v2/"
+KERNELSU_MANAGER_APK="https://github.com/KernelSU-Next/KernelSU-Next/releases/download/v1.0.7/KernelSU_Next_v1.0.7_12602-release.apk"
+
+BUILD_KERNEL()
+{
+ PARENT=$(pwd)
+ cd $KERNEL_TMP_DIR
+
+ ./build.sh -m ${TARGET_CODENAME} -k y -r n
+
+ # Fixup for LTE devices
+ ./build.sh -m ${TARGET_CODENAME}lte -k n -r n -d y
+
+ cd $PARENT
+}
+
+SAFE_PULL_CHANGES()
+{
+ PARENT=$(pwd)
+ cd "$KERNEL_TMP_DIR"
+
+ set -eo pipefail
+
+ git fetch origin
+
+ LOCAL=$(git rev-parse @)
+ REMOTE=$(git rev-parse origin/main)
+ BASE=$(git merge-base @ origin/main)
+
+ # Now we have three cases that we need to take care of.
+ if [ "$LOCAL" = "$REMOTE" ]; then
+ echo "Local branch is up-to-date with remote."
+ elif [ "$LOCAL" = "$BASE" ]; then
+ echo "Fast-forward possible. Pulling..."
+ git pull --ff-only
+ elif [ "$REMOTE" = "$BASE" ]; then
+ echo "Local branch is ahead of remote. Not doing anything."
+ else
+ echo "ERR: Remote history has diverged (possible force-push)."
+ cd "$PARENT"
+ return 1
+ fi
+
+ cd "$PARENT"
+}
REPLACE_KERNEL_BINARIES()
{
- [ -d "$TMP_DIR" ] && rm -rf "$TMP_DIR"
- mkdir -p "$TMP_DIR"
+ local KERNEL_TMP_DIR="$KERNEL_TMP_DIR-$TARGET_PLATFORM"
+ [ ! -d "$KERNEL_TMP_DIR" ] && mkdir -p "$KERNEL_TMP_DIR"
+
+ echo "Cloning/updating ExtremeKernel"
- ZIP_LINK="$EXTREMEKRNL_REPO/ExtremeKRNL-Nexus-${TARGET_CODENAME}.zip"
- echo "Downloading $(basename "$ZIP_LINK")"
- curl -L -s -o "$TMP_DIR/krnl.zip" "$ZIP_LINK"
+ # If the kernel dir exists, pull the latest changes.
+ # If it does not exist, clone the repo.
+ if [ -d "$KERNEL_TMP_DIR/.git" ]; then
+ echo "Existing git repo found, trying to pull latest changes."
+ if ! SAFE_PULL_CHANGES; then
+ echo "ERR: Could not pull latest Kernel changes."
+ echo "If you hold local changes, please rebase to the new base."
+ echo "If not, cleaning the kernel_tmp_dir should suffice."
+ return 1
+ fi
+ else
+ rm -rf "$KERNEL_TMP_DIR"
+ git clone "$EXTREMEKRNL_REPO" --single-branch "$KERNEL_TMP_DIR" --recurse-submodules
+ fi
- echo "Extracting kernel binaries"
+ echo "Running the kernel build script."
+ BUILD_KERNEL
rm -f "$WORK_DIR/kernel/"*.img
- unzip -q -j "$TMP_DIR/krnl.zip" \
- "files/boot.img" "files/dtbo.img" \
- -d "$WORK_DIR/kernel"
+ # Move the files to the work dir
+ mv -v "$KERNEL_TMP_DIR/build/out/$TARGET_CODENAME/boot.img" "$WORK_DIR/kernel"
+ mv -v "$KERNEL_TMP_DIR/build/out/$TARGET_CODENAME/dtbo.img" "$WORK_DIR/kernel"
+
+ # And now for the LTE DTBOs
if [[ "$TARGET_CODENAME" != "r8s" && "$TARGET_CODENAME" != "z3s" && "$TARGET_INSTALL_METHOD" != "odin" ]]; then
- ZIP_LINK="$EXTREMEKRNL_REPO/ExtremeKRNL-Nexus-${TARGET_CODENAME}lte.zip"
- echo "Downloading $(basename "$ZIP_LINK")"
- curl -L -s -o "$TMP_DIR/krnl_lte.zip" "$ZIP_LINK"
-
- echo "Extracting kernel binaries"
- mkdir "$WORK_DIR/kernel/temp"
- unzip -q -j "$TMP_DIR/krnl_lte.zip" \
- "files/boot.img" "files/dtbo.img" \
- -d "$WORK_DIR/kernel/temp"
- mv "$WORK_DIR/kernel/temp/boot.img" "$WORK_DIR/kernel/boot_lte.img"
- mv "$WORK_DIR/kernel/temp/dtbo.img" "$WORK_DIR/kernel/dtbo_lte.img"
- rm -rf "$WORK_DIR/kernel/temp"
+ mv -v "$KERNEL_TMP_DIR/build/out/${TARGET_CODENAME}lte/dtbo.img" "$WORK_DIR/kernel/dtbo_lte.img"
fi
- rm -rf "$TMP_DIR"
+ # Usually we would delete the temporary directory.
+ # However, the Kernel has its own build system that
+ # will track changes made to the source by itself.
+ # Clean building the kernel also takes a long time.
+ # So, keep the kernel temp dir.
}
ADD_MANAGER_APK_TO_PRELOAD()
diff --git a/platform/exynos990/patches/miscs/customize.sh b/platform/exynos990/patches/miscs/customize.sh
index 0abc930470..23cbaa82ef 100644
--- a/platform/exynos990/patches/miscs/customize.sh
+++ b/platform/exynos990/patches/miscs/customize.sh
@@ -1,20 +1,39 @@
-echo "Disabling A/B"
-SET_PROP "product" "ro.product.ab_ota_partitions" --delete
-
-echo "Disabling UFFD GC"
-SET_PROP "product" "ro.dalvik.vm.enable_uffd_gc" "false"
-
echo "Setting casefold props"
SET_PROP "vendor" "external_storage.projid.enabled" "1"
SET_PROP "vendor" "external_storage.casefold.enabled" "1"
SET_PROP "vendor" "external_storage.sdcardfs.enabled" "0"
SET_PROP "vendor" "persist.sys.fuse.passthrough.enable" "true"
+echo "Enabling IncrementalFS"
+SET_PROP "vendor" "ro.incremental.enable" "yes"
+
echo "Setting SF flags"
SET_PROP "vendor" "debug.sf.latch_unsignaled" "1"
SET_PROP "vendor" "debug.sf.high_fps_late_app_phase_offset_ns" "0"
SET_PROP "vendor" "debug.sf.high_fps_late_sf_phase_offset_ns" "0"
+echo "Setting Adaptive HFR flags"
+if [[ "$MODEL" != "c1s" && "$MODEL" != "c2s" && "$MODEL" != "r8s" ]]; then
+ SET_PROP "vendor" "debug.sf.show_refresh_rate_overlay_render_rate" "true"
+ SET_PROP "vendor" "ro.surface_flinger.game_default_frame_rate_override" "60"
+ SET_PROP "vendor" "ro.surface_flinger.use_content_detection_for_refresh_rate" "true"
+ SET_PROP "vendor" "ro.surface_flinger.set_touch_timer_ms" "300"
+ SET_PROP "vendor" "ro.surface_flinger.set_idle_timer_ms" "600"
+ SET_PROP "vendor" "ro.surface_flinger.enable_frame_rate_override" "true"
+elif [[ "$MODEL" == "c1s" || "$MODEL" == "r8s" ]]; then
+ SET_PROP "vendor" "debug.sf.show_refresh_rate_overlay_render_rate" "true"
+ SET_PROP "vendor" "ro.surface_flinger.game_default_frame_rate_override" "60"
+ SET_PROP "vendor" "ro.surface_flinger.use_content_detection_for_refresh_rate" "false"
+ SET_PROP "vendor" "ro.surface_flinger.enable_frame_rate_override" "false"
+elif [[ "$MODEL" == "c2s" ]]; then
+ SET_PROP "vendor" "debug.sf.show_refresh_rate_overlay_render_rate" "true"
+ SET_PROP "vendor" "ro.surface_flinger.game_default_frame_rate_override" "60"
+fi
+
+echo "Enable Vulkan"
+SET_PROP "vendor" "ro.hwui.use_vulkan" "true"
+SET_PROP "vendor" "debug.hwui.use_hint_manager" "true"
+
echo "Disabling encryption"
# Encryption
LINE=$(sed -n "/^\/dev\/block\/by-name\/userdata/=" "$WORK_DIR/vendor/etc/fstab.exynos990")
@@ -22,3 +41,17 @@ sed -i "${LINE}s/,fileencryption=ice//g" "$WORK_DIR/vendor/etc/fstab.exynos990"
# ODE
sed -i -e "/ODE/d" -e "/keydata/d" -e "/keyrefuge/d" "$WORK_DIR/vendor/etc/fstab.exynos990"
+
+# For some reason we are missing 2 permissions here: android.hardware.security.model.compatible and android.software.controls
+# First one is related to encryption and second one to SmartThings Device Control
+echo "Patching vendor permissions"
+sed -i '$d' "$WORK_DIR/vendor/etc/permissions/handheld_core_hardware.xml"
+{
+ echo ""
+ echo " "
+ echo " "
+ echo ""
+ echo " "
+ echo " "
+ echo ""
+} >> "$WORK_DIR/vendor/etc/permissions/handheld_core_hardware.xml"
diff --git a/platform/exynos990/patches/stock_blobs/customize.sh b/platform/exynos990/patches/stock_blobs/customize.sh
index 5c7c5df744..0465f2c988 100644
--- a/platform/exynos990/patches/stock_blobs/customize.sh
+++ b/platform/exynos990/patches/stock_blobs/customize.sh
@@ -1,6 +1,3 @@
-MODEL=$(echo -n "$TARGET_FIRMWARE" | cut -d "/" -f 1)
-REGION=$(echo -n "$TARGET_FIRMWARE" | cut -d "/" -f 2)
-
# S25 Ultra OneUI 7 -> SoundBooster 2060
# S20 Series -> SoundBooster 1050
echo "Replacing SoundBooster"
@@ -16,17 +13,36 @@ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/priv-app/DevGPUDriver-EX9830
echo "Replacing Hotword"
DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentXGoogleEx6_WIDEBAND_LARGE"
DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentYGoogleEx6_WIDEBAND_LARGE"
-if [ -d "$FW_DIR/${MODEL}_${REGION}/system/system/app/HotwordEnrollmentOKGoogleEx3CORTEXM4" ]; then
+if [[ "$TARGET_CODENAME" != "r8s" ]]; then
ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "priv-app/HotwordEnrollmentOKGoogleEx3CORTEXM4/HotwordEnrollmentOKGoogleEx3CORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "priv-app/HotwordEnrollmentXGoogleEx3CORTEXM4/HotwordEnrollmentXGoogleEx3CORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
+elif [[ "$TARGET_CODENAME" == "r8s" ]]; then
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "priv-app/HotwordEnrollmentOKGoogleEx2CORTEXM4/HotwordEnrollmentOKGoogleEx2CORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "product" "priv-app/HotwordEnrollmentXGoogleEx2CORTEXM4/HotwordEnrollmentXGoogleEx2CORTEXM4.apk" 0 0 644 "u:object_r:system_file:s0"
fi
-echo "Downgrading VaultKeeper JNI"
-ADD_TO_WORK_DIR "dm3qxxx" "system" "system/lib64/libvkjni.so" 0 0 644 "u:object_r:system_lib_file:s0"
-ADD_TO_WORK_DIR "dm3qxxx" "system" "system/lib64/libvkmanager.so" 0 0 644 "u:object_r:system_lib_file:s0"
-ADD_TO_WORK_DIR "dm3qxxx" "system" "system/lib64/vendor.samsung.hardware.security.vaultkeeper@2.0.so" 0 0 644 "u:object_r:system_lib_file:s0"
-DELETE_FROM_WORK_DIR "system" "system/lib64/vendor.samsung.hardware.security.vaultkeeper-V1-ndk.so"
+if [[ "$TARGET_CODENAME" == "c2s" || "$TARGET_CODENAME" == "c1s" ]]; then
+ echo "Adding SPen SEC Feature"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.spen_usp_level40.xml" 0 0 644 "u:object_r:system_file:s0"
+fi
-echo "Add 32-Bit WFD blobs"
+echo "Adding 32-Bit WFD blobs"
ADD_TO_WORK_DIR "p3sxxx" "system" "system/bin/remotedisplay" 0 2000 755 "u:object_r:remotedisplay_exec:s0"
ADD_TO_WORK_DIR "p3sxxx" "system" "system/lib" 0 0 644 "u:object_r:system_lib_file:s0"
+
+echo "Adding stock NFC Case features"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.clearsideviewcover.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.sview.xml" 0 0 644 "u:object_r:system_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.nfc_authentication_cover.xml" 0 0 644 "u:object_r:system_file:s0"
+
+if [[ "$TARGET_CODENAME" != "r8s" ]]; then
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.flip.xml" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.ledbackcover.xml" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/com.sec.feature.cover.nfcledcover.xml" 0 0 644 "u:object_r:system_file:s0"
+fi
+
+if [[ "$TARGET_CODENAME" == "x1s" || "$TARGET_CODENAME" == "y2s" || "$TARGET_CODENAME" == "z3s" ]]; then
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/priv-app/LedBackCoverAppHubble/LedBackCoverAppHubble.apk" 0 0 644 "u:object_r:system_file:s0"
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/permissions/privapp-permissions-com.samsung.android.app.ledbackcover.xml" 0 0 644 "u:object_r:system_file:s0"
+fi
diff --git a/platform/exynos990/patches/vendor/customize.sh b/platform/exynos990/patches/vendor/customize.sh
index db13589315..282892e082 100644
--- a/platform/exynos990/patches/vendor/customize.sh
+++ b/platform/exynos990/patches/vendor/customize.sh
@@ -17,19 +17,26 @@ do
DELETE_FROM_WORK_DIR "vendor" "$blob"
done
-ADD_TO_WORK_DIR "p3sxxx" "vendor" "bin"
+ADD_TO_WORK_DIR "p3sxxx" "vendor" "bin/hw/rild"
+ADD_TO_WORK_DIR "p3sxxx" "vendor" "bin/hw/vendor.samsung.hardware.biometrics.face@3.0-service"
+ADD_TO_WORK_DIR "p3sxxx" "vendor" "bin/hw/vendor.samsung.hardware.vibrator-service"
ADD_TO_WORK_DIR "p3sxxx" "vendor" "lib64"
ADD_TO_WORK_DIR "p3sxxx" "vendor" "etc/init"
ADD_TO_WORK_DIR "p3sxxx" "vendor" "etc/vintf"
ADD_TO_WORK_DIR "p3sxxx" "vendor" "etc/mtu-conf.xml"
ADD_TO_WORK_DIR "p3sxxx" "vendor" "etc/pdpcnt-conf.xml"
-# S21 Light HAL
+# WPA Supplicant HAL
+if [[ "$TARGET_CODENAME" != "r8s" ]]; then
+ ADD_TO_WORK_DIR "p3sxxx" "vendor" "bin/hw/wpa_supplicant"
+fi
+
+# Light HAL
if [[ "$TARGET_CODENAME" != "r8s" ]]; then
ADD_TO_WORK_DIR "p3sxxx" "vendor" "bin/hw/vendor.samsung.hardware.light-service"
ADD_TO_WORK_DIR "p3sxxx" "vendor" "lib64/android.hardware.light-V1-ndk_platform.so"
ADD_TO_WORK_DIR "p3sxxx" "vendor" "lib64/vendor.samsung.hardware.light-V1-ndk_platform.so"
-elif [[ "$TARGET_CODENAME" == "r8s" ]]; then
+else
ADD_TO_WORK_DIR "a73xqxx" "vendor" "bin/hw/vendor.samsung.hardware.light-service"
ADD_TO_WORK_DIR "a73xqxx" "vendor" "lib64/android.hardware.light-V1-ndk_platform.so"
ADD_TO_WORK_DIR "a73xqxx" "vendor" "lib64/vendor.samsung.hardware.light-V1-ndk_platform.so"
diff --git a/platform/mt6789v/debloat.sh b/platform/mt6789v/debloat.sh
new file mode 100644
index 0000000000..bdaf56a476
--- /dev/null
+++ b/platform/mt6789v/debloat.sh
@@ -0,0 +1,80 @@
+#
+# Copyright (C) 2024 Fede2782
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+
+# Debloat list for Galaxy A15 (a15)
+# - Add entries inside the specific partition containing that file (_DEBLOAT+="")
+# - DO NOT add the partition name at the start of any entry (eg. "/system/dpolicy_system")
+# - DO NOT add a slash at the start of any entry (eg. "/dpolicy_system")
+
+# GameDriver
+SYSTEM_DEBLOAT+="
+system/priv-app/DevGPUDriver-SM8750
+system/priv-app/GameDriver-SM8750
+"
+
+# system_ext clean-up
+SYSTEM_DEBLOAT+="
+system/etc/permissions/org.carconnectivity.android.digitalkey.rangingintent.xml
+system/etc/permissions/org.carconnectivity.android.digitalkey.secureelement.xml
+"
+SYSTEM_EXT_DEBLOAT+="
+framework/org.carconnectivity.android.digitalkey.rangingintent.jar
+framework/org.carconnectivity.android.digitalkey.secureelement.jar
+framework/oat/arm/org.carconnectivity.android.digitalkey.rangingintent.odex
+framework/oat/arm/org.carconnectivity.android.digitalkey.rangingintent.vdex
+framework/oat/arm/org.carconnectivity.android.digitalkey.secureelement.odex
+framework/oat/arm/org.carconnectivity.android.digitalkey.secureelement.vdex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.rangingintent.odex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.rangingintent.vdex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.secureelement.odex
+framework/oat/arm64/org.carconnectivity.android.digitalkey.secureelement.vdex
+"
+
+# Overlays
+SYSTEM_DEBLOAT+="
+system/app/WifiRROverlayAppQC
+system/app/WifiRROverlayAppWifiLock
+"
+PRODUCT_DEBLOAT+="
+overlay/SoftapOverlay6GHz
+overlay/SoftapOverlayOWE
+overlay/SoftapOverlayQC
+"
+
+# Camera SDK
+SYSTEM_DEBLOAT+="
+system/etc/default-permissions/default-permissions-com.samsung.android.globalpostprocmgr.xml
+system/etc/default-permissions/default-permissions-com.samsung.petservice.xml
+system/etc/default-permissions/default-permissions-com.samsung.videoscan.xml
+system/etc/permissions/cameraservice.xml
+system/etc/permissions/privapp-permissions-com.samsung.android.globalpostprocmgr.xml
+system/etc/permissions/privapp-permissions-com.samsung.petservice.xml
+system/etc/permissions/privapp-permissions-com.samsung.videoscan.xml
+system/etc/permissions/sec_camerax_impl.xml
+system/etc/permissions/sec_camerax_service.xml
+system/framework/sec_camerax_impl.jar
+system/framework/scamera_sep.jar
+system/priv-app/GlobalPostProcMgr
+system/priv-app/PetService
+system/priv-app/SCameraSDKService
+system/priv-app/sec_camerax_service
+system/priv-app/VideoScan
+"
+
+# mAFPC
+SYSTEM_DEBLOAT+="
+system/bin/mafpc_write
diff --git a/platform/mt6789v/patches/camera/customize.sh b/platform/mt6789v/patches/camera/customize.sh
new file mode 100644
index 0000000000..6069468138
--- /dev/null
+++ b/platform/mt6789v/patches/camera/customize.sh
@@ -0,0 +1,122 @@
+echo "Add stock dualcam libs"
+BLOBS_LIST="
+system/lib64/libdualcam_portraitlighting_gallery_360.so
+system/lib64/libdualcam_refocus_gallery_48.so
+system/lib64/libdualcam_refocus_gallery_50.so
+system/lib64/libdualcam_refocus_gallery_54.so
+system/lib64/libdualcam_refocus_gallery_beyond.so
+system/lib64/libdualcam_refocus_gallery_front_beyond.so
+system/lib64/libdualcam_refocus_gallery_wt_beyond.so
+system/lib64/libdualcam_refocus_image.so
+system/lib64/libdualcam_refocus_image_lite.so
+system/lib64/libDualCamBokehCapture.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+BLOBS_LIST="
+system/lib64/libdualcam_portraitlighting_gallery_360_lite.so
+system/lib64/libdualcam_refocus_gallery_48.so
+system/lib64/libdualcam_refocus_gallery_50.so
+system/lib64/libdualcam_refocus_gallery_54.so
+system/lib64/libdualcam_refocus_gallery_beyond.so
+system/lib64/libdualcam_refocus_gallery_front_beyond.so
+system/lib64/libdualcam_refocus_gallery_wt_beyond.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+echo "Add stock arcsoft libs"
+BLOBS_LIST="
+system/lib64/lib_pet_detection.arcsoft.so
+system/lib64/libae_bracket_hdr.arcsoft.so
+system/lib64/libai_fusion_high_resolution.arcsoft.so
+system/lib64/libai_fusion_high_resolution_base_v1.arcsoft.so
+system/lib64/libai_fusion_high_resolution_base_v2.arcsoft.so
+system/lib64/libarcsoft_photoeditor.arcsoft.so
+system/lib64/libbeautyshot.arcsoft.so
+system/lib64/libface_landmark.arcsoft.so
+system/lib64/libface_recognition.arcsoft.so
+system/lib64/libFaceRecognition.arcsoft.so
+system/lib64/libFacialAttributeDetection.arcsoft.so
+system/lib64/libfacialrestoration.arcsoft.so
+system/lib64/libFacialStickerEngine.arcsoft.so
+system/lib64/libfrtracking_engine.arcsoft.so
+system/lib64/libGalleryDistortionCorrection.arcsoft.so
+system/lib64/libGalleryDistortionDetector.arcsoft.so
+system/lib64/libhumantracking.arcsoft.so
+system/lib64/libhybrid_high_dynamic_range.arcsoft.so
+system/lib64/libimage_enhancement.arcsoft.so
+system/lib64/libmf_bayer_enhance.arcsoft.so
+system/lib64/libobjectcapture.arcsoft.so
+system/lib64/libobjectcapture_jni.arcsoft.so
+system/lib64/libpic_best.arcsoft.so
+system/lib64/libPortraitDistortionCorrection.arcsoft.so
+system/lib64/libPortraitDistortionCorrectionCali.arcsoft.so
+system/lib64/libsf_tetra_enhance.arcsoft.so
+system/lib64/libsnapshotdebanding.arcsoft.so
+system/lib64/libsuper_fusion.arcsoft.so
+system/lib64/libveengine.arcsoft.so
+system/lib64/libarcsoft_dualcam_portraitlighting.so
+system/lib64/libarcsoft_dualcam_portraitlighting_lite.so
+system/lib64/libarcsoft_photoeditor.arcsoft.so
+system/lib64/libarcsoft_single_cam_glasses_seg.so
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+BLOBS_LIST="
+system/lib64/libarcsoft_photoeditor.arcsoft.so
+system/lib64/libbeautyshot.arcsoft.so
+system/lib64/libface_landmark.arcsoft.so
+system/lib64/libFacialAttributeDetection.arcsoft.so
+system/lib64/libhigh_dynamic_range.arcsoft.so
+system/lib64/liblow_light_hdr.arcsoft.so
+system/lib64/libsupernight_auto_raw.arcsoft.so
+system/lib64/libsupernight_raw.arcsoft.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+echo "Add stock public librairies"
+BLOBS_LIST="
+system/etc/public.libraries-arcsoft.txt
+system/etc/public.libraries-camera.samsung.txt
+"
+for blob in $BLOBS_LIST
+do
+ DELETE_FROM_WORK_DIR "system" "$blob"
+done
+
+BLOBS_LIST="
+system/etc/public.libraries-arcsoft.txt
+system/etc/public.libraries-camera.samsung.txt
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
+
+echo "Add stock camera libs"
+BLOBS_LIST="
+system/lib64/libHpr_RecFace_dl_v1.0.camera.samsung.so
+system/lib64/libsupernight_wrapper_v3.camera.samsung.so
+system/lib64/libsaiv_HprFace_cmh_support_jni.camera.samsung.so
+system/lib64/libSceneDetector_v1.camera.samsung.so
+system/lib64/libtensorflowLite.camera.samsung.so
+system/lib64/libtensorflowLite.myfilter.camera.samsung.so
+system/lib64/libtensorflowlite_inference_api.camera.samsung.so
+system/lib64/libtensorflowlite_inference_api.myfilter.camera.samsung.so
+"
+for blob in $BLOBS_LIST
+do
+ ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "$blob" 0 0 644 "u:object_r:system_lib_file:s0"
+done
diff --git a/platform/mt6789v/patches/camera/module.prop b/platform/mt6789v/patches/camera/module.prop
new file mode 100644
index 0000000000..7b01361bfd
--- /dev/null
+++ b/platform/mt6789v/patches/camera/module.prop
@@ -0,0 +1,4 @@
+id=camera
+name=Camera fix
+author=ExtremeXT, BotchedRPR, leynox64
+description=Various camera-related patches.
\ No newline at end of file
diff --git a/platform/mt6789v/patches/miscs/customize.sh b/platform/mt6789v/patches/miscs/customize.sh
new file mode 100644
index 0000000000..9528e4d78d
--- /dev/null
+++ b/platform/mt6789v/patches/miscs/customize.sh
@@ -0,0 +1,11 @@
+echo "Disable Vulkan"
+SET_PROP "vendor" "ro.hwui.use_vulkan" "false"
+SET_PROP "vendor" "debug.hwui.renderer" "skiagl"
+SET_PROP "vendor" "debug.renderengine.backend" "skiagl"
+SET_PROP "vendor" "renderthread.skia.reduceopstasksplitting" "true"
+SET_PROP "vendor" "debug.hwui.skia_atrace_enabled" "false"
+
+echo "Disabling encryption"
+# Encryption
+LINE=$(sed -n "/^\/dev\/block\/by-name\/userdata/=" "$WORK_DIR/vendor/etc/fstab.mt6789")
+sed -i "${LINE}s/,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized//g" "$WORK_DIR/vendor/etc/fstab.mt6789"
diff --git a/platform/mt6789v/patches/miscs/module.prop b/platform/mt6789v/patches/miscs/module.prop
new file mode 100644
index 0000000000..10f9bd04a1
--- /dev/null
+++ b/platform/mt6789v/patches/miscs/module.prop
@@ -0,0 +1,4 @@
+id=miscs
+name=Misc patches
+author=salvo_giangri, ExtremeXT, leynox64
+description=Generic set of patches.
diff --git a/platform/mt6789v/patches/miscs/system/etc/init/logd.rc b/platform/mt6789v/patches/miscs/system/etc/init/logd.rc
new file mode 100644
index 0000000000..92f55929e1
--- /dev/null
+++ b/platform/mt6789v/patches/miscs/system/etc/init/logd.rc
@@ -0,0 +1,43 @@
+service logd /system/bin/logd
+ socket logd stream 0666 logd logd
+ socket logdr seqpacket 0666 logd logd
+ socket logdw dgram+passcred 0222 logd logd
+ file /proc/kmsg r
+ file /dev/kmsg w
+ user logd
+ group logd system package_info readproc
+ capabilities SYSLOG AUDIT_CONTROL
+ priority 10
+ task_profiles ServiceCapacityLow
+ onrestart setprop logd.ready false
+
+service logd-reinit /system/bin/logd --reinit
+ oneshot
+ disabled
+ user logd
+ group logd
+ task_profiles ServiceCapacityLow
+
+# Limit SELinux denial generation, defaulting to 5/second
+service logd-auditctl /system/bin/auditctl -r ${persist.logd.audit.rate:-5}
+ oneshot
+ disabled
+ user logd
+ group logd
+ capabilities AUDIT_CONTROL
+
+on fs
+ write /dev/event-log-tags "# content owned by logd
+"
+ chown logd logd /dev/event-log-tags
+ chmod 0644 /dev/event-log-tags
+
+#temporary fps_position fix
+on property:sys.boot_completed=1
+ exec /system/bin/mount -o bind /sys/power/pm_async /sys/devices/virtual/fingerprint/fingerprint/position
+
+on property:sys.boot_completed=1
+ start logd-auditctl
+
+on property:persist.logd.audit.rate=*
+ start logd-auditctl
diff --git a/platform/mt6789v/patches/selinux/module.prop b/platform/mt6789v/patches/selinux/module.prop
new file mode 100644
index 0000000000..7d10ec6a62
--- /dev/null
+++ b/platform/mt6789v/patches/selinux/module.prop
@@ -0,0 +1,4 @@
+id=selinux
+name=SELinux fix
+author=ExtremeXT
+description=Removes unsupported sepolicy entries.
\ No newline at end of file
diff --git a/platform/mt6789v/patches/selinux/system/bin/init b/platform/mt6789v/patches/selinux/system/bin/init
new file mode 100644
index 0000000000..8270fb9a0d
Binary files /dev/null and b/platform/mt6789v/patches/selinux/system/bin/init differ
diff --git a/platform/mt6789v/patches/stock_blobs/customize.sh b/platform/mt6789v/patches/stock_blobs/customize.sh
new file mode 100644
index 0000000000..a7fea3dc5c
--- /dev/null
+++ b/platform/mt6789v/patches/stock_blobs/customize.sh
@@ -0,0 +1,11 @@
+echo "Replacing SoundBooster"
+DELETE_FROM_WORK_DIR "system" "system/lib64/lib_SoundBooster_ver2060.so"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/lib_SoundBooster_ver2000.so" 0 0 644 "u:object_r:system_lib_file:s0"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/lib64/libsamsungSoundbooster_plus_legacy.so" 0 0 644 "u:object_r:system_lib_file:s0"
+
+echo "Add stock audio policy"
+ADD_TO_WORK_DIR "$TARGET_FIRMWARE" "system" "system/etc/stage_policy.conf" 0 0 644 "u:object_r:system_file:s0"
+
+echo "Delete Hotword"
+DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentXGoogleEx6_WIDEBAND_LARGE"
+DELETE_FROM_WORK_DIR "product" "priv-app/HotwordEnrollmentYGoogleEx6_WIDEBAND_LARGE"
\ No newline at end of file
diff --git a/platform/mt6789v/patches/stock_blobs/module.prop b/platform/mt6789v/patches/stock_blobs/module.prop
new file mode 100644
index 0000000000..6f8a2d804f
--- /dev/null
+++ b/platform/mt6789v/patches/stock_blobs/module.prop
@@ -0,0 +1,4 @@
+id=stock_blobs
+name=Stock blobs
+author=leynox64, ExtremeXT
+description=Replaces source blobs with target ones.
\ No newline at end of file
diff --git a/prebuilts/samsung/a26xxx/.current b/prebuilts/samsung/a26xxx/.current
new file mode 100644
index 0000000000..ef8b6ffeda
--- /dev/null
+++ b/prebuilts/samsung/a26xxx/.current
@@ -0,0 +1 @@
+A266BXXU3AYE6/A266BOXM3AYE6/A266BXXU3AYE6
\ No newline at end of file
diff --git a/prebuilts/samsung/b0sxxx/file_context-system b/prebuilts/samsung/a26xxx/file_context-system
similarity index 58%
rename from prebuilts/samsung/b0sxxx/file_context-system
rename to prebuilts/samsung/a26xxx/file_context-system
index f473f66432..51f1b11182 100644
--- a/prebuilts/samsung/b0sxxx/file_context-system
+++ b/prebuilts/samsung/a26xxx/file_context-system
@@ -1,10 +1,13 @@
/system u:object_r:system_file:s0
+/system/bin u:object_r:system_file:s0
+/system/bin/installd u:object_r:installd_exec:s0
+/system/bin/vdc u:object_r:vdc_exec:s0
+/system/bin/vold u:object_r:vold_exec:s0
/system/etc u:object_r:system_file:s0
/system/etc/public\.libraries-polarr\.txt u:object_r:system_file:s0
/system/lib64 u:object_r:system_lib_file:s0
/system/lib64/libBestComposition\.polarr\.so u:object_r:system_lib_file:s0
+/system/lib64/libepm\.so u:object_r:system_lib_file:s0
/system/lib64/libFeature\.polarr\.so u:object_r:system_lib_file:s0
-/system/lib64/libPolarrSnap\.polarr\.so u:object_r:system_lib_file:s0
+/system/lib64/libmdf\.so u:object_r:system_lib_file:s0
/system/lib64/libTracking\.polarr\.so u:object_r:system_lib_file:s0
-/system/lib64/libYuv\.polarr\.so u:object_r:system_lib_file:s0
-
diff --git a/prebuilts/samsung/a56xnaxx/fs_config-system b/prebuilts/samsung/a26xxx/fs_config-system
similarity index 53%
rename from prebuilts/samsung/a56xnaxx/fs_config-system
rename to prebuilts/samsung/a26xxx/fs_config-system
index 8ad8d5114d..1840009cbf 100644
--- a/prebuilts/samsung/a56xnaxx/fs_config-system
+++ b/prebuilts/samsung/a26xxx/fs_config-system
@@ -3,6 +3,11 @@ system/bin 0 2000 751 capabilities=0x0
system/bin/installd 0 2000 755 capabilities=0x0
system/bin/vdc 0 2000 755 capabilities=0x0
system/bin/vold 0 2000 755 capabilities=0x0
+system/etc 0 0 0755 capabilities=0x0
+system/etc/public.libraries-polarr.txt 0 0 0644 capabilities=0x0
system/lib64 0 0 755 capabilities=0x0
+system/lib64/libBestComposition.polarr.so 0 0 0644 capabilities=0x0
system/lib64/libepm.so 0 0 644 capabilities=0x0
+system/lib64/libFeature.polarr.so 0 0 0644 capabilities=0x0
system/lib64/libmdf.so 0 0 644 capabilities=0x0
+system/lib64/libTracking.polarr.so 0 0 0644 capabilities=0x0
diff --git a/prebuilts/samsung/a56xnaxx/system/bin/installd b/prebuilts/samsung/a26xxx/system/bin/installd
old mode 100644
new mode 100755
similarity index 100%
rename from prebuilts/samsung/a56xnaxx/system/bin/installd
rename to prebuilts/samsung/a26xxx/system/bin/installd
diff --git a/prebuilts/samsung/a56xnaxx/system/bin/vdc b/prebuilts/samsung/a26xxx/system/bin/vdc
old mode 100644
new mode 100755
similarity index 80%
rename from prebuilts/samsung/a56xnaxx/system/bin/vdc
rename to prebuilts/samsung/a26xxx/system/bin/vdc
index 7d4ad0b4b8..947a9e0056
Binary files a/prebuilts/samsung/a56xnaxx/system/bin/vdc and b/prebuilts/samsung/a26xxx/system/bin/vdc differ
diff --git a/prebuilts/samsung/a26xxx/system/bin/vold b/prebuilts/samsung/a26xxx/system/bin/vold
new file mode 100755
index 0000000000..f6313bb67c
Binary files /dev/null and b/prebuilts/samsung/a26xxx/system/bin/vold differ
diff --git a/prebuilts/samsung/b0sxxx/system/etc/public.libraries-polarr.txt b/prebuilts/samsung/a26xxx/system/etc/public.libraries-polarr.txt
similarity index 63%
rename from prebuilts/samsung/b0sxxx/system/etc/public.libraries-polarr.txt
rename to prebuilts/samsung/a26xxx/system/etc/public.libraries-polarr.txt
index 945eb413c3..7f6db80c60 100644
--- a/prebuilts/samsung/b0sxxx/system/etc/public.libraries-polarr.txt
+++ b/prebuilts/samsung/a26xxx/system/etc/public.libraries-polarr.txt
@@ -1,5 +1,3 @@
libBestComposition.polarr.so
libTracking.polarr.so
libFeature.polarr.so
-libPolarrSnap.polarr.so
-libYuv.polarr.so
diff --git a/prebuilts/samsung/a26xxx/system/lib64/libBestComposition.polarr.so b/prebuilts/samsung/a26xxx/system/lib64/libBestComposition.polarr.so
new file mode 100644
index 0000000000..e36deee087
Binary files /dev/null and b/prebuilts/samsung/a26xxx/system/lib64/libBestComposition.polarr.so differ
diff --git a/prebuilts/samsung/b0sxxx/system/lib64/libFeature.polarr.so b/prebuilts/samsung/a26xxx/system/lib64/libFeature.polarr.so
similarity index 99%
rename from prebuilts/samsung/b0sxxx/system/lib64/libFeature.polarr.so
rename to prebuilts/samsung/a26xxx/system/lib64/libFeature.polarr.so
index e90177bd32..d436d1e0b7 100644
Binary files a/prebuilts/samsung/b0sxxx/system/lib64/libFeature.polarr.so and b/prebuilts/samsung/a26xxx/system/lib64/libFeature.polarr.so differ
diff --git a/prebuilts/samsung/b0sxxx/system/lib64/libTracking.polarr.so b/prebuilts/samsung/a26xxx/system/lib64/libTracking.polarr.so
similarity index 99%
rename from prebuilts/samsung/b0sxxx/system/lib64/libTracking.polarr.so
rename to prebuilts/samsung/a26xxx/system/lib64/libTracking.polarr.so
index 01979884fa..7c5e2509c2 100644
Binary files a/prebuilts/samsung/b0sxxx/system/lib64/libTracking.polarr.so and b/prebuilts/samsung/a26xxx/system/lib64/libTracking.polarr.so differ
diff --git a/prebuilts/samsung/a56xnaxx/system/lib64/libepm.so b/prebuilts/samsung/a26xxx/system/lib64/libepm.so
similarity index 75%
rename from prebuilts/samsung/a56xnaxx/system/lib64/libepm.so
rename to prebuilts/samsung/a26xxx/system/lib64/libepm.so
index e5e8d6a56e..f5cec2e21c 100644
Binary files a/prebuilts/samsung/a56xnaxx/system/lib64/libepm.so and b/prebuilts/samsung/a26xxx/system/lib64/libepm.so differ
diff --git a/prebuilts/samsung/a26xxx/system/lib64/libmdf.so b/prebuilts/samsung/a26xxx/system/lib64/libmdf.so
new file mode 100644
index 0000000000..f1d3ae3a9d
Binary files /dev/null and b/prebuilts/samsung/a26xxx/system/lib64/libmdf.so differ
diff --git a/prebuilts/samsung/a36xqnaxx/.current b/prebuilts/samsung/a36xqnaxx/.current
deleted file mode 100644
index 81157aea3a..0000000000
--- a/prebuilts/samsung/a36xqnaxx/.current
+++ /dev/null
@@ -1 +0,0 @@
-S980BXXXXXXXXX/DUMMYYYYYY
\ No newline at end of file
diff --git a/prebuilts/samsung/a36xqnaxx/file_context-system b/prebuilts/samsung/a36xqnaxx/file_context-system
deleted file mode 100644
index e68a575d30..0000000000
--- a/prebuilts/samsung/a36xqnaxx/file_context-system
+++ /dev/null
@@ -1,4 +0,0 @@
-/system u:object_r:system_file:s0
-/system/priv-app u:object_r:system_file:s0
-/system/priv-app/SamsungCamera u:object_r:system_file:s0
-/system/priv-app/SamsungCamera/SamsungCamera\.apk u:object_r:system_file:s0
\ No newline at end of file
diff --git a/prebuilts/samsung/a36xqnaxx/fs_config-system b/prebuilts/samsung/a36xqnaxx/fs_config-system
deleted file mode 100644
index 22304ebde2..0000000000
--- a/prebuilts/samsung/a36xqnaxx/fs_config-system
+++ /dev/null
@@ -1,5 +0,0 @@
-
-system 0 0 755 capabilities=0x0
-system/priv-app 0 0 755 capabilities=0x0
-system/priv-app/SamsungCamera 0 0 755 capabilities=0x0
-system/priv-app/SamsungCamera/SamsungCamera.apk 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/a56xnaxx/.current b/prebuilts/samsung/a56xnaxx/.current
deleted file mode 100644
index 81157aea3a..0000000000
--- a/prebuilts/samsung/a56xnaxx/.current
+++ /dev/null
@@ -1 +0,0 @@
-S980BXXXXXXXXX/DUMMYYYYYY
\ No newline at end of file
diff --git a/prebuilts/samsung/a56xnaxx/file_context-system b/prebuilts/samsung/a56xnaxx/file_context-system
deleted file mode 100644
index bae51732f4..0000000000
--- a/prebuilts/samsung/a56xnaxx/file_context-system
+++ /dev/null
@@ -1,8 +0,0 @@
-/system u:object_r:system_file:s0
-/system/bin u:object_r:system_file:s0
-/system/bin/installd u:object_r:installd_exec:s0
-/system/bin/vdc u:object_r:vdc_exec:s0
-/system/bin/vold u:object_r:vold_exec:s0
-/system/lib64 u:object_r:system_lib_file:s0
-/system/lib64/libepm\.so u:object_r:system_lib_file:s0
-/system/lib64/libmdf\.so u:object_r:system_lib_file:s0
diff --git a/prebuilts/samsung/a56xnaxx/system/bin/vold b/prebuilts/samsung/a56xnaxx/system/bin/vold
deleted file mode 100644
index ebe4a7d583..0000000000
Binary files a/prebuilts/samsung/a56xnaxx/system/bin/vold and /dev/null differ
diff --git a/prebuilts/samsung/a56xnaxx/system/lib64/libmdf.so b/prebuilts/samsung/a56xnaxx/system/lib64/libmdf.so
deleted file mode 100644
index c2384a0862..0000000000
Binary files a/prebuilts/samsung/a56xnaxx/system/lib64/libmdf.so and /dev/null differ
diff --git a/prebuilts/samsung/a73xqxx/.current b/prebuilts/samsung/a73xqxx/.current
index d08cbd0ad9..f64879c7b8 100644
--- a/prebuilts/samsung/a73xqxx/.current
+++ b/prebuilts/samsung/a73xqxx/.current
@@ -1 +1 @@
-A736BXXSAEYB2/A736BOLMAEYB2/A736BXXSAEYB2
\ No newline at end of file
+A736BXXUAFYE6/A736BOXEAFYE6/A736BXXUAFYE6
\ No newline at end of file
diff --git a/prebuilts/samsung/a73xqxx/fs_config-system_ext b/prebuilts/samsung/a73xqxx/fs_config-system_ext
index a1b9846e87..6813adcd58 100644
--- a/prebuilts/samsung/a73xqxx/fs_config-system_ext
+++ b/prebuilts/samsung/a73xqxx/fs_config-system_ext
@@ -1,3 +1,3 @@
0 0 755 capabilities=0x0
system_ext/apex 0 0 755 capabilities=0x0
-system_ext/apex/com.android.vndk.v30.apex 0 0 644 capabilities=0x0
\ No newline at end of file
+system_ext/apex/com.android.vndk.v30.apex 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/a73xqxx/fs_config-vendor b/prebuilts/samsung/a73xqxx/fs_config-vendor
index 3f0ad3681f..c89a7aeee6 100644
--- a/prebuilts/samsung/a73xqxx/fs_config-vendor
+++ b/prebuilts/samsung/a73xqxx/fs_config-vendor
@@ -1,7 +1,7 @@
-/ 0 2000 755
-vendor/bin 0 2000 751
-vendor/bin/hw 0 2000 751
-vendor/bin/hw/vendor.samsung.hardware.light-service 0 2000 755
-vendor/lib64 0 2000 755
-vendor/lib64/android.hardware.light-V1-ndk_platform.so 0 0 644
-vendor/lib64/vendor.samsung.hardware.light-V1-ndk_platform.so 0 0 644
+/ 0 2000 755 capabilities=0x0
+vendor/bin 0 2000 751 capabilities=0x0
+vendor/bin/hw 0 2000 751 capabilities=0x0
+vendor/bin/hw/vendor.samsung.hardware.light-service 0 2000 755 capabilities=0x0
+vendor/lib64 0 2000 755 capabilities=0x0
+vendor/lib64/android.hardware.light-V1-ndk_platform.so 0 0 644 capabilities=0x0
+vendor/lib64/vendor.samsung.hardware.light-V1-ndk_platform.so 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/a73xqxx/system/system_ext/apex/com.android.vndk.v30.apex.00 b/prebuilts/samsung/a73xqxx/system/system_ext/apex/com.android.vndk.v30.apex.00
index 1e90ae37a2..ad29dcd908 100644
Binary files a/prebuilts/samsung/a73xqxx/system/system_ext/apex/com.android.vndk.v30.apex.00 and b/prebuilts/samsung/a73xqxx/system/system_ext/apex/com.android.vndk.v30.apex.00 differ
diff --git a/prebuilts/samsung/a73xqxx/system/system_ext/apex/com.android.vndk.v30.apex.02 b/prebuilts/samsung/a73xqxx/system/system_ext/apex/com.android.vndk.v30.apex.02
index d4cdfaaaab..687cfe2e97 100644
Binary files a/prebuilts/samsung/a73xqxx/system/system_ext/apex/com.android.vndk.v30.apex.02 and b/prebuilts/samsung/a73xqxx/system/system_ext/apex/com.android.vndk.v30.apex.02 differ
diff --git a/prebuilts/samsung/a73xqxx/vendor/bin/hw/vendor.samsung.hardware.light-service b/prebuilts/samsung/a73xqxx/vendor/bin/hw/vendor.samsung.hardware.light-service
old mode 100644
new mode 100755
diff --git a/prebuilts/samsung/b0sxxx/.current b/prebuilts/samsung/b0sxxx/.current
deleted file mode 100644
index 81157aea3a..0000000000
--- a/prebuilts/samsung/b0sxxx/.current
+++ /dev/null
@@ -1 +0,0 @@
-S980BXXXXXXXXX/DUMMYYYYYY
\ No newline at end of file
diff --git a/prebuilts/samsung/b0sxxx/fs_config-system b/prebuilts/samsung/b0sxxx/fs_config-system
deleted file mode 100644
index 2daa31a042..0000000000
--- a/prebuilts/samsung/b0sxxx/fs_config-system
+++ /dev/null
@@ -1,9 +0,0 @@
-system 0 0 755 capabilities=0x0
-system/etc 0 0 0755
-system/etc/public.libraries-polarr.txt 0 0 0644
-system/lib64 0 0 755 capabilities=0x0
-system/lib64/libBestComposition.polarr.so 0 0 0644
-system/lib64/libFeature.polarr.so 0 0 0644
-system/lib64/libPolarrSnap.polarr.so 0 0 0644
-system/lib64/libTracking.polarr.so 0 0 0644
-system/lib64/libYuv.polarr.so 0 0 0644
\ No newline at end of file
diff --git a/prebuilts/samsung/b0sxxx/system/lib64/libBestComposition.polarr.so b/prebuilts/samsung/b0sxxx/system/lib64/libBestComposition.polarr.so
deleted file mode 100644
index ca27111558..0000000000
Binary files a/prebuilts/samsung/b0sxxx/system/lib64/libBestComposition.polarr.so and /dev/null differ
diff --git a/prebuilts/samsung/b0sxxx/system/lib64/libPolarrSnap.polarr.so b/prebuilts/samsung/b0sxxx/system/lib64/libPolarrSnap.polarr.so
deleted file mode 100644
index 7baa79e18b..0000000000
Binary files a/prebuilts/samsung/b0sxxx/system/lib64/libPolarrSnap.polarr.so and /dev/null differ
diff --git a/prebuilts/samsung/b0sxxx/system/lib64/libYuv.polarr.so b/prebuilts/samsung/b0sxxx/system/lib64/libYuv.polarr.so
deleted file mode 100644
index cb5ff88f3c..0000000000
Binary files a/prebuilts/samsung/b0sxxx/system/lib64/libYuv.polarr.so and /dev/null differ
diff --git a/prebuilts/samsung/b6qxxx/.current b/prebuilts/samsung/b6qxxx/.current
index 24a3e24839..45d93cf663 100644
--- a/prebuilts/samsung/b6qxxx/.current
+++ b/prebuilts/samsung/b6qxxx/.current
@@ -1 +1 @@
-BOMB
\ No newline at end of file
+F956BXXS2BYDF/F956BOXM2BYD9/F956BXXU2BYD9
\ No newline at end of file
diff --git a/prebuilts/samsung/b6qxxx/system/priv-app/BiometricSetting/BiometricSetting.apk b/prebuilts/samsung/b6qxxx/system/priv-app/BiometricSetting/BiometricSetting.apk
index 95c790579b..438c31b66d 100644
Binary files a/prebuilts/samsung/b6qxxx/system/priv-app/BiometricSetting/BiometricSetting.apk and b/prebuilts/samsung/b6qxxx/system/priv-app/BiometricSetting/BiometricSetting.apk differ
diff --git a/prebuilts/samsung/dm3qxxx/.current b/prebuilts/samsung/dm3qxxx/.current
index d787778f62..75b65c21f2 100644
--- a/prebuilts/samsung/dm3qxxx/.current
+++ b/prebuilts/samsung/dm3qxxx/.current
@@ -1 +1 @@
-S918BXXU8ZYC3/S918BOMX8ZYC3/S918BXXU8ZYC3
\ No newline at end of file
+S918BXXS8DYDB/S918BOXM8DYDB/S918BXXS8DYDB
\ No newline at end of file
diff --git a/prebuilts/samsung/dm3qxxx/file_context-system b/prebuilts/samsung/dm3qxxx/file_context-system
index d48bbf8f0b..4b651158f7 100644
--- a/prebuilts/samsung/dm3qxxx/file_context-system
+++ b/prebuilts/samsung/dm3qxxx/file_context-system
@@ -4,10 +4,10 @@
/system/apex/com\.android\.runtime\.apex u:object_r:system_file:s0
/system/apex/com\.google\.android\.tzdata6\.apex u:object_r:system_file:s0
/system/bin u:object_r:system_file:s0
-/system/bin/linker u:object_r:system_linker_exec:s0
-/system/bin/linker_asan u:object_r:system_file:s0
/system/bin/bootstrap/linker u:object_r:system_linker_exec:s0
/system/bin/bootstrap/linker_asan u:object_r:system_file:s0
+/system/bin/linker u:object_r:system_linker_exec:s0
+/system/bin/linker_asan u:object_r:system_file:s0
/system/lib u:object_r:system_lib_file:s0
/system/lib/aconfig_mediacodec_flags_c_lib\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.cas@1\.0\.so u:object_r:system_lib_file:s0
@@ -38,8 +38,8 @@
/system/lib/android\.hardware\.graphics\.mapper@3\.0\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.graphics\.mapper@4\.0\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.media@1\.0\.so u:object_r:system_lib_file:s0
-/system/lib/android\.hardware\.media\.bufferpool2-V2-ndk\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.media\.bufferpool@2\.0\.so u:object_r:system_lib_file:s0
+/system/lib/android\.hardware\.media\.bufferpool2-V2-ndk\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.media\.c2-V1-ndk\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.media\.c2@1\.0\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.media\.c2@1\.1\.so u:object_r:system_lib_file:s0
@@ -61,8 +61,8 @@
/system/lib/av-types-aidl-cpp\.so u:object_r:system_lib_file:s0
/system/lib/bootstrap u:object_r:system_lib_file:s0
/system/lib/bootstrap/libc\.so u:object_r:system_lib_file:s0
-/system/lib/bootstrap/libdl\.so u:object_r:system_lib_file:s0
/system/lib/bootstrap/libdl_android\.so u:object_r:system_lib_file:s0
+/system/lib/bootstrap/libdl\.so u:object_r:system_lib_file:s0
/system/lib/bootstrap/libm\.so u:object_r:system_lib_file:s0
/system/lib/camera_platform_flags_c_lib\.so u:object_r:system_lib_file:s0
/system/lib/capture_state_listener-aidl-cpp\.so u:object_r:system_lib_file:s0
@@ -72,21 +72,15 @@
/system/lib/effect-aidl-cpp\.so u:object_r:system_lib_file:s0
/system/lib/framework-permission-aidl-cpp\.so u:object_r:system_lib_file:s0
/system/lib/graphicbuffersource-aidl-ndk\.so u:object_r:system_lib_file:s0
-/system/lib/lib-platform-compat-native-api\.so u:object_r:system_lib_file:s0
-/system/lib/libEGL\.so u:object_r:system_lib_file:s0
-/system/lib/libGLESv1_CM\.so u:object_r:system_lib_file:s0
-/system/lib/libGLESv2\.so u:object_r:system_lib_file:s0
-/system/lib/libGLESv3\.so u:object_r:system_lib_file:s0
-/system/lib/libSEF\.quram\.so u:object_r:system_lib_file:s0
-/system/lib/libSurfaceFlingerProp\.so u:object_r:system_lib_file:s0
/system/lib/lib_SoundAlive_SRC384_ver320\.so u:object_r:system_lib_file:s0
/system/lib/lib_soundaliveresampler\.so u:object_r:system_lib_file:s0
+/system/lib/lib-platform-compat-native-api\.so u:object_r:system_lib_file:s0
/system/lib/libaconfig_storage_read_api_cc\.so u:object_r:system_lib_file:s0
/system/lib/libandroid_runtime_lazy\.so u:object_r:system_lib_file:s0
/system/lib/libapexsupport\.so u:object_r:system_lib_file:s0
/system/lib/libaudio_aidl_conversion_common_cpp\.so u:object_r:system_lib_file:s0
-/system/lib/libaudioclient\.so u:object_r:system_lib_file:s0
/system/lib/libaudioclient_aidl_conversion\.so u:object_r:system_lib_file:s0
+/system/lib/libaudioclient\.so u:object_r:system_lib_file:s0
/system/lib/libaudiofoundation\.so u:object_r:system_lib_file:s0
/system/lib/libaudiomanager\.so u:object_r:system_lib_file:s0
/system/lib/libaudiopolicy\.so u:object_r:system_lib_file:s0
@@ -96,16 +90,15 @@
/system/lib/libaudioutils\.so u:object_r:system_lib_file:s0
/system/lib/libautils\.so u:object_r:system_lib_file:s0
/system/lib/libbase\.so u:object_r:system_lib_file:s0
-/system/lib/libbinder\.so u:object_r:system_lib_file:s0
/system/lib/libbinder_ndk\.so u:object_r:system_lib_file:s0
+/system/lib/libbinder\.so u:object_r:system_lib_file:s0
/system/lib/libbufferstats\.so u:object_r:system_lib_file:s0
-/system/lib/libc\+\+\.so u:object_r:system_lib_file:s0
/system/lib/libc\.so u:object_r:system_lib_file:s0
+/system/lib/libc\+\+\.so u:object_r:system_lib_file:s0
/system/lib/libcamera_client\.so u:object_r:system_lib_file:s0
/system/lib/libcamera_metadata\.so u:object_r:system_lib_file:s0
/system/lib/libcgrouprc\.so u:object_r:system_lib_file:s0
/system/lib/libclang_rt\.ubsan_standalone-arm-android\.so u:object_r:system_lib_file:s0
-/system/lib/libcodec2\.so u:object_r:system_lib_file:s0
/system/lib/libcodec2_aidl_client\.so u:object_r:system_lib_file:s0
/system/lib/libcodec2_client\.so u:object_r:system_lib_file:s0
/system/lib/libcodec2_hal_common\.so u:object_r:system_lib_file:s0
@@ -113,21 +106,26 @@
/system/lib/libcodec2_hidl_client@1\.1\.so u:object_r:system_lib_file:s0
/system/lib/libcodec2_hidl_client@1\.2\.so u:object_r:system_lib_file:s0
/system/lib/libcodec2_vndk\.so u:object_r:system_lib_file:s0
+/system/lib/libcodec2\.so u:object_r:system_lib_file:s0
/system/lib/libcodecdatautils\.so u:object_r:system_lib_file:s0
/system/lib/libcodecsolutionhelper\.so u:object_r:system_lib_file:s0
/system/lib/libcrypto\.so u:object_r:system_lib_file:s0
/system/lib/libcutils\.so u:object_r:system_lib_file:s0
-/system/lib/libdatasource\.so u:object_r:system_lib_file:s0
/system/lib/libdatasource_local_cache\.so u:object_r:system_lib_file:s0
-/system/lib/libdl\.so u:object_r:system_lib_file:s0
+/system/lib/libdatasource\.so u:object_r:system_lib_file:s0
/system/lib/libdl_android\.so u:object_r:system_lib_file:s0
+/system/lib/libdl\.so u:object_r:system_lib_file:s0
/system/lib/libdmabufheap\.so u:object_r:system_lib_file:s0
/system/lib/libedmnativehelper\.so u:object_r:system_lib_file:s0
+/system/lib/libEGL\.so u:object_r:system_lib_file:s0
/system/lib/libexpat\.so u:object_r:system_lib_file:s0
/system/lib/libfloatingfeature\.so u:object_r:system_lib_file:s0
/system/lib/libfmq\.so u:object_r:system_lib_file:s0
/system/lib/libgfxgrab\.gpuwatchapp\.samsung\.so u:object_r:system_lib_file:s0
/system/lib/libgfxgrab\.so u:object_r:system_lib_file:s0
+/system/lib/libGLESv1_CM\.so u:object_r:system_lib_file:s0
+/system/lib/libGLESv2\.so u:object_r:system_lib_file:s0
+/system/lib/libGLESv3\.so u:object_r:system_lib_file:s0
/system/lib/libgralloctypes\.so u:object_r:system_lib_file:s0
/system/lib/libgraphicsenv\.so u:object_r:system_lib_file:s0
/system/lib/libgui\.so u:object_r:system_lib_file:s0
@@ -137,48 +135,48 @@
/system/lib/libhidlbase\.so u:object_r:system_lib_file:s0
/system/lib/libhidlmemory\.so u:object_r:system_lib_file:s0
/system/lib/libimageconverter\.so u:object_r:system_lib_file:s0
-/system/lib/libion\.so u:object_r:system_lib_file:s0
/system/lib/libinput\.so u:object_r:system_lib_file:s0
+/system/lib/libion\.so u:object_r:system_lib_file:s0
/system/lib/libknox_remotedesktopclient\.knox\.samsung\.so u:object_r:system_lib_file:s0
/system/lib/liblog\.so u:object_r:system_lib_file:s0
/system/lib/liblzma\.so u:object_r:system_lib_file:s0
/system/lib/libm\.so u:object_r:system_lib_file:s0
-/system/lib/libmedia\.so u:object_r:system_lib_file:s0
/system/lib/libmedia_codeclist\.so u:object_r:system_lib_file:s0
/system/lib/libmedia_helper\.so u:object_r:system_lib_file:s0
-/system/lib/libmedia_jni\.so u:object_r:system_lib_file:s0
/system/lib/libmedia_jni_utils\.so u:object_r:system_lib_file:s0
-/system/lib/libmedia_omx\.so u:object_r:system_lib_file:s0
+/system/lib/libmedia_jni\.so u:object_r:system_lib_file:s0
/system/lib/libmedia_omx_client\.so u:object_r:system_lib_file:s0
-/system/lib/libmediacapture\.so u:object_r:system_lib_file:s0
+/system/lib/libmedia_omx\.so u:object_r:system_lib_file:s0
+/system/lib/libmedia\.so u:object_r:system_lib_file:s0
/system/lib/libmediacapture_jni\.so u:object_r:system_lib_file:s0
+/system/lib/libmediacapture\.so u:object_r:system_lib_file:s0
/system/lib/libmediacaptureservice\.so u:object_r:system_lib_file:s0
/system/lib/libmediadrm\.so u:object_r:system_lib_file:s0
/system/lib/libmediadrmmetrics_consumer\.so u:object_r:system_lib_file:s0
/system/lib/libmediadrmmetrics_full\.so u:object_r:system_lib_file:s0
/system/lib/libmediadrmmetrics_lite\.so u:object_r:system_lib_file:s0
/system/lib/libmediametrics\.so u:object_r:system_lib_file:s0
-/system/lib/libmediandk\.so u:object_r:system_lib_file:s0
/system/lib/libmediandk_utils\.so u:object_r:system_lib_file:s0
+/system/lib/libmediandk\.so u:object_r:system_lib_file:s0
/system/lib/libmediaplayerservice\.so u:object_r:system_lib_file:s0
/system/lib/libmediaresourcehelper\.so u:object_r:system_lib_file:s0
/system/lib/libmediasndk\.mediacore\.samsung\.so u:object_r:system_lib_file:s0
/system/lib/libmediasndk\.so u:object_r:system_lib_file:s0
-/system/lib/libmediautils\.so u:object_r:system_lib_file:s0
/system/lib/libmediautils_delayed\.so u:object_r:system_lib_file:s0
+/system/lib/libmediautils\.so u:object_r:system_lib_file:s0
/system/lib/libmemunreachable\.so u:object_r:system_lib_file:s0
/system/lib/libnativebridge_lazy\.so u:object_r:system_lib_file:s0
/system/lib/libnativeloader_lazy\.so u:object_r:system_lib_file:s0
/system/lib/libnativewindow\.so u:object_r:system_lib_file:s0
/system/lib/libnblog\.so u:object_r:system_lib_file:s0
/system/lib/libomafldrm\.so u:object_r:system_lib_file:s0
+/system/lib/libpackagelistparser\.so u:object_r:system_lib_file:s0
+/system/lib/libpcre2\.so u:object_r:system_lib_file:s0
/system/lib/libpermission\.so u:object_r:system_lib_file:s0
+/system/lib/libPlatformProperties\.so u:object_r:system_lib_file:s0
/system/lib/libprocessgroup\.so u:object_r:system_lib_file:s0
/system/lib/libprocinfo\.so u:object_r:system_lib_file:s0
/system/lib/libprotobuf-cpp-lite\.so u:object_r:system_lib_file:s0
-/system/lib/libpcre2\.so u:object_r:system_lib_file:s0
-/system/lib/libpackagelistparser\.so u:object_r:system_lib_file:s0
-/system/lib/libPlatformProperties\.so u:object_r:system_lib_file:s0
/system/lib/libremotedisplay\.so u:object_r:system_lib_file:s0
/system/lib/libruntimeproperty\.so u:object_r:system_lib_file:s0
/system/lib/libsavscmn\.so u:object_r:system_lib_file:s0
@@ -186,19 +184,19 @@
/system/lib/libsecaudioinfo\.so u:object_r:system_lib_file:s0
/system/lib/libsecaudiotestutils\.so u:object_r:system_lib_file:s0
/system/lib/libsecnativefeature\.so u:object_r:system_lib_file:s0
-/system/lib/libsecrecorder\.so u:object_r:system_lib_file:s0
/system/lib/libsecrecorder_jni\.so u:object_r:system_lib_file:s0
+/system/lib/libsecrecorder\.so u:object_r:system_lib_file:s0
+/system/lib/libSEF\.quram\.so u:object_r:system_lib_file:s0
/system/lib/libsefinfoutils\.so u:object_r:system_lib_file:s0
-/system/lib/libsextractorcmn\.so u:object_r:system_lib_file:s0
-/system/lib/libselinux\.so u:object_r:system_lib_file:s0
/system/lib/libselinux_ext\.so u:object_r:system_lib_file:s0
+/system/lib/libselinux\.so u:object_r:system_lib_file:s0
+/system/lib/libsextractorcmn\.so u:object_r:system_lib_file:s0
/system/lib/libsfextcp\.so u:object_r:system_lib_file:s0
-/system/lib/libsfplugin_ccodec\.so u:object_r:system_lib_file:s0
/system/lib/libsfplugin_ccodec_utils\.so u:object_r:system_lib_file:s0
+/system/lib/libsfplugin_ccodec\.so u:object_r:system_lib_file:s0
/system/lib/libshmemcompat\.so u:object_r:system_lib_file:s0
/system/lib/libshmemutil\.so u:object_r:system_lib_file:s0
/system/lib/libspeexresampler\.so u:object_r:system_lib_file:s0
-/system/lib/libstagefright\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_aidl_bufferpool2\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_amrnb_common\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_bufferpool@2\.0\.1\.so u:object_r:system_lib_file:s0
@@ -209,11 +207,13 @@
/system/lib/libstagefright_graphicbuffersource_aidl\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_http_support\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_httplive_sec\.so u:object_r:system_lib_file:s0
-/system/lib/libstagefright_omx\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_omx_utils\.so u:object_r:system_lib_file:s0
+/system/lib/libstagefright_omx\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_surface_utils\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_xmlparser\.so u:object_r:system_lib_file:s0
+/system/lib/libstagefright\.so u:object_r:system_lib_file:s0
/system/lib/libstats_media_metrics\.so u:object_r:system_lib_file:s0
+/system/lib/libSurfaceFlingerProp\.so u:object_r:system_lib_file:s0
/system/lib/libsync\.so u:object_r:system_lib_file:s0
/system/lib/libtimestamphelper\.so u:object_r:system_lib_file:s0
/system/lib/libtinyxml2\.so u:object_r:system_lib_file:s0
@@ -221,10 +221,10 @@
/system/lib/libunwindstack\.so u:object_r:system_lib_file:s0
/system/lib/libutils\.so u:object_r:system_lib_file:s0
/system/lib/libutilscallstack\.so u:object_r:system_lib_file:s0
+/system/lib/libvintf_jni\.so u:object_r:system_lib_file:s0
+/system/lib/libvintf\.so u:object_r:system_lib_file:s0
/system/lib/libvndksupport\.so u:object_r:system_lib_file:s0
/system/lib/libvulkan\.so u:object_r:system_lib_file:s0
-/system/lib/libvintf\.so u:object_r:system_lib_file:s0
-/system/lib/libvintf_jni\.so u:object_r:system_lib_file:s0
/system/lib/libz\.so u:object_r:system_lib_file:s0
/system/lib/libziparchive\.so u:object_r:system_lib_file:s0
/system/lib/mediametricsservice-aidl-cpp\.so u:object_r:system_lib_file:s0
@@ -239,6 +239,7 @@
/system/lib64/lib\.engmodejni\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/libvkjni\.so u:object_r:system_lib_file:s0
/system/lib64/libvkmanager\.so u:object_r:system_lib_file:s0
+/system/lib64/vendor\.samsung\.hardware\.security\.engmode@1\.0\.so u:object_r:system_lib_file:s0
/system/lib64/vendor\.samsung\.hardware\.security\.vaultkeeper@2\.0\.so u:object_r:system_lib_file:s0
/system/system_ext u:object_r:system_file:s0
/system/system_ext/apex u:object_r:system_file:s0
diff --git a/prebuilts/samsung/dm3qxxx/fs_config-system b/prebuilts/samsung/dm3qxxx/fs_config-system
index bd937ee504..ea57cbe27c 100644
--- a/prebuilts/samsung/dm3qxxx/fs_config-system
+++ b/prebuilts/samsung/dm3qxxx/fs_config-system
@@ -4,10 +4,10 @@ system/apex/com.android.i18n.apex 0 0 644 capabilities=0x0
system/apex/com.android.runtime.apex 0 0 644 capabilities=0x0
system/apex/com.google.android.tzdata6.apex 0 0 644 capabilities=0x0
system/bin 0 2000 751 capabilities=0x0
-system/bin/linker 0 0 755 capabilities=0x0
-system/bin/linker_asan 0 0 755 capabilities=0x0
system/bin/bootstrap/linker 0 0 755 capabilities=0x0
system/bin/bootstrap/linker_asan 0 0 755 capabilities=0x0
+system/bin/linker 0 0 755 capabilities=0x0
+system/bin/linker_asan 0 0 755 capabilities=0x0
system/lib 0 0 755 capabilities=0x0
system/lib/aconfig_mediacodec_flags_c_lib.so 0 0 644 capabilities=0x0
system/lib/android.hardware.cas.native@1.0.so 0 0 644 capabilities=0x0
@@ -37,8 +37,8 @@ system/lib/android.hardware.graphics.mapper@2.0.so 0 0 644 capabilities=0x0
system/lib/android.hardware.graphics.mapper@2.1.so 0 0 644 capabilities=0x0
system/lib/android.hardware.graphics.mapper@3.0.so 0 0 644 capabilities=0x0
system/lib/android.hardware.graphics.mapper@4.0.so 0 0 644 capabilities=0x0
-system/lib/android.hardware.media.bufferpool2-V2-ndk.so 0 0 644 capabilities=0x0
system/lib/android.hardware.media.bufferpool@2.0.so 0 0 644 capabilities=0x0
+system/lib/android.hardware.media.bufferpool2-V2-ndk.so 0 0 644 capabilities=0x0
system/lib/android.hardware.media.c2-V1-ndk.so 0 0 644 capabilities=0x0
system/lib/android.hardware.media.c2@1.0.so 0 0 644 capabilities=0x0
system/lib/android.hardware.media.c2@1.1.so 0 0 644 capabilities=0x0
@@ -61,8 +61,8 @@ system/lib/audiopolicy-types-aidl-cpp.so 0 0 644 capabilities=0x0
system/lib/av-types-aidl-cpp.so 0 0 644 capabilities=0x0
system/lib/bootstrap 0 0 755 capabilities=0x0
system/lib/bootstrap/libc.so 0 0 644 capabilities=0x0
-system/lib/bootstrap/libdl.so 0 0 644 capabilities=0x0
system/lib/bootstrap/libdl_android.so 0 0 644 capabilities=0x0
+system/lib/bootstrap/libdl.so 0 0 644 capabilities=0x0
system/lib/bootstrap/libm.so 0 0 644 capabilities=0x0
system/lib/camera_platform_flags_c_lib.so 0 0 644 capabilities=0x0
system/lib/capture_state_listener-aidl-cpp.so 0 0 644 capabilities=0x0
@@ -72,21 +72,15 @@ system/lib/com.android.media.audioserver-aconfig-cc.so 0 0 644 capabilities=0x0
system/lib/effect-aidl-cpp.so 0 0 644 capabilities=0x0
system/lib/framework-permission-aidl-cpp.so 0 0 644 capabilities=0x0
system/lib/graphicbuffersource-aidl-ndk.so 0 0 644 capabilities=0x0
-system/lib/lib-platform-compat-native-api.so 0 0 644 capabilities=0x0
-system/lib/libEGL.so 0 0 644 capabilities=0x0
-system/lib/libGLESv1_CM.so 0 0 644 capabilities=0x0
-system/lib/libGLESv2.so 0 0 644 capabilities=0x0
-system/lib/libGLESv3.so 0 0 644 capabilities=0x0
-system/lib/libSEF.quram.so 0 0 644 capabilities=0x0
-system/lib/libSurfaceFlingerProp.so 0 0 644 capabilities=0x0
system/lib/lib_SoundAlive_SRC384_ver320.so 0 0 644 capabilities=0x0
system/lib/lib_soundaliveresampler.so 0 0 644 capabilities=0x0
+system/lib/lib-platform-compat-native-api.so 0 0 644 capabilities=0x0
system/lib/libaconfig_storage_read_api_cc.so 0 0 644 capabilities=0x0
system/lib/libandroid_runtime_lazy.so 0 0 644 capabilities=0x0
system/lib/libapexsupport.so 0 0 644 capabilities=0x0
system/lib/libaudio_aidl_conversion_common_cpp.so 0 0 644 capabilities=0x0
-system/lib/libaudioclient.so 0 0 644 capabilities=0x0
system/lib/libaudioclient_aidl_conversion.so 0 0 644 capabilities=0x0
+system/lib/libaudioclient.so 0 0 644 capabilities=0x0
system/lib/libaudiofoundation.so 0 0 644 capabilities=0x0
system/lib/libaudiomanager.so 0 0 644 capabilities=0x0
system/lib/libaudiopolicy.so 0 0 644 capabilities=0x0
@@ -96,16 +90,15 @@ system/lib/libaudiopolicymanagerdefault.so 0 0 644 capabilities=0x0
system/lib/libaudioutils.so 0 0 644 capabilities=0x0
system/lib/libautils.so 0 0 644 capabilities=0x0
system/lib/libbase.so 0 0 644 capabilities=0x0
-system/lib/libbinder.so 0 0 644 capabilities=0x0
system/lib/libbinder_ndk.so 0 0 644 capabilities=0x0
+system/lib/libbinder.so 0 0 644 capabilities=0x0
system/lib/libbufferstats.so 0 0 644 capabilities=0x0
-system/lib/libc++.so 0 0 644 capabilities=0x0
system/lib/libc.so 0 0 644 capabilities=0x0
+system/lib/libc++.so 0 0 644 capabilities=0x0
system/lib/libcamera_client.so 0 0 644 capabilities=0x0
system/lib/libcamera_metadata.so 0 0 644 capabilities=0x0
system/lib/libcgrouprc.so 0 0 644 capabilities=0x0
system/lib/libclang_rt.ubsan_standalone-arm-android.so 0 0 644 capabilities=0x0
-system/lib/libcodec2.so 0 0 644 capabilities=0x0
system/lib/libcodec2_aidl_client.so 0 0 644 capabilities=0x0
system/lib/libcodec2_client.so 0 0 644 capabilities=0x0
system/lib/libcodec2_hal_common.so 0 0 644 capabilities=0x0
@@ -113,21 +106,26 @@ system/lib/libcodec2_hidl_client@1.0.so 0 0 644 capabilities=0x0
system/lib/libcodec2_hidl_client@1.1.so 0 0 644 capabilities=0x0
system/lib/libcodec2_hidl_client@1.2.so 0 0 644 capabilities=0x0
system/lib/libcodec2_vndk.so 0 0 644 capabilities=0x0
+system/lib/libcodec2.so 0 0 644 capabilities=0x0
system/lib/libcodecdatautils.so 0 0 644 capabilities=0x0
system/lib/libcodecsolutionhelper.so 0 0 644 capabilities=0x0
system/lib/libcrypto.so 0 0 644 capabilities=0x0
system/lib/libcutils.so 0 0 644 capabilities=0x0
-system/lib/libdatasource.so 0 0 644 capabilities=0x0
system/lib/libdatasource_local_cache.so 0 0 644 capabilities=0x0
-system/lib/libdl.so 0 0 644 capabilities=0x0
+system/lib/libdatasource.so 0 0 644 capabilities=0x0
system/lib/libdl_android.so 0 0 644 capabilities=0x0
+system/lib/libdl.so 0 0 644 capabilities=0x0
system/lib/libdmabufheap.so 0 0 644 capabilities=0x0
system/lib/libedmnativehelper.so 0 0 644 capabilities=0x0
+system/lib/libEGL.so 0 0 644 capabilities=0x0
system/lib/libexpat.so 0 0 644 capabilities=0x0
system/lib/libfloatingfeature.so 0 0 644 capabilities=0x0
system/lib/libfmq.so 0 0 644 capabilities=0x0
system/lib/libgfxgrab.gpuwatchapp.samsung.so 0 0 644 capabilities=0x0
system/lib/libgfxgrab.so 0 0 644 capabilities=0x0
+system/lib/libGLESv1_CM.so 0 0 644 capabilities=0x0
+system/lib/libGLESv2.so 0 0 644 capabilities=0x0
+system/lib/libGLESv3.so 0 0 644 capabilities=0x0
system/lib/libgralloctypes.so 0 0 644 capabilities=0x0
system/lib/libgraphicsenv.so 0 0 644 capabilities=0x0
system/lib/libgui.so 0 0 644 capabilities=0x0
@@ -137,48 +135,48 @@ system/lib/libhidlallocatorutils.so 0 0 644 capabilities=0x0
system/lib/libhidlbase.so 0 0 644 capabilities=0x0
system/lib/libhidlmemory.so 0 0 644 capabilities=0x0
system/lib/libimageconverter.so 0 0 644 capabilities=0x0
-system/lib/libion.so 0 0 644 capabilities=0x0
system/lib/libinput.so 0 0 644 capabilities=0x0
+system/lib/libion.so 0 0 644 capabilities=0x0
system/lib/libknox_remotedesktopclient.knox.samsung.so 0 0 644 capabilities=0x0
system/lib/liblog.so 0 0 644 capabilities=0x0
system/lib/liblzma.so 0 0 644 capabilities=0x0
system/lib/libm.so 0 0 644 capabilities=0x0
-system/lib/libmedia.so 0 0 644 capabilities=0x0
system/lib/libmedia_codeclist.so 0 0 644 capabilities=0x0
system/lib/libmedia_helper.so 0 0 644 capabilities=0x0
-system/lib/libmedia_jni.so 0 0 644 capabilities=0x0
system/lib/libmedia_jni_utils.so 0 0 644 capabilities=0x0
-system/lib/libmedia_omx.so 0 0 644 capabilities=0x0
+system/lib/libmedia_jni.so 0 0 644 capabilities=0x0
system/lib/libmedia_omx_client.so 0 0 644 capabilities=0x0
-system/lib/libmediacapture.so 0 0 644 capabilities=0x0
+system/lib/libmedia_omx.so 0 0 644 capabilities=0x0
+system/lib/libmedia.so 0 0 644 capabilities=0x0
system/lib/libmediacapture_jni.so 0 0 644 capabilities=0x0
+system/lib/libmediacapture.so 0 0 644 capabilities=0x0
system/lib/libmediacaptureservice.so 0 0 644 capabilities=0x0
system/lib/libmediadrm.so 0 0 644 capabilities=0x0
system/lib/libmediadrmmetrics_consumer.so 0 0 644 capabilities=0x0
system/lib/libmediadrmmetrics_full.so 0 0 644 capabilities=0x0
system/lib/libmediadrmmetrics_lite.so 0 0 644 capabilities=0x0
system/lib/libmediametrics.so 0 0 644 capabilities=0x0
-system/lib/libmediandk.so 0 0 644 capabilities=0x0
system/lib/libmediandk_utils.so 0 0 644 capabilities=0x0
+system/lib/libmediandk.so 0 0 644 capabilities=0x0
system/lib/libmediaplayerservice.so 0 0 644 capabilities=0x0
system/lib/libmediaresourcehelper.so 0 0 644 capabilities=0x0
system/lib/libmediasndk.mediacore.samsung.so 0 0 644 capabilities=0x0
system/lib/libmediasndk.so 0 0 644 capabilities=0x0
-system/lib/libmediautils.so 0 0 644 capabilities=0x0
system/lib/libmediautils_delayed.so 0 0 644 capabilities=0x0
+system/lib/libmediautils.so 0 0 644 capabilities=0x0
system/lib/libmemunreachable.so 0 0 644 capabilities=0x0
system/lib/libnativebridge_lazy.so 0 0 644 capabilities=0x0
system/lib/libnativeloader_lazy.so 0 0 644 capabilities=0x0
system/lib/libnativewindow.so 0 0 644 capabilities=0x0
system/lib/libnblog.so 0 0 644 capabilities=0x0
system/lib/libomafldrm.so 0 0 644 capabilities=0x0
+system/lib/libpackagelistparser.so 0 0 644 capabilities=0x0
+system/lib/libpcre2.so 0 0 644 capabilities=0x0
system/lib/libpermission.so 0 0 644 capabilities=0x0
+system/lib/libPlatformProperties.so 0 0 644 capabilities=0x0
system/lib/libprocessgroup.so 0 0 644 capabilities=0x0
system/lib/libprocinfo.so 0 0 644 capabilities=0x0
system/lib/libprotobuf-cpp-lite.so 0 0 644 capabilities=0x0
-system/lib/libpcre2.so 0 0 644 capabilities=0x0
-system/lib/libPlatformProperties.so 0 0 644 capabilities=0x0
-system/lib/libpackagelistparser.so 0 0 644 capabilities=0x0
system/lib/libremotedisplay.so 0 0 644 capabilities=0x0
system/lib/libruntimeproperty.so 0 0 644 capabilities=0x0
system/lib/libsavscmn.so 0 0 644 capabilities=0x0
@@ -186,19 +184,19 @@ system/lib/libsecaudiocoreutils.so 0 0 644 capabilities=0x0
system/lib/libsecaudioinfo.so 0 0 644 capabilities=0x0
system/lib/libsecaudiotestutils.so 0 0 644 capabilities=0x0
system/lib/libsecnativefeature.so 0 0 644 capabilities=0x0
-system/lib/libsecrecorder.so 0 0 644 capabilities=0x0
system/lib/libsecrecorder_jni.so 0 0 644 capabilities=0x0
+system/lib/libsecrecorder.so 0 0 644 capabilities=0x0
+system/lib/libSEF.quram.so 0 0 644 capabilities=0x0
system/lib/libsefinfoutils.so 0 0 644 capabilities=0x0
-system/lib/libsextractorcmn.so 0 0 644 capabilities=0x0
-system/lib/libselinux.so 0 0 644 capabilities=0x0
system/lib/libselinux_ext.so 0 0 644 capabilities=0x0
-system/lib/libsfplugin_ccodec.so 0 0 644 capabilities=0x0
-system/lib/libsfplugin_ccodec_utils.so 0 0 644 capabilities=0x0
+system/lib/libselinux.so 0 0 644 capabilities=0x0
+system/lib/libsextractorcmn.so 0 0 644 capabilities=0x0
system/lib/libsfextcp.so 0 0 644 capabilities=0x0
+system/lib/libsfplugin_ccodec_utils.so 0 0 644 capabilities=0x0
+system/lib/libsfplugin_ccodec.so 0 0 644 capabilities=0x0
system/lib/libshmemcompat.so 0 0 644 capabilities=0x0
system/lib/libshmemutil.so 0 0 644 capabilities=0x0
system/lib/libspeexresampler.so 0 0 644 capabilities=0x0
-system/lib/libstagefright.so 0 0 644 capabilities=0x0
system/lib/libstagefright_aidl_bufferpool2.so 0 0 644 capabilities=0x0
system/lib/libstagefright_amrnb_common.so 0 0 644 capabilities=0x0
system/lib/libstagefright_bufferpool@2.0.1.so 0 0 644 capabilities=0x0
@@ -209,11 +207,13 @@ system/lib/libstagefright_framecapture_utils.so 0 0 644 capabilities=0x0
system/lib/libstagefright_graphicbuffersource_aidl.so 0 0 644 capabilities=0x0
system/lib/libstagefright_http_support.so 0 0 644 capabilities=0x0
system/lib/libstagefright_httplive_sec.so 0 0 644 capabilities=0x0
-system/lib/libstagefright_omx.so 0 0 644 capabilities=0x0
system/lib/libstagefright_omx_utils.so 0 0 644 capabilities=0x0
+system/lib/libstagefright_omx.so 0 0 644 capabilities=0x0
system/lib/libstagefright_surface_utils.so 0 0 644 capabilities=0x0
system/lib/libstagefright_xmlparser.so 0 0 644 capabilities=0x0
+system/lib/libstagefright.so 0 0 644 capabilities=0x0
system/lib/libstats_media_metrics.so 0 0 644 capabilities=0x0
+system/lib/libSurfaceFlingerProp.so 0 0 644 capabilities=0x0
system/lib/libsync.so 0 0 644 capabilities=0x0
system/lib/libtimestamphelper.so 0 0 644 capabilities=0x0
system/lib/libtinyxml2.so 0 0 644 capabilities=0x0
@@ -221,10 +221,10 @@ system/lib/libui.so 0 0 644 capabilities=0x0
system/lib/libunwindstack.so 0 0 644 capabilities=0x0
system/lib/libutils.so 0 0 644 capabilities=0x0
system/lib/libutilscallstack.so 0 0 644 capabilities=0x0
+system/lib/libvintf_jni.so 0 0 644 capabilities=0x0
+system/lib/libvintf.so 0 0 644 capabilities=0x0
system/lib/libvndksupport.so 0 0 644 capabilities=0x0
system/lib/libvulkan.so 0 0 644 capabilities=0x0
-system/lib/libvintf.so 0 0 644 capabilities=0x0
-system/lib/libvintf_jni.so 0 0 644 capabilities=0x0
system/lib/libz.so 0 0 644 capabilities=0x0
system/lib/libziparchive.so 0 0 644 capabilities=0x0
system/lib/mediametricsservice-aidl-cpp.so 0 0 644 capabilities=0x0
@@ -239,6 +239,7 @@ system/lib64/lib.engmode.samsung.so 0 0 644 capabilities=0x0
system/lib64/lib.engmodejni.samsung.so 0 0 644 capabilities=0x0
system/lib64/libvkjni.so 0 0 644 capabilities=0x0
system/lib64/libvkmanager.so 0 0 644 capabilities=0x0
+system/lib64/vendor.samsung.hardware.security.engmode@1.0.so 0 0 644 capabilities=0x0
system/lib64/vendor.samsung.hardware.security.vaultkeeper@2.0.so 0 0 644 capabilities=0x0
system/system_ext 0 0 755 capabilities=0x0
system/system_ext/apex 0 0 755 capabilities=0x0
diff --git a/prebuilts/samsung/dm3qxxx/system/apex/com.android.i18n.apex b/prebuilts/samsung/dm3qxxx/system/apex/com.android.i18n.apex
index 00721194fd..446be0a7d1 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/apex/com.android.i18n.apex and b/prebuilts/samsung/dm3qxxx/system/apex/com.android.i18n.apex differ
diff --git a/prebuilts/samsung/dm3qxxx/system/apex/com.google.android.tzdata6.apex b/prebuilts/samsung/dm3qxxx/system/apex/com.google.android.tzdata6.apex
index 6bbb2d02b5..c52e6c6a33 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/apex/com.google.android.tzdata6.apex and b/prebuilts/samsung/dm3qxxx/system/apex/com.google.android.tzdata6.apex differ
diff --git a/prebuilts/samsung/dm3qxxx/system/bin/bootstrap/linker b/prebuilts/samsung/dm3qxxx/system/bin/bootstrap/linker
old mode 100644
new mode 100755
diff --git a/prebuilts/samsung/dm3qxxx/system/bin/linker b/prebuilts/samsung/dm3qxxx/system/bin/linker
deleted file mode 120000
index c269db68b6..0000000000
--- a/prebuilts/samsung/dm3qxxx/system/bin/linker
+++ /dev/null
@@ -1 +0,0 @@
-/apex/com.android.runtime/bin/linker
\ No newline at end of file
diff --git a/prebuilts/samsung/dm3qxxx/system/bin/linker_asan b/prebuilts/samsung/dm3qxxx/system/bin/linker_asan
deleted file mode 120000
index c269db68b6..0000000000
--- a/prebuilts/samsung/dm3qxxx/system/bin/linker_asan
+++ /dev/null
@@ -1 +0,0 @@
-/apex/com.android.runtime/bin/linker
\ No newline at end of file
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libaudioclient.so b/prebuilts/samsung/dm3qxxx/system/lib/libaudioclient.so
index d37ee41713..256cfdf3b1 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libaudioclient.so and b/prebuilts/samsung/dm3qxxx/system/lib/libaudioclient.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libc.so b/prebuilts/samsung/dm3qxxx/system/lib/libc.so
deleted file mode 120000
index 52d6279146..0000000000
--- a/prebuilts/samsung/dm3qxxx/system/lib/libc.so
+++ /dev/null
@@ -1 +0,0 @@
-/apex/com.android.runtime/lib/bionic/libc.so
\ No newline at end of file
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libdl.so b/prebuilts/samsung/dm3qxxx/system/lib/libdl.so
deleted file mode 120000
index 156a632ab7..0000000000
--- a/prebuilts/samsung/dm3qxxx/system/lib/libdl.so
+++ /dev/null
@@ -1 +0,0 @@
-/apex/com.android.runtime/lib/bionic/libdl.so
\ No newline at end of file
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libdl_android.so b/prebuilts/samsung/dm3qxxx/system/lib/libdl_android.so
deleted file mode 120000
index 53e3122c90..0000000000
--- a/prebuilts/samsung/dm3qxxx/system/lib/libdl_android.so
+++ /dev/null
@@ -1 +0,0 @@
-/apex/com.android.runtime/lib/bionic/libdl_android.so
\ No newline at end of file
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libinput.so b/prebuilts/samsung/dm3qxxx/system/lib/libinput.so
index dd2b38fe28..557c44b759 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libinput.so and b/prebuilts/samsung/dm3qxxx/system/lib/libinput.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libm.so b/prebuilts/samsung/dm3qxxx/system/lib/libm.so
deleted file mode 120000
index c76012b600..0000000000
--- a/prebuilts/samsung/dm3qxxx/system/lib/libm.so
+++ /dev/null
@@ -1 +0,0 @@
-/apex/com.android.runtime/lib/bionic/libm.so
\ No newline at end of file
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libmediacaptureservice.so b/prebuilts/samsung/dm3qxxx/system/lib/libmediacaptureservice.so
index b504dcac1f..444792b6ad 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libmediacaptureservice.so and b/prebuilts/samsung/dm3qxxx/system/lib/libmediacaptureservice.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libmediaplayerservice.so b/prebuilts/samsung/dm3qxxx/system/lib/libmediaplayerservice.so
index 45389a4402..29814c9d80 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libmediaplayerservice.so and b/prebuilts/samsung/dm3qxxx/system/lib/libmediaplayerservice.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libruntimeproperty.so b/prebuilts/samsung/dm3qxxx/system/lib/libruntimeproperty.so
index b445cb64b7..cd38707ef3 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libruntimeproperty.so and b/prebuilts/samsung/dm3qxxx/system/lib/libruntimeproperty.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libsecrecorder.so b/prebuilts/samsung/dm3qxxx/system/lib/libsecrecorder.so
index 4230b0d460..38d0949e52 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libsecrecorder.so and b/prebuilts/samsung/dm3qxxx/system/lib/libsecrecorder.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libsecrecorder_jni.so b/prebuilts/samsung/dm3qxxx/system/lib/libsecrecorder_jni.so
index fcc30a8232..9040432042 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libsecrecorder_jni.so and b/prebuilts/samsung/dm3qxxx/system/lib/libsecrecorder_jni.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libsfplugin_ccodec.so b/prebuilts/samsung/dm3qxxx/system/lib/libsfplugin_ccodec.so
index aa5fb67634..e7be4f82bf 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libsfplugin_ccodec.so and b/prebuilts/samsung/dm3qxxx/system/lib/libsfplugin_ccodec.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib/libstagefright.so b/prebuilts/samsung/dm3qxxx/system/lib/libstagefright.so
index 5a7179474e..4d15e7d4ce 100644
Binary files a/prebuilts/samsung/dm3qxxx/system/lib/libstagefright.so and b/prebuilts/samsung/dm3qxxx/system/lib/libstagefright.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system/lib64/vendor.samsung.hardware.security.engmode@1.0.so b/prebuilts/samsung/dm3qxxx/system/lib64/vendor.samsung.hardware.security.engmode@1.0.so
new file mode 100644
index 0000000000..ae2b2ff9a4
Binary files /dev/null and b/prebuilts/samsung/dm3qxxx/system/lib64/vendor.samsung.hardware.security.engmode@1.0.so differ
diff --git a/prebuilts/samsung/dm3qxxx/system_ext/apex/com.android.vndk.v33.apex b/prebuilts/samsung/dm3qxxx/system_ext/apex/com.android.vndk.v33.apex
index ad23371dae..f5baba3d88 100644
Binary files a/prebuilts/samsung/dm3qxxx/system_ext/apex/com.android.vndk.v33.apex and b/prebuilts/samsung/dm3qxxx/system_ext/apex/com.android.vndk.v33.apex differ
diff --git a/prebuilts/samsung/e1sxxx/.current b/prebuilts/samsung/e1sxxx/.current
index 81157aea3a..a149e8f18e 100644
--- a/prebuilts/samsung/e1sxxx/.current
+++ b/prebuilts/samsung/e1sxxx/.current
@@ -1 +1 @@
-S980BXXXXXXXXX/DUMMYYYYYY
\ No newline at end of file
+S921BXXU6BYE7/S921BOXM6BYE7/S921BXXU6BYE7
\ No newline at end of file
diff --git a/prebuilts/samsung/e1sxxx/file_context-system b/prebuilts/samsung/e1sxxx/file_context-system
index 0c1d2cfc65..c5146ab14b 100644
--- a/prebuilts/samsung/e1sxxx/file_context-system
+++ b/prebuilts/samsung/e1sxxx/file_context-system
@@ -6,8 +6,8 @@
/system/lib64/libgui\.so u:object_r:system_lib_file:s0
/system/media u:object_r:system_file:s0
/system/media/battery_error\.spi u:object_r:system_file:s0
-/system/media/battery_lightning\.spi u:object_r:system_file:s0
/system/media/battery_lightning_fast\.spi u:object_r:system_file:s0
+/system/media/battery_lightning\.spi u:object_r:system_file:s0
/system/media/battery_low\.spi u:object_r:system_file:s0
/system/media/battery_temperature_error\.spi u:object_r:system_file:s0
/system/media/battery_temperature_limit\.spi u:object_r:system_file:s0
diff --git a/prebuilts/samsung/e1sxxx/fs_config-system b/prebuilts/samsung/e1sxxx/fs_config-system
index 7a07511f5f..0d7bc648a7 100644
--- a/prebuilts/samsung/e1sxxx/fs_config-system
+++ b/prebuilts/samsung/e1sxxx/fs_config-system
@@ -1,31 +1,30 @@
-
system 0 0 755 capabilities=0x0
-system/bin 0 2000 751
-system/bin/bootanimation 0 2000 755
-system/bin/surfaceflinger 0 2000 755
-system/lib64 0 0 755
-system/lib64/libgui.so 0 0 644
-system/media 0 0 755
-system/media/battery_error.spi 0 0 644
-system/media/battery_lightning.spi 0 0 644
-system/media/battery_lightning_fast.spi 0 0 644
-system/media/battery_low.spi 0 0 644
-system/media/battery_temperature_error.spi 0 0 644
-system/media/battery_temperature_limit.spi 0 0 644
-system/media/battery_water_usb.spi 0 0 644
-system/media/bootsamsung.qmg 0 0 644
-system/media/bootsamsungloop.qmg 0 0 644
-system/media/charging_vi_100.spi 0 0 644
-system/media/charging_vi_level1.spi 0 0 644
-system/media/charging_vi_level2.spi 0 0 644
-system/media/charging_vi_level3.spi 0 0 644
-system/media/charging_vi_level4.spi 0 0 644
-system/media/dock_error_usb.spi 0 0 644
-system/media/incomplete_connect.spi 0 0 644
-system/media/lcd_density.txt 0 0 644
-system/media/percentage.spi 0 0 644
-system/media/safety_timer_usb.spi 0 0 644
-system/media/shutdown.qmg 0 0 644
-system/media/slow_charging_usb.spi 0 0 644
-system/media/temperature_limit_usb.spi 0 0 644
-system/media/water_protection_usb.spi 0 0 644
\ No newline at end of file
+system/bin 0 2000 751 capabilities=0x0
+system/bin/bootanimation 0 2000 755 capabilities=0x0
+system/bin/surfaceflinger 0 2000 755 capabilities=0x0
+system/lib64 0 0 755 capabilities=0x0
+system/lib64/libgui.so 0 0 644 capabilities=0x0
+system/media 0 0 755 capabilities=0x0
+system/media/battery_error.spi 0 0 644 capabilities=0x0
+system/media/battery_lightning_fast.spi 0 0 644 capabilities=0x0
+system/media/battery_lightning.spi 0 0 644 capabilities=0x0
+system/media/battery_low.spi 0 0 644 capabilities=0x0
+system/media/battery_temperature_error.spi 0 0 644 capabilities=0x0
+system/media/battery_temperature_limit.spi 0 0 644 capabilities=0x0
+system/media/battery_water_usb.spi 0 0 644 capabilities=0x0
+system/media/bootsamsung.qmg 0 0 644 capabilities=0x0
+system/media/bootsamsungloop.qmg 0 0 644 capabilities=0x0
+system/media/charging_vi_100.spi 0 0 644 capabilities=0x0
+system/media/charging_vi_level1.spi 0 0 644 capabilities=0x0
+system/media/charging_vi_level2.spi 0 0 644 capabilities=0x0
+system/media/charging_vi_level3.spi 0 0 644 capabilities=0x0
+system/media/charging_vi_level4.spi 0 0 644 capabilities=0x0
+system/media/dock_error_usb.spi 0 0 644 capabilities=0x0
+system/media/incomplete_connect.spi 0 0 644 capabilities=0x0
+system/media/lcd_density.txt 0 0 644 capabilities=0x0
+system/media/percentage.spi 0 0 644 capabilities=0x0
+system/media/safety_timer_usb.spi 0 0 644 capabilities=0x0
+system/media/shutdown.qmg 0 0 644 capabilities=0x0
+system/media/slow_charging_usb.spi 0 0 644 capabilities=0x0
+system/media/temperature_limit_usb.spi 0 0 644 capabilities=0x0
+system/media/water_protection_usb.spi 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/e1sxxx/system/bin/bootanimation b/prebuilts/samsung/e1sxxx/system/bin/bootanimation
old mode 100644
new mode 100755
diff --git a/prebuilts/samsung/e1sxxx/system/bin/surfaceflinger b/prebuilts/samsung/e1sxxx/system/bin/surfaceflinger
old mode 100644
new mode 100755
index 3d8501b745..1fed3ad976
Binary files a/prebuilts/samsung/e1sxxx/system/bin/surfaceflinger and b/prebuilts/samsung/e1sxxx/system/bin/surfaceflinger differ
diff --git a/prebuilts/samsung/e1sxxx/system/lib64/libgui.so b/prebuilts/samsung/e1sxxx/system/lib64/libgui.so
index 663956ff91..a60a28284b 100644
Binary files a/prebuilts/samsung/e1sxxx/system/lib64/libgui.so and b/prebuilts/samsung/e1sxxx/system/lib64/libgui.so differ
diff --git a/prebuilts/samsung/e2sxxx/.current b/prebuilts/samsung/e2sxxx/.current
index 0c18342da3..125da81dff 100644
--- a/prebuilts/samsung/e2sxxx/.current
+++ b/prebuilts/samsung/e2sxxx/.current
@@ -1 +1 @@
-S926BXXU5BYCG/S926BOXM5BYCG/S926BXXU5BYCG
\ No newline at end of file
+S926BXXU6BYE7/S926BOXM6BYE7/S926BXXU6BYE7
\ No newline at end of file
diff --git a/prebuilts/samsung/e2sxxx/file_context-system b/prebuilts/samsung/e2sxxx/file_context-system
index 7cf3737ab0..50881fb6e5 100644
--- a/prebuilts/samsung/e2sxxx/file_context-system
+++ b/prebuilts/samsung/e2sxxx/file_context-system
@@ -1,13 +1,13 @@
/system u:object_r:system_file:s0
/system/app/TEEgrisTuiService u:object_r:system_file:s0
-/system/app/TEEgrisTuiService/TEEgrisTuiService\.apk u:object_r:system_file:s0
-/system/app/TEEgrisTuiService/oat u:object_r:system_file:s0
-/system/app/TEEgrisTuiService/oat/arm64 u:object_r:system_file:s0
/system/app/TEEgrisTuiService/lib u:object_r:system_file:s0
/system/app/TEEgrisTuiService/lib/arm64 u:object_r:system_file:s0
+/system/app/TEEgrisTuiService/lib/arm64/libtui_service_jni\.so u:object_r:system_file:s0
+/system/app/TEEgrisTuiService/oat u:object_r:system_file:s0
+/system/app/TEEgrisTuiService/oat/arm64 u:object_r:system_file:s0
/system/app/TEEgrisTuiService/oat/arm64/TEEgrisTuiService\.odex u:object_r:system_file:s0
/system/app/TEEgrisTuiService/oat/arm64/TEEgrisTuiService\.vdex u:object_r:system_file:s0
-/system/app/TEEgrisTuiService/lib/arm64/libtui_service_jni\.so u:object_r:system_file:s0
+/system/app/TEEgrisTuiService/TEEgrisTuiService\.apk u:object_r:system_file:s0
/system/bin u:object_r:system_file:s0
/system/bin/audioserver u:object_r:audioserver_exec:s0
/system/bin/bootanimation u:object_r:bootanim_exec:s0
@@ -46,12 +46,13 @@
/system/framework/com\.android\.nfc_extras\.jar u:object_r:system_file:s0
/system/framework/displayaiqe_svc\.jar u:object_r:system_file:s0
/system/framework/vendor\.samsung_slsi\.telephony\.hardware\.oemservice-V1-java\.jar u:object_r:system_file:s0
-/system/framework/ssrm\.jar u:object_r:system_file:s0
/system/lib64 u:object_r:system_lib_file:s0
/system/lib64/android\.hardware\.graphics\.composer3-V1-ndk\.so u:object_r:system_lib_file:s0
/system/lib64/android\.hardware\.graphics\.extension\.composer3-V1-ndk\.so u:object_r:system_lib_file:s0
-/system/lib64/libandroid_runtime\.so u:object_r:system_lib_file:s0
+/system/lib64/hidl_tlc_blockchain_comm_client\.so u:object_r:system_lib_file:s0
+/system/lib64/hidl_tlc_payment_comm_client\.so u:object_r:system_lib_file:s0
/system/lib64/libandroid_runtime_lazy\.so u:object_r:system_lib_file:s0
+/system/lib64/libandroid_runtime\.so u:object_r:system_lib_file:s0
/system/lib64/libaudiopolicy\.so u:object_r:system_lib_file:s0
/system/lib64/libaudiopolicycomponents\.so u:object_r:system_lib_file:s0
/system/lib64/libaudiopolicyengineconfigurable\.so u:object_r:system_lib_file:s0
@@ -60,32 +61,29 @@
/system/lib64/libc\+\+_shared\.so u:object_r:system_lib_file:s0
/system/lib64/libeden_nn_on_system\.so u:object_r:system_lib_file:s0
/system/lib64/libeden_rt_stub\.edensdk\.samsung\.so u:object_r:system_lib_file:s0
-/system/lib64/libnfc-sec\.so u:object_r:system_lib_file:s0
-/system/lib64/libnfc_sec_jni\.so u:object_r:system_lib_file:s0
-/system/lib64/libnfc-nci_flags\.so u:object_r:system_lib_file:s0
-/system/lib64/libstatslog_nfc\.so u:object_r:system_lib_file:s0
/system/lib64/libgui\.so u:object_r:system_lib_file:s0
-/system/lib64/libhdcp2\.so u:object_r:system_lib_file:s0
/system/lib64/libhdcp_client_aidl\.so u:object_r:system_lib_file:s0
+/system/lib64/libhdcp2\.so u:object_r:system_lib_file:s0
/system/lib64/libhidl_comm_mpos_tui_client\.so u:object_r:system_lib_file:s0
+/system/lib64/libnfc_sec_jni\.so u:object_r:system_lib_file:s0
+/system/lib64/libnfc-nci_flags\.so u:object_r:system_lib_file:s0
+/system/lib64/libnfc-sec\.so u:object_r:system_lib_file:s0
/system/lib64/libremotedesktopservice\.so u:object_r:system_lib_file:s0
-/system/lib64/libremotedisplay\.so u:object_r:system_lib_file:s0
/system/lib64/libremotedisplay_wfd\.so u:object_r:system_lib_file:s0
+/system/lib64/libremotedisplay\.so u:object_r:system_lib_file:s0
/system/lib64/libremotedisplayservice\.so u:object_r:system_lib_file:s0
-/system/lib64/hidl_tlc_blockchain_comm_client\.so u:object_r:system_lib_file:s0
-/system/lib64/hidl_tlc_payment_comm_client\.so u:object_r:system_lib_file:s0
-/system/lib64/libtui_service_jni\.so u:object_r:system_lib_file:s0
-/system/lib64/libtsmux\.so u:object_r:system_lib_file:s0
/system/lib64/librepeater\.so u:object_r:system_lib_file:s0
+/system/lib64/libsaiv_HprFace_cmh_support_jni\.camera\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/libsamsung_keystore_utils\.so u:object_r:system_lib_file:s0
/system/lib64/libsecuibc\.so u:object_r:system_lib_file:s0
/system/lib64/libstagefright_hdcp\.so u:object_r:system_lib_file:s0
+/system/lib64/libstatslog_nfc\.so u:object_r:system_lib_file:s0
/system/lib64/libSurfaceFlingerProp\.so u:object_r:system_lib_file:s0
/system/lib64/libteecl_aidl\.so u:object_r:system_lib_file:s0
-/system/lib64/libtensorflowLite\.camera\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/libtensorflowlite_c\.camera\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/libtensorflowlite_inference_api\.camera\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/libtensorflowlite_jni_voicecommand\.camera\.samsung\.so u:object_r:system_lib_file:s0
+/system/lib64/libtensorflowLite\.camera\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/libtensorflowLite2_11_0_dynamic_camera\.so u:object_r:system_lib_file:s0
/system/lib64/libtlc_blockchain_comm\.so u:object_r:system_lib_file:s0
/system/lib64/libtlc_blockchain_direct_comm\.so u:object_r:system_lib_file:s0
@@ -93,20 +91,16 @@
/system/lib64/libtlc_payment_comm\.so u:object_r:system_lib_file:s0
/system/lib64/libtlc_payment_direct_comm\.so u:object_r:system_lib_file:s0
/system/lib64/libtlc_payment_spay\.so u:object_r:system_lib_file:s0
-/system/lib64/libsaiv_HprFace_cmh_support_jni\.camera\.samsung\.so u:object_r:system_lib_file:s0
-/system/lib64/vendor\.samsung_slsi\.hardware\.ExynosHWCServiceTW@1\.0\.so u:object_r:system_lib_file:s0
+/system/lib64/libtsmux\.so u:object_r:system_lib_file:s0
+/system/lib64/libtui_service_jni\.so u:object_r:system_lib_file:s0
+/system/lib64/libui\.so u:object_r:system_lib_file:s0
/system/lib64/vendor\.samsung_slsi\.hardware\.eden_runtime@1\.0\.so u:object_r:system_lib_file:s0
+/system/lib64/vendor\.samsung_slsi\.hardware\.ExynosHWCServiceTW@1\.0\.so u:object_r:system_lib_file:s0
+/system/lib64/vendor\.samsung\.hardware\.security\.hdcp\.wifidisplay-V2-ndk\.so u:object_r:system_lib_file:s0
/system/lib64/vendor\.samsung\.hardware\.tlc\.blockchain@1\.0\.so u:object_r:system_lib_file:s0
/system/lib64/vendor\.samsung\.hardware\.tlc\.payment@1\.0\.so u:object_r:system_lib_file:s0
-/system/lib64/vendor\.samsung\.hardware\.security\.hdcp\.wifidisplay-V2-ndk\.so u:object_r:system_lib_file:s0
/system/priv-app u:object_r:system_file:s0
/system/priv-app/NfcNci u:object_r:system_file:s0
/system/priv-app/NfcNci/lib u:object_r:system_file:s0
/system/priv-app/NfcNci/lib/arm64 u:object_r:system_file:s0
/system/priv-app/NfcNci/lib/arm64/libnfc_sec_jni\.so u:object_r:system_file:s0
-/system/priv-app/SamsungDeviceHealthManagerService u:object_r:system_file:s0
-/system/priv-app/SamsungDeviceHealthManagerService/SamsungDeviceHealthManagerService\.apk u:object_r:system_file:s0
-/system/priv-app/SamsungDeviceHealthManagerService/oat u:object_r:system_file:s0
-/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64 u:object_r:system_file:s0
-/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService\.odex u:object_r:system_file:s0
-/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService\.vdex u:object_r:system_file:s0
diff --git a/prebuilts/samsung/e2sxxx/file_context-system_ext b/prebuilts/samsung/e2sxxx/file_context-system_ext
index b9e7d68c06..f17ac24a85 100644
--- a/prebuilts/samsung/e2sxxx/file_context-system_ext
+++ b/prebuilts/samsung/e2sxxx/file_context-system_ext
@@ -21,6 +21,6 @@
/system_ext/etc/selinux/system_ext_mac_permissions\.xml u:object_r:mac_perms_file:s0
/system_ext/etc/selinux/system_ext_property_contexts u:object_r:property_contexts_file:s0
/system_ext/etc/selinux/system_ext_seapp_contexts u:object_r:seapp_contexts_file:s0
-/system_ext/etc/selinux/system_ext_sepolicy\.cil u:object_r:system_file:s0
/system_ext/etc/selinux/system_ext_sepolicy_and_mapping\.sha256 u:object_r:system_file:s0
+/system_ext/etc/selinux/system_ext_sepolicy\.cil u:object_r:system_file:s0
/system_ext/etc/selinux/system_ext_service_contexts u:object_r:service_contexts_file:s0
diff --git a/prebuilts/samsung/e2sxxx/fs_config-system b/prebuilts/samsung/e2sxxx/fs_config-system
index 5304406aef..6aa5933a6c 100644
--- a/prebuilts/samsung/e2sxxx/fs_config-system
+++ b/prebuilts/samsung/e2sxxx/fs_config-system
@@ -1,13 +1,13 @@
system 0 0 755 capabilities=0x0
system/app/TEEgrisTuiService 0 0 755 capabilities=0x0
-system/app/TEEgrisTuiService/TEEgrisTuiService.apk 0 0 644 capabilities=0x0
-system/app/TEEgrisTuiService/oat 0 0 755 capabilities=0x0
-system/app/TEEgrisTuiService/oat/arm64 0 0 755 capabilities=0x0
system/app/TEEgrisTuiService/lib 0 0 755 capabilities=0x0
system/app/TEEgrisTuiService/lib/arm64 0 0 755 capabilities=0x0
+system/app/TEEgrisTuiService/lib/arm64/libtui_service_jni.so 0 0 644 capabilities=0x0
+system/app/TEEgrisTuiService/oat 0 0 755 capabilities=0x0
+system/app/TEEgrisTuiService/oat/arm64 0 0 755 capabilities=0x0
system/app/TEEgrisTuiService/oat/arm64/TEEgrisTuiService.odex 0 0 644 capabilities=0x0
system/app/TEEgrisTuiService/oat/arm64/TEEgrisTuiService.vdex 0 0 644 capabilities=0x0
-system/app/TEEgrisTuiService/lib/arm64/libtui_service_jni.so 0 0 644 capabilities=0x0
+system/app/TEEgrisTuiService/TEEgrisTuiService.apk 0 0 644 capabilities=0x0
system/bin 0 0 755 capabilities=0x0
system/bin/audioserver 0 2000 755 capabilities=0x0
system/bin/bootanimation 0 2000 755 capabilities=0x0
@@ -20,7 +20,6 @@ system/etc/boot-image.bprof 0 0 644 capabilities=0x0
system/etc/boot-image.prof 0 0 644 capabilities=0x0
system/etc/classpaths 0 0 755 capabilities=0x0
system/etc/classpaths/bootclasspath.pb 0 0 644 capabilities=0x0
-system/etc/public.libraries-edensdk.samsung.txt 0 0 644 capabilities=0x0
system/etc/init 0 0 755 capabilities=0x0
system/etc/init/init.gpscommon.rc 0 0 644 capabilities=0x0
system/etc/init/init.network.rc 0 0 644 capabilities=0x0
@@ -31,8 +30,10 @@ system/etc/init/surfaceflinger.rc 0 0 644 capabilities=0x0
system/etc/libnfc-nci.conf 0 0 644 capabilities=0x0
system/etc/permissions 0 0 755 capabilities=0x0
system/etc/permissions/com.android.nfc_extras.xml 0 0 644 capabilities=0x0
+system/etc/public.libraries-edensdk.samsung.txt 0 0 644 capabilities=0x0
system/etc/sysconfig 0 0 755 capabilities=0x0
system/etc/sysconfig/preinstalled-packages-com.samsung.sec.android.teegris.tui_service.xml 0 0 644 capabilities=0x0
+system/etc/ueventd.rc 0 0 644 capabilities=0x0
system/etc/vintf 0 0 755 capabilities=0x0
system/etc/vintf/compatibility_matrix.202404.xml 0 0 644 capabilities=0x0
system/etc/vintf/compatibility_matrix.5.xml 0 0 644 capabilities=0x0
@@ -41,72 +42,65 @@ system/etc/vintf/compatibility_matrix.7.xml 0 0 644 capabilities=0x0
system/etc/vintf/compatibility_matrix.8.xml 0 0 644 capabilities=0x0
system/etc/vintf/compatibility_matrix.device.xml 0 0 644 capabilities=0x0
system/etc/vintf/manifest.xml 0 0 644 capabilities=0x0
-system/etc/ueventd.rc 0 0 644 capabilities=0x0
system/framework 0 0 755 capabilities=0x0
system/framework/com.android.nfc_extras.jar 0 0 644 capabilities=0x0
system/framework/displayaiqe_svc.jar 0 0 644 capabilities=0x0
-system/framework/ssrm.jar 0 0 644 capabilities=0x0
system/framework/vendor.samsung_slsi.telephony.hardware.oemservice-V1-java.jar 0 0 644 capabilities=0x0
system/lib64 0 0 755 capabilities=0x0
system/lib64/android.hardware.graphics.composer3-V1-ndk.so 0 0 644 capabilities=0x0
system/lib64/android.hardware.graphics.extension.composer3-V1-ndk.so 0 0 644 capabilities=0x0
-system/lib64/libc++_shared.so 0 0 644 capabilities=0x0
-system/lib64/libandroid_runtime.so 0 0 644 capabilities=0x0
+system/lib64/hidl_tlc_blockchain_comm_client.so 0 0 644 capabilities=0x0
+system/lib64/hidl_tlc_payment_comm_client.so 0 0 644 capabilities=0x0
system/lib64/libandroid_runtime_lazy.so 0 0 644 capabilities=0x0
+system/lib64/libandroid_runtime.so 0 0 644 capabilities=0x0
system/lib64/libaudiopolicy.so 0 0 644 capabilities=0x0
system/lib64/libaudiopolicycomponents.so 0 0 644 capabilities=0x0
system/lib64/libaudiopolicyengineconfigurable.so 0 0 644 capabilities=0x0
system/lib64/libaudiopolicyenginedefault.so 0 0 644 capabilities=0x0
system/lib64/libaudiopolicymanagerdefault.so 0 0 644 capabilities=0x0
+system/lib64/libc++_shared.so 0 0 644 capabilities=0x0
system/lib64/libeden_nn_on_system.so 0 0 644 capabilities=0x0
system/lib64/libeden_rt_stub.edensdk.samsung.so 0 0 644 capabilities=0x0
-system/lib64/libnfc-sec.so 0 0 644 capabilities=0x0
-system/lib64/libnfc_sec_jni.so 0 0 644 capabilities=0x0
-system/lib64/libnfc-nci_flags.so 0 0 644 capabilities=0x0
-system/lib64/libstatslog_nfc.so 0 0 644 capabilities=0x0
system/lib64/libgui.so 0 0 644 capabilities=0x0
-system/lib64/libhdcp2.so 0 0 644 capabilities=0x0
system/lib64/libhdcp_client_aidl.so 0 0 644 capabilities=0x0
+system/lib64/libhdcp2.so 0 0 644 capabilities=0x0
system/lib64/libhidl_comm_mpos_tui_client.so 0 0 644 capabilities=0x0
+system/lib64/libnfc_sec_jni.so 0 0 644 capabilities=0x0
+system/lib64/libnfc-nci_flags.so 0 0 644 capabilities=0x0
+system/lib64/libnfc-sec.so 0 0 644 capabilities=0x0
system/lib64/libremotedesktopservice.so 0 0 644 capabilities=0x0
-system/lib64/libremotedisplay.so 0 0 644 capabilities=0x0
system/lib64/libremotedisplay_wfd.so 0 0 644 capabilities=0x0
+system/lib64/libremotedisplay.so 0 0 644 capabilities=0x0
system/lib64/libremotedisplayservice.so 0 0 644 capabilities=0x0
-system/lib64/hidl_tlc_blockchain_comm_client.so 0 0 644 capabilities=0x0
-system/lib64/hidl_tlc_payment_comm_client.so 0 0 644 capabilities=0x0
-system/lib64/libtensorflowLite.camera.samsung.so 0 0 644 capabilities=0x0
-system/lib64/libtensorflowlite_c.camera.samsung.so 0 0 644 capabilities=0x0
-system/lib64/libtensorflowlite_inference_api.camera.samsung.so 0 0 644 capabilities=0x0
-system/lib64/libtensorflowlite_jni_voicecommand.so 0 0 644 capabilities=0x0
-system/lib64/libtensorflowLite2_11_0_dynamic_camera.so 0 0 644 capabilities=0x0
-system/lib64/libtui_service_jni.so 0 0 644 capabilities=0x0
-system/lib64/libtsmux.so 0 0 644 capabilities=0x0
system/lib64/librepeater.so 0 0 644 capabilities=0x0
-system/lib64/libsamsung_keystore_utils.so 0 0 644 capabilities=0x0
system/lib64/libsaiv_HprFace_cmh_support_jni.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libsamsung_keystore_utils.so 0 0 644 capabilities=0x0
system/lib64/libsecuibc.so 0 0 644 capabilities=0x0
system/lib64/libstagefright_hdcp.so 0 0 644 capabilities=0x0
+system/lib64/libstatslog_nfc.so 0 0 644 capabilities=0x0
system/lib64/libSurfaceFlingerProp.so 0 0 644 capabilities=0x0
system/lib64/libteecl_aidl.so 0 0 644 capabilities=0x0
+system/lib64/libtensorflowlite_c.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libtensorflowlite_inference_api.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libtensorflowlite_jni_voicecommand.so 0 0 644 capabilities=0x0
+system/lib64/libtensorflowLite.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libtensorflowLite2_11_0_dynamic_camera.so 0 0 644 capabilities=0x0
system/lib64/libtlc_blockchain_comm.so 0 0 644 capabilities=0x0
system/lib64/libtlc_blockchain_direct_comm.so 0 0 644 capabilities=0x0
system/lib64/libtlc_blockchain_keystore.so 0 0 644 capabilities=0x0
system/lib64/libtlc_payment_comm.so 0 0 644 capabilities=0x0
system/lib64/libtlc_payment_direct_comm.so 0 0 644 capabilities=0x0
system/lib64/libtlc_payment_spay.so 0 0 644 capabilities=0x0
-system/lib64/vendor.samsung_slsi.hardware.ExynosHWCServiceTW@1.0.so 0 0 644 capabilities=0x0
+system/lib64/libtsmux.so 0 0 644 capabilities=0x0
+system/lib64/libtui_service_jni.so 0 0 644 capabilities=0x0
+system/lib64/libui.so 0 0 644 capabilities=0x0
system/lib64/vendor.samsung_slsi.hardware.eden_runtime@1.0.so 0 0 644 capabilities=0x0
+system/lib64/vendor.samsung_slsi.hardware.ExynosHWCServiceTW@1.0.so 0 0 644 capabilities=0x0
+system/lib64/vendor.samsung.hardware.security.hdcp.wifidisplay-V2-ndk.so 0 0 644 capabilities=0x0
system/lib64/vendor.samsung.hardware.tlc.blockchain@1.0.so 0 0 644 capabilities=0x0
system/lib64/vendor.samsung.hardware.tlc.payment@1.0.so 0 0 644 capabilities=0x0
-system/lib64/vendor.samsung.hardware.security.hdcp.wifidisplay-V2-ndk.so 0 0 644 capabilities=0x0
system/priv-app 0 0 755 capabilities=0x0
system/priv-app/NfcNci 0 0 755 capabilities=0x0
system/priv-app/NfcNci/lib 0 0 755 capabilities=0x0
system/priv-app/NfcNci/lib/arm64 0 0 755 capabilities=0x0
system/priv-app/NfcNci/lib/arm64/libnfc_sec_jni.so 0 0 644 capabilities=0x0
-system/priv-app/SamsungDeviceHealthManagerService 0 0 755 capabilities=0x0
-system/priv-app/SamsungDeviceHealthManagerService/SamsungDeviceHealthManagerService.apk 0 0 644 capabilities=0x0
-system/priv-app/SamsungDeviceHealthManagerService/oat 0 0 755 capabilities=0x0
-system/priv-app/SamsungDeviceHealthManagerService/oat/arm64 0 0 755 capabilities=0x0
-system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService.odex 0 0 644 capabilities=0x0
-system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService.vdex 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/e2sxxx/fs_config-system_ext b/prebuilts/samsung/e2sxxx/fs_config-system_ext
index b871605c6b..aee1c69a6d 100644
--- a/prebuilts/samsung/e2sxxx/fs_config-system_ext
+++ b/prebuilts/samsung/e2sxxx/fs_config-system_ext
@@ -21,6 +21,6 @@ system_ext/etc/selinux/system_ext_keystore2_key_contexts 0 0 644 capabilities=0x
system_ext/etc/selinux/system_ext_mac_permissions.xml 0 0 644 capabilities=0x0
system_ext/etc/selinux/system_ext_property_contexts 0 0 644 capabilities=0x0
system_ext/etc/selinux/system_ext_seapp_contexts 0 0 644 capabilities=0x0
-system_ext/etc/selinux/system_ext_sepolicy.cil 0 0 644 capabilities=0x0
system_ext/etc/selinux/system_ext_sepolicy_and_mapping.sha256 0 0 644 capabilities=0x0
+system_ext/etc/selinux/system_ext_sepolicy.cil 0 0 644 capabilities=0x0
system_ext/etc/selinux/system_ext_service_contexts 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/e2sxxx/system/app/TEEgrisTuiService/TEEgrisTuiService.apk b/prebuilts/samsung/e2sxxx/system/app/TEEgrisTuiService/TEEgrisTuiService.apk
index 06e34c4f25..80ec016452 100644
Binary files a/prebuilts/samsung/e2sxxx/system/app/TEEgrisTuiService/TEEgrisTuiService.apk and b/prebuilts/samsung/e2sxxx/system/app/TEEgrisTuiService/TEEgrisTuiService.apk differ
diff --git a/prebuilts/samsung/e2sxxx/system/app/TEEgrisTuiService/oat/arm64/TEEgrisTuiService.odex b/prebuilts/samsung/e2sxxx/system/app/TEEgrisTuiService/oat/arm64/TEEgrisTuiService.odex
index a18f210702..8c7de3b711 100644
Binary files a/prebuilts/samsung/e2sxxx/system/app/TEEgrisTuiService/oat/arm64/TEEgrisTuiService.odex and b/prebuilts/samsung/e2sxxx/system/app/TEEgrisTuiService/oat/arm64/TEEgrisTuiService.odex differ
diff --git a/prebuilts/samsung/e2sxxx/system/bin/audioserver b/prebuilts/samsung/e2sxxx/system/bin/audioserver
index c16519c8fd..5817664cd5 100755
Binary files a/prebuilts/samsung/e2sxxx/system/bin/audioserver and b/prebuilts/samsung/e2sxxx/system/bin/audioserver differ
diff --git a/prebuilts/samsung/e2sxxx/system/etc/boot-image.bprof b/prebuilts/samsung/e2sxxx/system/etc/boot-image.bprof
index 00d370dfb3..a3680a240b 100644
Binary files a/prebuilts/samsung/e2sxxx/system/etc/boot-image.bprof and b/prebuilts/samsung/e2sxxx/system/etc/boot-image.bprof differ
diff --git a/prebuilts/samsung/e2sxxx/system/etc/boot-image.prof b/prebuilts/samsung/e2sxxx/system/etc/boot-image.prof
index 20a331279e..ff3314795c 100644
Binary files a/prebuilts/samsung/e2sxxx/system/etc/boot-image.prof and b/prebuilts/samsung/e2sxxx/system/etc/boot-image.prof differ
diff --git a/prebuilts/samsung/e2sxxx/system/framework/ssrm.jar b/prebuilts/samsung/e2sxxx/system/framework/ssrm.jar
deleted file mode 100644
index 1e2737a6ac..0000000000
Binary files a/prebuilts/samsung/e2sxxx/system/framework/ssrm.jar and /dev/null differ
diff --git a/prebuilts/samsung/e2sxxx/system/lib64/libsamsung_keystore_utils.so b/prebuilts/samsung/e2sxxx/system/lib64/libsamsung_keystore_utils.so
index 3275d17033..f7f26e774b 100644
Binary files a/prebuilts/samsung/e2sxxx/system/lib64/libsamsung_keystore_utils.so and b/prebuilts/samsung/e2sxxx/system/lib64/libsamsung_keystore_utils.so differ
diff --git a/prebuilts/samsung/e2sxxx/system/lib64/libui.so b/prebuilts/samsung/e2sxxx/system/lib64/libui.so
new file mode 100644
index 0000000000..96bfed25cf
Binary files /dev/null and b/prebuilts/samsung/e2sxxx/system/lib64/libui.so differ
diff --git a/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/SamsungDeviceHealthManagerService.apk b/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/SamsungDeviceHealthManagerService.apk
deleted file mode 100644
index 116e329a10..0000000000
Binary files a/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/SamsungDeviceHealthManagerService.apk and /dev/null differ
diff --git a/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService.odex b/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService.odex
deleted file mode 100644
index 9acf959f78..0000000000
Binary files a/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService.odex and /dev/null differ
diff --git a/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService.vdex b/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService.vdex
deleted file mode 100644
index 7019cb2081..0000000000
Binary files a/prebuilts/samsung/e2sxxx/system/priv-app/SamsungDeviceHealthManagerService/oat/arm64/SamsungDeviceHealthManagerService.vdex and /dev/null differ
diff --git a/prebuilts/samsung/gts10fewifixx/.current b/prebuilts/samsung/gts10fewifixx/.current
new file mode 100644
index 0000000000..ff8cf14466
--- /dev/null
+++ b/prebuilts/samsung/gts10fewifixx/.current
@@ -0,0 +1 @@
+X520XXU3AYE1/X520OXM3AYE1/
\ No newline at end of file
diff --git a/prebuilts/samsung/gts10fewifixx/file_context-system b/prebuilts/samsung/gts10fewifixx/file_context-system
new file mode 100644
index 0000000000..7151cf820a
--- /dev/null
+++ b/prebuilts/samsung/gts10fewifixx/file_context-system
@@ -0,0 +1,4 @@
+/system u:object_r:system_file:s0
+/system/lib64 u:object_r:system_lib_file:s0
+/system/lib64/libandroid_servers\.so u:object_r:system_lib_file:s0
+
diff --git a/prebuilts/samsung/gts10fewifixx/fs_config-system b/prebuilts/samsung/gts10fewifixx/fs_config-system
new file mode 100644
index 0000000000..e32944e795
--- /dev/null
+++ b/prebuilts/samsung/gts10fewifixx/fs_config-system
@@ -0,0 +1,3 @@
+system 0 0 755 capabilities=0x0
+system/lib64 0 0 755 capabilities=0x0
+system/lib64/libandroid_servers.so 0 0 644 capabilities=0x0
\ No newline at end of file
diff --git a/prebuilts/samsung/gts10fewifixx/system/lib64/libandroid_servers.so b/prebuilts/samsung/gts10fewifixx/system/lib64/libandroid_servers.so
new file mode 100644
index 0000000000..808021da7d
Binary files /dev/null and b/prebuilts/samsung/gts10fewifixx/system/lib64/libandroid_servers.so differ
diff --git a/prebuilts/samsung/gts10pxxx/file_context-system b/prebuilts/samsung/gts10pxxx/file_context-system
new file mode 100644
index 0000000000..67f70277b6
--- /dev/null
+++ b/prebuilts/samsung/gts10pxxx/file_context-system
@@ -0,0 +1,5 @@
+/ u:object_r:rootfs:s0
+/system u:object_r:system_file:s0
+/system/lib64 u:object_r:system_lib_file:s0
+/system/lib64/libLttEngine\.camera\.samsung\.so u:object_r:system_lib_file:s0
+/system/lib64/libDocShadowRemoval\.arcsoft\.so u:object_r:system_lib_file:s0
diff --git a/prebuilts/samsung/gts10pxxx/fs_config-system b/prebuilts/samsung/gts10pxxx/fs_config-system
new file mode 100644
index 0000000000..c8f3e8bfaf
--- /dev/null
+++ b/prebuilts/samsung/gts10pxxx/fs_config-system
@@ -0,0 +1,5 @@
+ 0 0 755 capabilities=0x0
+system 0 0 755 capabilities=0x0
+system/lib64 0 0 755 capabilities=0x0
+system/lib64/libLttEngine.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libDocShadowRemoval.arcsoft.so 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/gts10pxxx/system/lib64/libDocShadowRemoval.arcsoft.so b/prebuilts/samsung/gts10pxxx/system/lib64/libDocShadowRemoval.arcsoft.so
new file mode 100644
index 0000000000..0e7e62a3bd
Binary files /dev/null and b/prebuilts/samsung/gts10pxxx/system/lib64/libDocShadowRemoval.arcsoft.so differ
diff --git a/prebuilts/samsung/gts10pxxx/system/lib64/libLttEngine.camera.samsung.so b/prebuilts/samsung/gts10pxxx/system/lib64/libLttEngine.camera.samsung.so
new file mode 100644
index 0000000000..8c2aacc31f
Binary files /dev/null and b/prebuilts/samsung/gts10pxxx/system/lib64/libLttEngine.camera.samsung.so differ
diff --git a/prebuilts/samsung/p3sxxx/.current b/prebuilts/samsung/p3sxxx/.current
index 0d7e60ad27..1f7aec07d3 100644
--- a/prebuilts/samsung/p3sxxx/.current
+++ b/prebuilts/samsung/p3sxxx/.current
@@ -1 +1 @@
-G998BXXSEGYA2/G998BOXMEGXL2/G998BXXSEGXL2
\ No newline at end of file
+G998BXXSFHYE1/G998BOXMFHYE1/G998BXXSFHYE1
\ No newline at end of file
diff --git a/prebuilts/samsung/p3sxxx/file_context-system b/prebuilts/samsung/p3sxxx/file_context-system
index cc2656c7c2..a86bf153a5 100644
--- a/prebuilts/samsung/p3sxxx/file_context-system
+++ b/prebuilts/samsung/p3sxxx/file_context-system
@@ -1,35 +1,42 @@
/system u:object_r:system_file:s0
/system/bin u:object_r:system_file:s0
/system/bin/remotedisplay u:object_r:remotedisplay_exec:s0
+/system/etc u:object_r:system_file:s0
+/system/etc/permissions u:object_r:system_file:s0
+/system/etc/permissions/privapp-permissions-com\.sec\.android\.cover\.ledcover\.xml u:object_r:system_file:s0
/system/lib u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.graphics\.common-V4-ndk\.so u:object_r:system_lib_file:s0
+/system/lib/android\.hardware\.graphics\.common-V5-ndk\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.graphics\.composer3-V1-ndk\.so u:object_r:system_lib_file:s0
/system/lib/android\.hardware\.graphics\.extension\.composer3-V1-ndk\.so u:object_r:system_lib_file:s0
-/system/lib/libhdcp2\.so u:object_r:system_lib_file:s0
/system/lib/libhdcp_client_aidl\.so u:object_r:system_lib_file:s0
+/system/lib/libhdcp2\.so u:object_r:system_lib_file:s0
/system/lib/libremotedisplay_wfd\.so u:object_r:system_lib_file:s0
/system/lib/libremotedisplayservice\.so u:object_r:system_lib_file:s0
/system/lib/librepeater\.so u:object_r:system_lib_file:s0
/system/lib/libsecuibc\.so u:object_r:system_lib_file:s0
/system/lib/libstagefright_hdcp\.so u:object_r:system_lib_file:s0
/system/lib/libtsmux\.so u:object_r:system_lib_file:s0
-/system/lib/vendor\.samsung\.hardware\.security\.hdcp\.wifidisplay-V2-ndk\.so u:object_r:system_lib_file:s0
/system/lib/vendor\.samsung_slsi\.hardware\.ExynosHWCServiceTW@1\.0\.so u:object_r:system_lib_file:s0
+/system/lib/vendor\.samsung\.hardware\.security\.hdcp\.wifidisplay-V2-ndk\.so u:object_r:system_lib_file:s0
+/system/lib/wfd_log\.so u:object_r:system_lib_file:s0
/system/lib64 u:object_r:system_lib_file:s0
-/system/lib64/libmidas_core\.camera\.samsung\.so u:object_r:system_lib_file:s0
-/system/lib64/libmidas_DNNInterface\.camera\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/libeden_wrapper_system\.so u:object_r:system_lib_file:s0
/system/lib64/libhigh_dynamic_range\.arcsoft\.so u:object_r:system_lib_file:s0
/system/lib64/libhigh_res\.arcsoft\.so u:object_r:system_lib_file:s0
/system/lib64/liblow_light_hdr\.arcsoft\.so u:object_r:system_lib_file:s0
+/system/lib64/libmidas_core\.camera\.samsung\.so u:object_r:system_lib_file:s0
+/system/lib64/libmidas_DNNInterface\.camera\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/libsnap_aidl\.snap\.samsung\.so u:object_r:system_lib_file:s0
-/system/lib64/libSwIsp_core\.camera\.samsung\.so u:object_r:system_lib_file:s0
-/system/lib64/libSwIsp_wrapper_v1\.camera\.samsung\.so u:object_r:system_lib_file:s0
-/system/lib64/libsuperresolution\.arcsoft\.so u:object_r:system_lib_file:s0
/system/lib64/libsuperresolution_raw\.arcsoft\.so u:object_r:system_lib_file:s0
/system/lib64/libsuperresolution_wrapper_v2\.camera\.samsung\.so u:object_r:system_lib_file:s0
+/system/lib64/libsuperresolution\.arcsoft\.so u:object_r:system_lib_file:s0
/system/lib64/libsuperresolutionraw_wrapper_v2\.camera\.samsung\.so u:object_r:system_lib_file:s0
+/system/lib64/libSwIsp_core\.camera\.samsung\.so u:object_r:system_lib_file:s0
+/system/lib64/libSwIsp_wrapper_v1\.camera\.samsung\.so u:object_r:system_lib_file:s0
/system/lib64/vendor\.samsung\.hardware\.snap-V2-ndk\.so u:object_r:system_lib_file:s0
/system/priv-app u:object_r:system_lib_file:s0
+/system/priv-app/LedCoverService u:object_r:system_file:s0
+/system/priv-app/LedCoverService/LedCoverService\.apk u:object_r:system_file:s0
/system/priv-app/PhotoRemasterService u:object_r:system_file:s0
/system/priv-app/PhotoRemasterService/PhotoRemasterService\.apk u:object_r:system_file:s0
diff --git a/prebuilts/samsung/p3sxxx/file_context-vendor b/prebuilts/samsung/p3sxxx/file_context-vendor
index eea8cbc372..adf0eb212b 100644
--- a/prebuilts/samsung/p3sxxx/file_context-vendor
+++ b/prebuilts/samsung/p3sxxx/file_context-vendor
@@ -12,8 +12,10 @@
/vendor/etc/init/vendor\.samsung\.hardware\.biometrics\.face@3\.0-service\.rc u:object_r:vendor_configs_file:s0
/vendor/etc/init/vendor\.samsung\.hardware\.vibrator-default\.rc u:object_r:vendor_configs_file:s0
/vendor/etc/midas u:object_r:vendor_configs_file:s0
-/vendor/etc/midas/SRIBMQA_aiBLURESTIMATE_V100_FP32\.tflite u:object_r:vendor_configs_file:s0
-/vendor/etc/midas/SRIBMQA_aiNOISEDETECT_V100_FP32\.tflite u:object_r:vendor_configs_file:s0
+/vendor/etc/midas/deflare u:object_r:vendor_configs_file:s0
+/vendor/etc/midas/deflare/srcb_flare_enhancement\.tflite u:object_r:vendor_configs_file:s0
+/vendor/etc/midas/deflare/srcb_flare_estimate\.tflite u:object_r:vendor_configs_file:s0
+/vendor/etc/midas/midas_config\.json u:object_r:vendor_configs_file:s0
/vendor/etc/midas/SRIBMidas_aiCLARITY2\.0_2X_V200_FP32\.caffemodel u:object_r:vendor_configs_file:s0
/vendor/etc/midas/SRIBMidas_aiDEBLUR_V140_FP32\.tflite u:object_r:vendor_configs_file:s0
/vendor/etc/midas/SRIBMidas_aiMOIREREMOVE_Coarse_V900_FP32\.caffemodel u:object_r:vendor_configs_file:s0
@@ -21,18 +23,16 @@
/vendor/etc/midas/SRIBMidas_aiUPSCALER_2X_LITE_V100_INT8\.tflite u:object_r:vendor_configs_file:s0
/vendor/etc/midas/SRIBMidas_aiUPSCALER_3X_LITE_V100_INT8\.tflite u:object_r:vendor_configs_file:s0
/vendor/etc/midas/SRIBMidas_aiUPSCALER_4X_LITE_V100_INT8\.tflite u:object_r:vendor_configs_file:s0
-/vendor/etc/midas/deflare u:object_r:vendor_configs_file:s0
-/vendor/etc/midas/deflare/srcb_flare_enhancement\.tflite u:object_r:vendor_configs_file:s0
-/vendor/etc/midas/deflare/srcb_flare_estimate\.tflite u:object_r:vendor_configs_file:s0
-/vendor/etc/midas/midas_config\.json u:object_r:vendor_configs_file:s0
+/vendor/etc/midas/SRIBMQA_aiBLURESTIMATE_V100_FP32\.tflite u:object_r:vendor_configs_file:s0
+/vendor/etc/midas/SRIBMQA_aiNOISEDETECT_V100_FP32\.tflite u:object_r:vendor_configs_file:s0
+/vendor/etc/mtu-conf\.xml u:object_r:vendor_configs_file:s0
+/vendor/etc/pdpcnt-conf\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest u:object_r:vendor_configs_file:s0
-/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.radio\.exclude\.slsi\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.radio_manifest_2_30\.xml u:object_r:vendor_configs_file:s0
+/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.radio\.exclude\.slsi\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.sehradio_manifest_2_30\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/vintf/manifest/vendor\.samsung\.hardware\.vibrator-default\.xml u:object_r:vendor_configs_file:s0
-/vendor/etc/mtu-conf\.xml u:object_r:vendor_configs_file:s0
-/vendor/etc/pdpcnt-conf\.xml u:object_r:vendor_configs_file:s0
/vendor/etc/VslMesDetector u:object_r:vendor_configs_file:s0
/vendor/etc/VslMesDetector/MesDetectorBlur\.tflite u:object_r:vendor_configs_file:s0
/vendor/etc/VslMesDetector/MesDetectorLowlight\.tflite u:object_r:vendor_configs_file:s0
@@ -42,8 +42,8 @@
/vendor/lib64/android\.hardware\.light-V1-ndk_platform\.so u:object_r:vendor_file:s0
/vendor/lib64/libril_sem\.so u:object_r:vendor_file:s0
/vendor/lib64/libsec-ril\.so u:object_r:vendor_file:s0
-/vendor/lib64/libSemTelephonyProps\.so u:object_r:vendor_file:s0
/vendor/lib64/libsemnativecarrierfeature\.so u:object_r:vendor_file:s0
+/vendor/lib64/libSemTelephonyProps\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.biometrics\.face@2\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.biometrics\.face@3\.0\.so u:object_r:vendor_file:s0
/vendor/lib64/vendor\.samsung\.hardware\.light-V1-ndk_platform\.so u:object_r:vendor_file:s0
@@ -51,8 +51,8 @@
/vendor/saiv u:object_r:vendor_file:s0
/vendor/saiv/swisp_1\.0 u:object_r:vendor_file:s0
/vendor/saiv/swisp_1\.0/db u:object_r:vendor_file:s0
-/vendor/saiv/swisp_1\.0/db/SWISPNet-timestamp u:object_r:vendor_file:s0
/vendor/saiv/swisp_1\.0/db/denoise_model_832x1072x4_0818\.pb u:object_r:vendor_file:s0
/vendor/saiv/swisp_1\.0/db/denoise_model_e1275_832X1072X4_v9_1_SD_v1_full\.pb u:object_r:vendor_file:s0
/vendor/saiv/swisp_1\.0/db/denoise_model_e734_832x1072x4_PRECONV\.pb u:object_r:vendor_file:s0
/vendor/saiv/swisp_1\.0/db/denoise_model_e765_832x1072x4_PRECONV\.pb u:object_r:vendor_file:s0
+/vendor/saiv/swisp_1\.0/db/SWISPNet-timestamp u:object_r:vendor_file:s0
diff --git a/prebuilts/samsung/p3sxxx/fs_config-system b/prebuilts/samsung/p3sxxx/fs_config-system
index 3463509b77..69c1ed370e 100644
--- a/prebuilts/samsung/p3sxxx/fs_config-system
+++ b/prebuilts/samsung/p3sxxx/fs_config-system
@@ -1,35 +1,42 @@
system 0 0 755 capabilities=0x0
system/bin 0 2000 0751 capabilities=0x0
system/bin/remotedisplay 0 2000 0755 capabilities=0x0
+system/etc 0 0 755 capabilities=0x0
+system/etc/permissions 0 0 755 capabilities=0x0
+system/etc/permissions/privapp-permissions-com.sec.android.cover.ledcover.xml 0 0 644 capabilities=0x0
system/lib 0 0 755 capabilities=0x0
system/lib/android.hardware.graphics.common-V4-ndk.so 0 0 644 capabilities=0x0
+system/lib/android.hardware.graphics.common-V5-ndk.so 0 0 644 capabilities=0x0
system/lib/android.hardware.graphics.composer3-V1-ndk.so 0 0 644 capabilities=0x0
system/lib/android.hardware.graphics.extension.composer3-V1-ndk.so 0 0 644 capabilities=0x0
-system/lib/libhdcp2.so 0 0 644 capabilities=0x0
system/lib/libhdcp_client_aidl.so 0 0 644 capabilities=0x0
+system/lib/libhdcp2.so 0 0 644 capabilities=0x0
system/lib/libremotedisplay_wfd.so 0 0 644 capabilities=0x0
system/lib/libremotedisplayservice.so 0 0 644 capabilities=0x0
system/lib/librepeater.so 0 0 644 capabilities=0x0
system/lib/libsecuibc.so 0 0 644 capabilities=0x0
system/lib/libstagefright_hdcp.so 0 0 644 capabilities=0x0
system/lib/libtsmux.so 0 0 644 capabilities=0x0
-system/lib/vendor.samsung.hardware.security.hdcp.wifidisplay-V2-ndk.so 0 0 644 capabilities=0x0
system/lib/vendor.samsung_slsi.hardware.ExynosHWCServiceTW@1.0.so 0 0 644 capabilities=0x0
+system/lib/vendor.samsung.hardware.security.hdcp.wifidisplay-V2-ndk.so 0 0 644 capabilities=0x0
+system/lib/wfd_log.so 0 0 644 capabilities=0x0
system/lib64 0 0 755 capabilities=0x0
-system/lib64/libmidas_core.camera.samsung.so 0 0 644 capabilities=0x0
-system/lib64/libmidas_DNNInterface.camera.samsung.so 0 0 644 capabilities=0x0
system/lib64/libeden_wrapper_system.so 0 0 644 capabilities=0x0
system/lib64/libhigh_dynamic_range.arcsoft.so 0 0 644 capabilities=0x0
system/lib64/libhigh_res.arcsoft.so 0 0 644 capabilities=0x0
system/lib64/liblow_light_hdr.arcsoft.so 0 0 644 capabilities=0x0
+system/lib64/libmidas_core.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libmidas_DNNInterface.camera.samsung.so 0 0 644 capabilities=0x0
system/lib64/libsnap_aidl.snap.samsung.so 0 0 644 capabilities=0x0
-system/lib64/libSwIsp_core.camera.samsung.so 0 0 644 capabilities=0x0
-system/lib64/libSwIsp_wrapper_v1.camera.samsung.so 0 0 644 capabilities=0x0
-system/lib64/libsuperresolution.arcsoft.so 0 0 644 capabilities=0x0
system/lib64/libsuperresolution_raw.arcsoft.so 0 0 644 capabilities=0x0
system/lib64/libsuperresolution_wrapper_v2.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libsuperresolution.arcsoft.so 0 0 644 capabilities=0x0
system/lib64/libsuperresolutionraw_wrapper_v2.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libSwIsp_core.camera.samsung.so 0 0 644 capabilities=0x0
+system/lib64/libSwIsp_wrapper_v1.camera.samsung.so 0 0 644 capabilities=0x0
system/lib64/vendor.samsung.hardware.snap-V2-ndk.so 0 0 644 capabilities=0x0
system/priv-app 0 0 755 capabilities=0x0
+system/priv-app/LedCoverService 0 0 755 capabilities=0x0
+system/priv-app/LedCoverService/LedCoverService.apk 0 0 644 capabilities=0x0
system/priv-app/PhotoRemasterService 0 0 755 capabilities=0x0
system/priv-app/PhotoRemasterService/PhotoRemasterService.apk 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/p3sxxx/fs_config-vendor b/prebuilts/samsung/p3sxxx/fs_config-vendor
index e2dd7a5eed..0d59bb3ce7 100644
--- a/prebuilts/samsung/p3sxxx/fs_config-vendor
+++ b/prebuilts/samsung/p3sxxx/fs_config-vendor
@@ -11,9 +11,12 @@ vendor/etc/init 0 2000 755 capabilities=0x0
vendor/etc/init/init.vendor.rilcommon.rc 0 0 644 capabilities=0x0
vendor/etc/init/vendor.samsung.hardware.biometrics.face@3.0-service.rc 0 0 644 capabilities=0x0
vendor/etc/init/vendor.samsung.hardware.vibrator-default.rc 0 0 644 capabilities=0x0
+vendor/etc/manifest 0 2000 755 capabilities=0x0
vendor/etc/midas 0 2000 755 capabilities=0x0
-vendor/etc/midas/SRIBMQA_aiBLURESTIMATE_V100_FP32.tflite 0 0 644 capabilities=0x0
-vendor/etc/midas/SRIBMQA_aiNOISEDETECT_V100_FP32.tflite 0 0 644 capabilities=0x0
+vendor/etc/midas/deflare 0 2000 755 capabilities=0x0
+vendor/etc/midas/deflare/srcb_flare_enhancement.tflite 0 0 644 capabilities=0x0
+vendor/etc/midas/deflare/srcb_flare_estimate.tflite 0 0 644 capabilities=0x0
+vendor/etc/midas/midas_config.json 0 0 644 capabilities=0x0
vendor/etc/midas/SRIBMidas_aiCLARITY2.0_2X_V200_FP32.caffemodel 0 0 644 capabilities=0x0
vendor/etc/midas/SRIBMidas_aiDEBLUR_V140_FP32.tflite 0 0 644 capabilities=0x0
vendor/etc/midas/SRIBMidas_aiMOIREREMOVE_Coarse_V900_FP32.caffemodel 0 0 644 capabilities=0x0
@@ -21,18 +24,15 @@ vendor/etc/midas/SRIBMidas_aiMOIREREMOVE_Fine_V900_FP32.caffemodel 0 0 644 capab
vendor/etc/midas/SRIBMidas_aiUPSCALER_2X_LITE_V100_INT8.tflite 0 0 644 capabilities=0x0
vendor/etc/midas/SRIBMidas_aiUPSCALER_3X_LITE_V100_INT8.tflite 0 0 644 capabilities=0x0
vendor/etc/midas/SRIBMidas_aiUPSCALER_4X_LITE_V100_INT8.tflite 0 0 644 capabilities=0x0
-vendor/etc/midas/deflare 0 2000 755 capabilities=0x0
-vendor/etc/midas/deflare/srcb_flare_enhancement.tflite 0 0 644 capabilities=0x0
-vendor/etc/midas/deflare/srcb_flare_estimate.tflite 0 0 644 capabilities=0x0
-vendor/etc/midas/midas_config.json 0 0 644 capabilities=0x0
-vendor/etc/manifest 0 2000 755 capabilities=0x0
+vendor/etc/midas/SRIBMQA_aiBLURESTIMATE_V100_FP32.tflite 0 0 644 capabilities=0x0
+vendor/etc/midas/SRIBMQA_aiNOISEDETECT_V100_FP32.tflite 0 0 644 capabilities=0x0
+vendor/etc/mtu-conf.xml 0 0 644 capabilities=0x0
+vendor/etc/pdpcnt-conf.xml 0 0 644 capabilities=0x0
vendor/etc/vintf/manifest 0 2000 755 capabilities=0x0
-vendor/etc/vintf/manifest/vendor.samsung.hardware.radio.exclude.slsi.xml 0 0 644 capabilities=0x0
vendor/etc/vintf/manifest/vendor.samsung.hardware.radio_manifest_2_30.xml 0 0 644 capabilities=0x0
+vendor/etc/vintf/manifest/vendor.samsung.hardware.radio.exclude.slsi.xml 0 0 644 capabilities=0x0
vendor/etc/vintf/manifest/vendor.samsung.hardware.sehradio_manifest_2_30.xml 0 0 644 capabilities=0x0
vendor/etc/vintf/manifest/vendor.samsung.hardware.vibrator-default.xml 0 0 644 capabilities=0x0
-vendor/etc/mtu-conf.xml 0 0 644 capabilities=0x0
-vendor/etc/pdpcnt-conf.xml 0 0 644 capabilities=0x0
vendor/etc/VslMesDetector 0 2000 755 capabilities=0x0
vendor/etc/VslMesDetector/MesDetectorBlur.tflite 0 0 644 capabilities=0x0
vendor/etc/VslMesDetector/MesDetectorLowlight.tflite 0 0 644 capabilities=0x0
@@ -42,8 +42,8 @@ vendor/lib64 0 2000 755 capabilities=0x0
vendor/lib64/android.hardware.light-V1-ndk_platform.so 0 0 644
vendor/lib64/libril_sem.so 0 0 644 capabilities=0x0
vendor/lib64/libsec-ril.so 0 0 644 capabilities=0x0
-vendor/lib64/libSemTelephonyProps.so 0 0 644 capabilities=0x0
vendor/lib64/libsemnativecarrierfeature.so 0 0 644 capabilities=0x0
+vendor/lib64/libSemTelephonyProps.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.biometrics.face@2.0.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.biometrics.face@3.0.so 0 0 644 capabilities=0x0
vendor/lib64/vendor.samsung.hardware.light-V1-ndk_platform.so 0 0 644
@@ -51,8 +51,8 @@ vendor/lib64/vendor.samsung.hardware.vibrator-V3-ndk_platform.so 0 0 644 capabil
vendor/saiv 0 2000 755 capabilities=0x0
vendor/saiv/swisp_1.0 0 2000 755 capabilities=0x0
vendor/saiv/swisp_1.0/db 0 2000 755 capabilities=0x0
-vendor/saiv/swisp_1.0/db/SWISPNet-timestamp 0 0 644 capabilities=0x0
vendor/saiv/swisp_1.0/db/denoise_model_832x1072x4_0818.pb 0 0 644 capabilities=0x0
vendor/saiv/swisp_1.0/db/denoise_model_e1275_832X1072X4_v9_1_SD_v1_full.pb 0 0 644 capabilities=0x0
vendor/saiv/swisp_1.0/db/denoise_model_e734_832x1072x4_PRECONV.pb 0 0 644 capabilities=0x0
vendor/saiv/swisp_1.0/db/denoise_model_e765_832x1072x4_PRECONV.pb 0 0 644 capabilities=0x0
+vendor/saiv/swisp_1.0/db/SWISPNet-timestamp 0 0 644 capabilities=0x0
diff --git a/prebuilts/samsung/p3sxxx/system/bin/remotedisplay b/prebuilts/samsung/p3sxxx/system/bin/remotedisplay
old mode 100644
new mode 100755
index 0f5765449c..e8951374b4
Binary files a/prebuilts/samsung/p3sxxx/system/bin/remotedisplay and b/prebuilts/samsung/p3sxxx/system/bin/remotedisplay differ
diff --git a/prebuilts/samsung/p3sxxx/system/etc/permissions/privapp-permissions-com.sec.android.cover.ledcover.xml b/prebuilts/samsung/p3sxxx/system/etc/permissions/privapp-permissions-com.sec.android.cover.ledcover.xml
new file mode 100644
index 0000000000..2f28e74001
--- /dev/null
+++ b/prebuilts/samsung/p3sxxx/system/etc/permissions/privapp-permissions-com.sec.android.cover.ledcover.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.common-V5-ndk.so b/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.common-V5-ndk.so
new file mode 100644
index 0000000000..b822d666cb
Binary files /dev/null and b/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.common-V5-ndk.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.composer3-V1-ndk.so b/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.composer3-V1-ndk.so
index 516d0ce769..35d6763aa3 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.composer3-V1-ndk.so and b/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.composer3-V1-ndk.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.extension.composer3-V1-ndk.so b/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.extension.composer3-V1-ndk.so
index 425fba2ceb..f11e2ce822 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.extension.composer3-V1-ndk.so and b/prebuilts/samsung/p3sxxx/system/lib/android.hardware.graphics.extension.composer3-V1-ndk.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/libhdcp2.so b/prebuilts/samsung/p3sxxx/system/lib/libhdcp2.so
index 62f66fcf6f..4a3974e780 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/libhdcp2.so and b/prebuilts/samsung/p3sxxx/system/lib/libhdcp2.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/libhdcp_client_aidl.so b/prebuilts/samsung/p3sxxx/system/lib/libhdcp_client_aidl.so
index 22142a5372..34407be9be 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/libhdcp_client_aidl.so and b/prebuilts/samsung/p3sxxx/system/lib/libhdcp_client_aidl.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/libremotedisplay.so b/prebuilts/samsung/p3sxxx/system/lib/libremotedisplay.so
index 79fe31bfaa..8c5760c271 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/libremotedisplay.so and b/prebuilts/samsung/p3sxxx/system/lib/libremotedisplay.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/libremotedisplay_wfd.so b/prebuilts/samsung/p3sxxx/system/lib/libremotedisplay_wfd.so
index 3287bd5b13..98d06595e2 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/libremotedisplay_wfd.so and b/prebuilts/samsung/p3sxxx/system/lib/libremotedisplay_wfd.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/libremotedisplayservice.so b/prebuilts/samsung/p3sxxx/system/lib/libremotedisplayservice.so
index b75616c1c8..c25e5d8aec 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/libremotedisplayservice.so and b/prebuilts/samsung/p3sxxx/system/lib/libremotedisplayservice.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/librepeater.so b/prebuilts/samsung/p3sxxx/system/lib/librepeater.so
index f8a4763772..156bb67d8a 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/librepeater.so and b/prebuilts/samsung/p3sxxx/system/lib/librepeater.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/libsecuibc.so b/prebuilts/samsung/p3sxxx/system/lib/libsecuibc.so
index 707a51c577..5fe4642caf 100644
Binary files a/prebuilts/samsung/p3sxxx/system/lib/libsecuibc.so and b/prebuilts/samsung/p3sxxx/system/lib/libsecuibc.so differ
diff --git a/prebuilts/samsung/p3sxxx/system/lib/libstagefright_hdcp.so b/prebuilts/samsung/p3sxxx/system/lib/libstagefright_hdcp.so
index 1cae027c9b..cd9da68f1c 100644
Binar{"code":"deadline_exceeded","msg":"operation timed out"}