gts3llte: First boot

Done so many jobs to boot...

- SELinux permissive
- Fix/Update init scripts
- Edit the file system list for working anyway in the faced situation
but it has to be optimized later
- Optimize vendor files and add unsure binary files for debugging
- Remove unused packages
- Build Camera packages itself but not working curretly
- Update manifest from the CTD1 OTA firwmare
- Optimize manifest
- Optimize SELinux properties a little

Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Change-Id: I4c134c6fb89e646fdba39590b6b80c4027eb2c71
This commit is contained in:
Deokgyu Yang 2021-05-16 17:55:24 +09:00
parent 38a32d8c3b
commit 3cc30466c5
26 changed files with 1834 additions and 1639 deletions

0
Android.mk Executable file → Normal file
View file

View file

@ -48,7 +48,7 @@ TARGET_NO_BOOTLOADER := true
# Kernel
BOARD_KERNEL_BASE := 0x80000000
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7464900.sdhci lpm_levels.sleep_disabled=1 rcupdate.rcu_expedited=1 cma=32M@0-0xffffffff
BOARD_KERNEL_CMDLINE += androidboot.selinux=disabled
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
BOARD_KERNEL_IMAGE_NAME := Image.gz
BOARD_KERNEL_PAGESIZE := 4096
BOARD_KERNEL_SEPARATED_DT := true
@ -154,6 +154,9 @@ TARGET_USES_MKE2FS := true
# Fingerprint
TARGET_SEC_FP_HAL_VARIANT := bauth
# Init
TARGET_PLATFORM_DEVICE_BASE := "/devices/soc/"
# Keymaster
TARGET_PROVIDES_KEYMASTER := true
@ -161,16 +164,14 @@ TARGET_PROVIDES_KEYMASTER := true
TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable"
TARGET_USES_INTERACTION_BOOST := true
# Properties
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
# QCOM
BOARD_USES_QCOM_HARDWARE := true
# Ramdisk
BOARD_ROOT_EXTRA_FOLDERS := omr
BOARD_ROOT_EXTRA_SYMLINKS := \
/firmware_mnt:/vendor/firmware_mnt \
/firmware-modem:/vendor/firmware-modem \
/efs:/mnt/vendor/efs \
/persist:/mnt/vendor/persist
BOARD_ROOT_EXTRA_FOLDERS := efs firmware firmware-modem persist
# Recovery
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom

108
device.mk
View file

@ -96,9 +96,10 @@ PRODUCT_PACKAGES += \
android.hardware.audio@5.0-impl.gts3l \
android.hardware.audio.effect@5.0-impl \
android.hardware.bluetooth.audio@2.0-impl \
android.hardware.soundtrigger@2.1-impl \
android.hardware.soundtrigger@2.2-impl \
audio.a2dp.default \
audio.bluetooth.default \
audio.primary.msm8996 \
audio.primary.msm8996:32 \
audio.r_submix.default \
audio.usb.default \
cplay \
@ -112,7 +113,8 @@ PRODUCT_PACKAGES += \
libqcomvoiceprocessing \
libsndmonitor \
libspkrprot \
libvolumelistener
libvolumelistener \
sound_trigger.primary.msm8996
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
@ -125,7 +127,7 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml
PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
@ -134,21 +136,24 @@ PRODUCT_COPY_FILES += \
# Camera
PRODUCT_PACKAGES += \
camera.device@1.0-impl \
camera.device@3.2-impl \
camera.device@3.3-impl \
camera.device@3.4-impl \
camera.device@3.4-external-impl \
camera.device@3.5
android.hardware.camera.provider@2.4-legacy-impl \
android.hardware.camera.provider@2.4-service \
vendor.qti.hardware.camera.device@1.0 \
vendor.qti.hardware.camera.device@1.0_vendor
# Connectivity Engine support (CNE)
PRODUCT_PACKAGES += \
libcnefeatureconfig
# CryptfsHW
PRODUCT_PACKAGES += \
vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee
# Display
PRODUCT_PACKAGES += \
android.hardware.graphics.allocator@2.0-impl:64 \
android.hardware.graphics.allocator@2.0-impl \
android.hardware.graphics.allocator@2.0-service \
android.hardware.graphics.composer@2.1-impl \
android.hardware.graphics.composer@2.1-service \
android.hardware.graphics.mapper@2.0-impl \
android.hardware.memtrack@1.0-impl \
@ -163,8 +168,8 @@ PRODUCT_PACKAGES += \
libtinyxml
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/display/hdr_tm_config.xml:$(TARGET_COPY_OUT_VENDOR)/vendor/etc/hdr_tm_config.xml \
$(LOCAL_PATH)/display/qdcm_calib_data_ss_dsi_panel_ANA38401_AMS968HH01_QXGA.xml:$(TARGET_COPY_OUT_VENDOR)/vendor/etc/qdcm_calib_data_ss_dsi_panel_ANA38401_AMS968HH01_QXGA.xml
$(LOCAL_PATH)/display/hdr_tm_config.xml:$(TARGET_COPY_OUT_VENDOR)/vendor/etc/hdr_tm_config.xml \
$(LOCAL_PATH)/display/qdcm_calib_data_ss_dsi_panel_ANA38401_AMS968HH01_QXGA.xml:$(TARGET_COPY_OUT_VENDOR)/vendor/etc/qdcm_calib_data_ss_dsi_panel_ANA38401_AMS968HH01_QXGA.xml
# Doze mode
PRODUCT_PACKAGES += \
@ -172,9 +177,9 @@ PRODUCT_PACKAGES += \
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm@1.0-impl \
android.hardware.drm@1.0-impl:64 \
android.hardware.drm@1.0-service \
android.hardware.drm@1.1-service.clearkey
android.hardware.drm@1.2-service.clearkey
# Fingerprint
PRODUCT_PACKAGES += \
@ -189,20 +194,21 @@ PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-impl \
android.hardware.gatekeeper@1.0-service
# Healthd
PRODUCT_PACKAGES += \
android.hardware.health@2.0-impl \
android.hardware.health@2.0-service
# HIDL
PRODUCT_PACKAGES += \
android.hidl.base@1.0 \
android.hidl.base@1.0.vendor \
android.hidl.manager@1.0
# Telephony
PRODUCT_PACKAGES += \
ims-ext-common \
telephony-ext
PRODUCT_BOOT_JARS += \
ims-ext-common \
telephony-ext
android.hidl.manager@1.0 \
android.hidl.manager@1.0.vendor \
libhidltransport \
libhidltransport.vendor \
libhwbinder \
libhwbinder.vendor
# IPA Manager
PRODUCT_PACKAGES += \
@ -213,12 +219,6 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
# IPv6
PRODUCT_PACKAGES += \
ebtables \
ethertypes \
libebtc
# Keylayout
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio-keys.kl \
@ -259,12 +259,6 @@ PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml
# Net
PRODUCT_PACKAGES += \
android.system.net.netd@1.0 \
libandroid_net \
netutils-wrapper-1.0
# OMX
PRODUCT_PACKAGES += \
libc2dcolorconvert \
@ -282,7 +276,7 @@ PRODUCT_PACKAGES += \
# Power
PRODUCT_PACKAGES += \
android.hardware.power@1.2-service-qti
android.hardware.power@1.2-service.samsung
# QMI
PRODUCT_PACKAGES += \
@ -298,8 +292,8 @@ PRODUCT_PACKAGES += \
# Ramdisk
PRODUCT_PACKAGES += \
fstab.qcom \
init.carrier.rc \
init.class_main.sh \
init.msm.usb.configfs.rc \
init.qcom.early_boot.sh \
init.qcom.post_boot.sh \
init.qcom.power.rc \
@ -308,6 +302,10 @@ PRODUCT_PACKAGES += \
init.qcom.sh \
init.qcom.usb.rc \
init.qcom.usb.sh \
init.usb.configfs.rc \
init.rilchip.rc \
init.rilcommon.rc \
init.samsung.rc \
init.target.rc \
ueventd.qcom.rc \
wifi_qcom.rc \
@ -321,19 +319,17 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
android.hardware.renderscript@1.0-impl
# RIL
PRODUCT_PACKAGES += \
android.hardware.radio.deprecated@1.0 \
android.hardware.radio.deprecated@1.0-impl \
librmnetctl \
libxml2
# Seccomp policy
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/seccomp/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
# RIL
PRODUCT_PACKAGES += \
android.hardware.radio@1.4 \
android.hardware.radio.config@1.0 \
android.hardware.secure_element@1.0 \
librmnetctl \
libxml2 \
libprotobuf-cpp-full
# Sensors
PRODUCT_PACKAGES += \
android.hardware.sensors@1.0-impl \
@ -358,10 +354,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
vendor.lineage.trust@1.0-service
# HW crypto
PRODUCT_PACKAGES += \
vendor.qti.hardware.cryptfshw@1.0-service-ioctl-qti
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.1-service.basic
@ -372,7 +364,8 @@ PRODUCT_PACKAGES += \
# Vibrator
PRODUCT_PACKAGES += \
android.hardware.vibrator@1.0-service.lineage
android.hardware.vibrator@1.0-impl \
android.hardware.vibrator@1.0-service
# WiFi
PRODUCT_PACKAGES += \
@ -389,3 +382,12 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
$(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini
# ADB
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
persist.sys.usb.config=adb \
ro.adb.secure=0 \
ro.secure=0
# Root
PRODUCT_PACKAGES += \
su

View file

@ -1,4 +1,4 @@
<manifest version="1.0" type="device" target-level="legacy">
<manifest version="1.0" type="device" target-level="4">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
@ -53,13 +53,13 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.cas</name>
<hal format="hidl" override="true">
<name>android.hardware.camera.provider</name>
<transport>hwbinder</transport>
<version>1.0</version>
<version>2.4</version>
<interface>
<name>IMediaCasService</name>
<instance>default</instance>
<name>ICameraProvider</name>
<instance>legacy/0</instance>
</interface>
</hal>
<hal format="hidl">
@ -83,10 +83,10 @@
<name>IDrmFactory</name>
<instance>default</instance>
</interface>
<fqname>@1.1::ICryptoFactory/clearkey</fqname>
<fqname>@1.1::ICryptoFactory/widevine</fqname>
<fqname>@1.1::IDrmFactory/clearkey</fqname>
<fqname>@1.1::IDrmFactory/widevine</fqname>
<fqname>@1.2::ICryptoFactory/widevine</fqname>
<fqname>@1.2::IDrmFactory/widevine</fqname>
<fqname>@1.2::ICryptoFactory/wfdhdcp</fqname>
<fqname>@1.2::IDrmFactory/wfdhdcp</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.gatekeeper</name>
@ -105,6 +105,7 @@
<name>IGnss</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IGnss/default</fqname>
<fqname>@1.0::IGnss/gnss_vendor</fqname>
</hal>
<hal format="hidl">
@ -118,7 +119,7 @@
</hal>
<hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<transport arch="32+64">passthrough</transport>
<version>2.1</version>
<interface>
<name>IComposer</name>
@ -162,6 +163,15 @@
<instance>default</instance>
</interface>
</hal>
<!--hal format="hidl">
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IComponentStore</name>
<instance>default</instance>
</interface>
</hal-->
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
@ -184,14 +194,24 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.power</name>
<hal format="hidl" override="true">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
<version>1.0</version>
<version>1.2</version>
<interface>
<name>IPower</name>
<instance>default</instance>
<name>IRadio</name>
<instance>slot1</instance>
</interface>
<interface>
<name>ISap</name>
<instance>slot1</instance>
</interface>
<fqname>@1.2::IRadio/slot1</fqname>
<fqname>@1.2::ISap/slot1</fqname>
</hal>
<hal format="hidl" override="true">
<name>android.hardware.radio.config</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>android.hardware.renderscript</name>
@ -214,12 +234,30 @@
<hal format="hidl">
<name>android.hardware.soundtrigger</name>
<transport>hwbinder</transport>
<version>2.1</version>
<version>2.2</version>
<interface>
<name>ISoundTriggerHw</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.tetheroffload.config</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOffloadConfig</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.tetheroffload.control</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOffloadControl</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.thermal</name>
<transport>hwbinder</transport>
@ -238,6 +276,15 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.vibrator</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IVibrator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.wifi</name>
<transport>hwbinder</transport>
@ -274,27 +321,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>com.qualcomm.qti.bluetooth_audio</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IBluetoothAudio</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" override="true">
<name>com.qualcomm.qti.dpm.api</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl" override="true">
<name>com.qualcomm.qti.imscmservice</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl" override="true">
<name>com.qualcomm.qti.uceservice</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>com.qualcomm.qti.wifidisplayhal</name>
<transport>hwbinder</transport>
@ -307,8 +333,6 @@
<name>IHDCPSession</name>
<instance>wifidisplayhdcphal</instance>
</interface>
<fqname>@1.0::IDSManager/wifidisplaydshal</fqname>
<fqname>@1.0::IHDCPSession/wifidisplayhdcphal</fqname>
</hal>
<hal format="hidl">
<name>vendor.display.color</name>
@ -322,7 +346,7 @@
<hal format="hidl">
<name>vendor.display.config</name>
<transport>hwbinder</transport>
<version>1.1</version>
<version>2.0</version>
<interface>
<name>IDisplayConfig</name>
<instance>default</instance>
@ -350,10 +374,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" override="true">
<name>vendor.qti.data.factory</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>vendor.qti.gnss</name>
<transport>hwbinder</transport>
@ -364,21 +384,22 @@
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.alarm</name>
<name>vendor.qti.hardware.capabilityconfigstore</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IAlarm</name>
<name>ICapabilityConfigStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" override="true">
<name>vendor.qti.hardware.data.connection</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl" override="true">
<name>vendor.qti.hardware.data.latency</name>
<hal format="hidl">
<name>vendor.qti.hardware.cryptfshw</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ICryptfsHw</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.fm</name>
@ -406,16 +427,6 @@
<name>IPerf</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IPerf/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.qdutils_disp</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQdutilsDisp</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.qteeconnector</name>
@ -440,65 +451,51 @@
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.wifi.hostapd</name>
<name>vendor.qti.hardware.wifidisplaysession</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IHostapdVendor</name>
<instance>default</instance>
<name>IWifiDisplaySession</name>
<instance>wifidisplaysession</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.wifi.supplicant</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>ISupplicantVendor</name>
<instance>default</instance>
<name>IWifiDisplaySessionAudioTrack</name>
<instance>wifidisplaysessionaudiotrack</instance>
</interface>
<interface>
<name>IWifiDisplaySessionImageTrack</name>
<instance>wifidisplaysessionimagetrack</instance>
</interface>
<interface>
<name>IWifiDisplaySessionVideoTrack</name>
<instance>wifidisplaysessionvideotrack</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.wigig.netperftuner</name>
<name>vendor.samsung.hardware.bluetooth</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>INetPerfTuner</name>
<name>ISecBluetooth</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.wigig.supptunnel</name>
<name>vendor.samsung.hardware.exthealth</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISuppTunnelProvider</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" override="true">
<name>vendor.qti.ims.callinfo</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl" override="true">
<name>vendor.qti.imsrtpservice</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>vendor.samsung.external.secure_storage</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>ISecureStorage</name>
<instance>default</instance>
<name>IExtHealth</name>
<instance>exthealth</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.biometrics.fingerprint</name>
<name>vendor.samsung.hardware.camera.provider</name>
<transport>hwbinder</transport>
<version>2.1</version>
<version>2.4</version>
<interface>
<name>ISecBiometricsFingerprint</name>
<instance>default</instance>
<name>ISecCameraProvider</name>
<instance>legacy/0</instance>
</interface>
</hal>
<hal format="hidl">
@ -510,15 +507,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.health</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>ISecHealth</name>
<instance>sechealth</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.miscpower</name>
<transport>hwbinder</transport>
@ -529,65 +517,57 @@
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.wifi</name>
<name>vendor.samsung.hardware.radio</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IRadio</name>
<instance>slot1</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.radio.channel</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IWifiExt</name>
<name>ISecChannel</name>
<instance>epdgd</instance>
<instance>imsd</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.radio.configsvc</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IConfigSvc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.wifi.hostapd</name>
<name>vendor.samsung.hardware.radio.secbridge</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISemHostapd</name>
<instance>default</instance>
<name>ISecBridge</name>
<instance>slot1</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.wifi.supplicant</name>
<name>vendor.samsung.hardware.radio.sechook</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISupplicantExt</name>
<instance>default</instance>
<name>IOemHook</name>
<instance>slot1</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.security.proca</name>
<name>vendor.samsung.hardware.vibrator</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IProcaDaemon</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.security.skpm</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISkpm</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.security.vaultkeeper_server</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>Ivaultkeeper_server</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung.security.wvkprov_server</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>Iwvkprov_server</name>
<name>ISecVibrator</name>
<instance>default</instance>
</interface>
</hal>

View file

@ -1,3 +1,22 @@
######### FOR DEBUGGING #########
# OTHER BINARIES DONT SURE REALLY NEEDED
vendor/bin/athdiag
vendor/bin/audioflacapp
vendor/bin/diag_callback_sample
vendor/bin/diag_dci_sample
vendor/bin/diag_klog
vendor/bin/diag_mdlog
vendor/bin/diag_socket_log
vendor/bin/diag_uart_log
vendor/bin/e_loop
vendor/bin/hal_proxy_daemon
vendor/bin/hci_qcomm_init
vendor/bin/qseecom_sample_client
vendor/bin/ssr_diag
vendor/bin/ssr_setup
vendor/bin/wvkprov
#################################
# ACDB data
vendor/etc/General_cal.acdb
vendor/etc/Hdmi_cal.acdb
@ -35,7 +54,6 @@ vendor/lib/libadiertac.so
vendor/lib/libadm.so
vendor/lib/libaudcal.so
vendor/lib/libaudioalsa.so
vendor/lib/libmdsprpc.so
vendor/lib/libqtigef.so
vendor/lib/libsurround_3mic_proc.so
vendor/lib64/libacdb-fts.so
@ -44,7 +62,6 @@ vendor/lib64/libacdbrtac.so
vendor/lib64/libadiertac.so
vendor/lib64/libaudcal.so
vendor/lib64/libaudioalsa.so
vendor/lib64/libmdsprpc.so
vendor/lib64/libqtigef.so
# Audio (effects)
@ -152,6 +169,7 @@ lib/vendor.samsung.hardware.camera.device@3.3.so
lib/vendor.samsung.hardware.camera.device@3.4.so
lib/vendor.samsung.hardware.camera.provider@2.4.so
lib/vendor.samsung.hardware.camera.provider@2.5.so
lib/vendor.qti.hardware.camera.device@1.0.so
lib64/libBarcode.camera.samsung.so
lib64/libBeauty_v1.camera.samsung.so
lib64/libBeauty_v3.camera.samsung.so
@ -205,8 +223,11 @@ lib64/vendor.samsung.hardware.camera.device@3.2.so
lib64/vendor.samsung.hardware.camera.device@3.3.so
lib64/vendor.samsung.hardware.camera.device@3.4.so
lib64/vendor.samsung.hardware.camera.provider@2.4.so
lib64/vendor.qti.hardware.camera.device@1.0.so
vendor/bin/mm-qcamera-daemon
vendor/lib/hw/android.hardware.camera.provider@2.4-impl.so
vendor/lib/hw/vendor.samsung.hardware.camera.provider@2.4-impl.so
vendor/lib/camera.device@3.4-external-impl.so
vendor/lib/libedge_smooth_hvx_stub.so
vendor/lib/libflash_pmic.so
vendor/lib/libjpegdhw.so
@ -275,16 +296,18 @@ vendor/lib/vendor.samsung.camera.device@1.0-impl.so
vendor/lib/vendor.samsung.camera.device@3.2-impl.so
vendor/lib/vendor.samsung.camera.device@3.3-impl.so
vendor/lib/vendor.samsung.camera.device@3.4-impl.so
vendor/lib64/hw/android.hardware.camera.provider@2.4-impl.so
vendor/lib64/hw/vendor.samsung.hardware.camera.provider@2.4-impl.so
vendor/lib64/camera.device@3.4-external-impl.so
vendor/lib64/libOpenCv.camera.samsung.so
vendor/lib64/libhumantracking_util.camera.samsung.so
vendor/lib64/libsmart_cropping.camera.samsung.so
vendor/lib64/libsomp.camera.samsung.so
vendor/lib64/libxcv.camera.samsung.so
vendor/lib64/hw/vendor.samsung.hardware.camera.provider@2.4-impl.so
vendor/lib64/vendor.samsung.camera.device@1.0-impl.so
vendor/lib64/vendor.samsung.camera.device@3.2-impl.so
vendor/lib64/vendor.samsung.camera.device@3.3-impl.so
vendor/lib64/vendor.samsung.camera.device@3.4-impl.so
vendor/lib64/libxcv.camera.samsung.so
# Camera (firmware)
etc/firmware/C12QL_Isp0_s5k2l1sx.bin:vendor/firmware/C12QL_Isp0_s5k2l1sx.bin
@ -652,6 +675,7 @@ vendor/lib/rfsa/adsp/libvpp_svc_skel.so
vendor/lib/libcdsprpc.so
vendor/lib/libfastcrc.so
vendor/lib/libfastcvopt.so
vendor/lib/libmdsprpc.so
vendor/lib/libsdsprpc.so
# Fingerprint
@ -1105,6 +1129,7 @@ lib/libsecnativefeature.so
lib64/libsecnativefeature.so
# Sensors
vendor/bin/factory.adsp
vendor/bin/sensors.qti
vendor/lib64/hw/activity_recognition.msm8996.so
vendor/lib64/libsensor1.so
@ -1126,9 +1151,6 @@ vendor/etc/sensors/sensor_def_qcomdev.conf
# Soundtrigger
vendor/lib/libaudio_soundtrigger.so
vendor/etc/sound_trigger_mixer_paths.xml
vendor/etc/sound_trigger_platform_info.xml
vendor/etc/sound_trigger_mixer_paths_wcd9330.xml
vendor/lib/libadpcmdec.so
vendor/lib/libsmwrapper.so
lib64/liblistensoundmodel2.so
@ -1185,6 +1207,7 @@ lib/vendor.qti.hardware.tui_comm@1.0.so
# WiFi
vendor/bin/hw/macloader
vendor/bin/wcnss_filter
bin/cnss-daemon
# WiFi (display)

View file

@ -61,10 +61,18 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.msm.usb.configfs.rc
LOCAL_MODULE := init.carrier.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.msm.usb.configfs.rc
LOCAL_SRC_FILES := etc/init.carrier.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.usb.configfs.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.usb.configfs.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
@ -92,6 +100,30 @@ LOCAL_SRC_FILES := etc/init.qcom.usb.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.rilchip.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.rilchip.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.rilcommon.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.rilcommon.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.samsung.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.samsung.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.target.rc
LOCAL_MODULE_TAGS := optional

0
rootdir/bin/init.class_main.sh Normal file → Executable file
View file

0
rootdir/bin/init.qcom.early_boot.sh Normal file → Executable file
View file

0
rootdir/bin/init.qcom.post_boot.sh Normal file → Executable file
View file

2
rootdir/bin/init.qcom.sensors.sh Normal file → Executable file
View file

@ -34,7 +34,7 @@ start_sensors()
sscrpcd_status=`getprop init.svc.vendor.sensors`
chmod -h 664 /persist/sensors/sensors_settings
chown -h -R system.system /persist/sensors
#start vendor.sensors.qti
start vendor.sensors.qti
start factory_adsp
# Only for SLPI

0
rootdir/bin/init.qcom.usb.sh Normal file → Executable file
View file

View file

@ -6,7 +6,7 @@
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,recoveryonly
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noatime,barrier=1,noauto_da_alloc wait,check,encryptable=footer,quota,formattable
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1 wait,check,formattable
/dev/block/bootdevice/by-name/apnhlos /firmware_mnt vfat ro,shortname=lower,dmask=222,fmask=333,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/apnhlos /firmware vfat ro,shortname=lower,dmask=222,fmask=333,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/modem /firmware-modem vfat ro,shortname=lower,dmask=222,fmask=333,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/efs /efs ext4 nosuid,nodev,noauto_da_alloc,journal_async_commit,data=ordered,errors=panic wait,check
/dev/block/bootdevice/by-name/persist /persist ext4 nosuid,nodev,barrier=1 wait

View file

@ -0,0 +1,82 @@
# 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.
#
on boot
# permission for MUIC(waterproof)
chown system radio /sys/class/sec/switch/uart_en
# permission for touchkey grip
chown system radio /sys/class/sec/sec_touchkey/sar_enable
chown system radio /sys/class/sec/sec_touchkey/sw_reset
# op mode for charger
chmod 0664 /sys/class/power_supply/sm5705-charger/charger_op_mode
chown system radio /sys/class/power_supply/sm5705-charger/charger_op_mode
# Permissions for Charging
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/store_mode
# bluetooth
chown bluetooth bluetooth /dev/ttyHS0
chmod 0660 /dev/ttyHS0
# Permissions for System LSI NFC
# NFC : Permissions for NFC
chmod 0660 /dev/sec-nfc
# NFC : change owner
chown nfc nfc /dev/sec-nfc
# Permissions for S.LSI ESE
chmod 0660 /dev/p3
chown system system /dev/p3
# Permissions for NXP NFC
# NFC : Permissions for NFC
chmod 0660 /dev/pn547
# NFC : change owner
chown nfc nfc /dev/pn547
# Permissions for NXP ESE
chmod 0660 /dev/p61
chown system system /dev/p61
# Fingerprint
mkdir /dev/validity 0770 system system
# Fingerprint_sensor
chmod 0660 /dev/vfsspi
chmod 0660 /dev/esfp0
chown system system /dev/vfsspi
chown system system /dev/esfp0
chown system radio /sys/class/fingerprint/fingerprint/type_check
chown system radio /sys/class/fingerprint/fingerprint/name
chown system radio /sys/class/fingerprint/fingerprint/vendor
chown system radio /sys/class/fingerprint/fingerprint/adm
on post-fs-data
# permissions for audio
chown system radio /sys/class/rt5508_cal/trigger
chown system radio /sys/class/rt5508_cal/status
chown system radio /sys/class/rt5508_cal/rt5508.0/gsense_otp
chown system radio /sys/class/rt5508_cal/rt5508.0/n20db
chown system radio /sys/class/rt5508_cal/rt5508.0/n15db
chown system radio /sys/class/rt5508_cal/rt5508.0/n10db
chown system radio /sys/class/rt5508_cal/rt5508.0/rspk
chown system radio /sys/class/rt5508_cal/rt5508.0/dcr_offset
mkdir /efs/richtek/rt5508_cal 0771 radio system
# permissions for bluetooth.
setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
chown bluetooth bluetooth ro.bt.bdaddr_path
chown radio bluetooth /efs/bluetooth/bt_addr
chmod 0640 /efs/bluetooth/bt_addr
chmod 0660 /sys/class/rfkill/rfkill0/state
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/device/extldo

File diff suppressed because it is too large Load diff

View file

@ -27,7 +27,7 @@
import /vendor/etc/init/hw/init.qcom.power.rc
import /vendor/etc/init/hw/init.qcom.usb.rc
import /vendor/etc/init/hw/init.msm.usb.configfs.rc
import /vendor/etc/init/hw/init.usb.configfs.rc
import /vendor/etc/init/hw/init.target.rc
on early-init
@ -892,7 +892,7 @@ service vendor.wifilearner /system/vendor/bin/wifilearner
group wifi
oneshot
service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service
override
class hal
user audioserver

View file

@ -0,0 +1,47 @@
# 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.
#
service sec_diag_uart_log /system/bin/sec_diag_uart_log
class main
user root
group radio oem_2901 system
service SMD-daemon /system/bin/smdexe
class main
user root
group system radio inet net_raw
service vendor.atfwd /vendor/bin/ATFWD-daemon
class late_start
user system
group system radio
service start_netmgrd /vendor/bin/sh /system/etc/control_netmgrd.sh start
class main
user root
group radio
disabled
oneshot
service stop_netmgrd /vendor/bin/sh /system/etc/control_netmgrd.sh stop
class main
user root
group radio
disabled
oneshot
on property:ril.restart.netmgrd=true
start stop_netmgrd
on property:init.svc.netmgrd=stopped
start start_netmgrd
on property:sys.control.netmgr=started
setprop ril.restart.netmgrd false
setprop sys.control.netmgr done
on property:init.svc.netmgrd=restarting
setprop sys.control.netmgr restarted

View file

@ -0,0 +1,133 @@
# 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.
#
# service can not be overwritten except SPRINT
# Thus, rilcarrier is imported before common rc, like init.rilchip.rc
import /init.rilmptcp.rc
import /init.rilmcpsd.rc
# AT Distributor for factory test
service at_distributor /system/bin/at_distributor
class late_start
user root
group radio misc log system
service DR-daemon /system/bin/ddexe
class main
user root
group system radio inet net_raw
service BCS-daemon /system/bin/connfwexe
class main
user root
group system shell radio inet net_raw
# for ethernet
service dhcpcd_eth0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
# for SmartSwitch
service dhcpcd_usb0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
# for Wi-Fi only models
on property:ro.radio.noril=yes
stop ril-daemon
# for recovering at restarting netd
service recover_radio /vendor/bin/sh /system/etc/restart_radio_process.sh
class main
user root
group radio
disabled
oneshot
on post-fs-data
# For Samsung members
mkdir /data/log/err 0775 radio log
chown radio log /data/log/err
# For KOR Model SKU
chown radio system /efs/imei/replace_code.dat
chmod 0664 /efs/imei/replace_code.dat
on property:init.svc.netd=restarting
start recover_radio
on post-fs-data
mkdir /efs/imei 0775 root radio
restorecon -R /efs/imei
on property:ro.telephony.default_network=*
setprop ro.ril.def_network_after_check_tdscdma ${ro.telephony.default_network}
on property:ro.ril.def_network_after_check_tdscdma=*
setprop ro.telephony.default_network ${ro.ril.def_network_after_check_tdscdma}
on property:ro.boot.sales.param.offset=*
setprop ro.vendor.boot.sales.param.offset ${ro.boot.sales.param.offset}
on property:ro.boot.carrierid.param.offset=*
setprop ro.vendor.boot.carrierid.param.offset ${ro.boot.carrierid.param.offset}
on property:ro.boot.im.param.offset=*
setprop ro.vendor.boot.im.param.offset ${ro.boot.im.param.offset}
on property:ro.boot.me.param.offset=*
setprop ro.vendor.boot.me.param.offset ${ro.boot.me.param.offset}
on property:ro.boot.omcnw.param.offset=*
setprop ro.vendor.boot.omcnw.param.offset ${ro.boot.omcnw.param.offset}
on property:ro.boot.debug_level=*
setprop ro.vendor.boot.debug_level ${ro.boot.debug_level}
on property:ro.boot.sn.param.offset=*
setprop ro.vendor.boot.sn.param.offset ${ro.boot.sn.param.offset}
on property:ro.build.characteristics=*
setprop ro.vendor.build.characteristics ${ro.build.characteristics}
on property:ro.product_ship=*
setprop ro.vendor.product_ship ${ro.product_ship}
on property:ro.boot.warranty_bit=*
setprop ro.vendor.boot.warranty_bit ${ro.boot.warranty_bit}
on property:ro.boot.force_upload=*
setprop ro.vendor.boot.force_upload ${ro.boot.force_upload}
on property:ro.multisim.simslotcount=*
setprop ro.vendor.multisim.simslotcount ${ro.multisim.simslotcount}
on property:ro.ril.cdma.home.operator.alpha=*
setprop ro.cdma.home.operator.alpha ${ro.ril.cdma.home.operator.alpha}
on property:ro.ril.cdma.home.operator.numeric=*
setprop ro.cdma.home.operator.numeric ${ro.ril.cdma.home.operator.numeric}
on property:ro.ril.home.operator.carrierid=*
setprop ro.home.operator.carrierid ${ro.ril.home.operator.carrierid}
on property:ro.ril.home.operator.rrenabled=*
setprop ro.home.operator.rrenabled ${ro.ril.home.operator.rrenabled}
on property:ril.product_code=*
setprop vendor.ril.product_code ${ril.product_code}
on property:gsm.current.vsid=*
setprop vendor.gsm.current.vsid ${gsm.current.vsid}
on property:gsm.current.vsid2=*
setprop vendor.gsm.current.vsid2 ${gsm.current.vsid2}
on property:ro.factory.factory_binary=*
setprop ro.vendor.factory_binary ${ro.factory.factory_binary}

925
rootdir/etc/init.samsung.rc Normal file
View file

@ -0,0 +1,925 @@
# 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 /vendor/etc/init/hw/init.carrier.rc
on init
symlink /dev/block/bootdevice/by-name/persistent /dev/block/persistent
symlink /dev/block/bootdevice/by-name/steady /dev/block/steady
# MUIC
chown system radio /sys/class/sec/switch/adc
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 system /sys/class/sec/switch/afc_off
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/keyboard_test
# Create energy-aware scheduler tuning nodes
mkdir /dev/stune
mount cgroup none /dev/stune nodev noexec nosuid schedtune
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/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/audio-app/tasks
mkdir /efs 0771 radio system
# Mount staging areas for devices managed by vold
# See storage config details at http://source.android.com/tech/storage/
#mount tmpfs tmpfs /mnt mode=0755,uid=0,gid=1000
restorecon_recursive /mnt
mount configfs none /config nodev noexec nosuid
chmod 0770 /config/sdcardfs
chown system package_info /config/sdcardfs
mkdir /mnt/asec 0755 root system
mkdir /mnt/obb 0755 root system
mkdir /mnt/media_rw 0750 root media_rw
mkdir /mnt/user 0755 root root
mkdir /mnt/user/0 0755 root root
mkdir /mnt/expand 0771 system system
mkdir /mnt/appfuse 0711 root root
# Add qseecomd default property
setprop vendor.sys.qseecomd.enable stopped
# 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
# Symlink to keep legacy apps working in multi-user world
symlink /storage/self/primary /sdcard
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 600
write /proc/sys/kernel/sched_rt_runtime_us 950000
write /proc/sys/kernel/sched_rt_period_us 1000000
# 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
# Create cgroup mount points for process groups
mkdir /dev/cpuctl
mount cgroup none /dev/cpuctl nodev noexec nosuid cpu
chown system system /dev/cpuctl
chown system system /dev/cpuctl/tasks
chmod 0666 /dev/cpuctl/tasks
write /dev/cpuctl/cpu.rt_period_us 1000000
write /dev/cpuctl/cpu.rt_runtime_us 950000
# sets up initial cpusets for ActivityManager
mkdir /dev/cpuset
mount cpuset none /dev/cpuset nodev noexec nosuid
# 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
# to be used only by init, so don't change system-bg permissions
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
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/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
# 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
# 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"
# Indicate to fw loaders that the relevant mounts are up.
on firmware_mounts_complete
rm /dev/.booting
on early-fs
chown system net_bt_admin /dev/tzic
chmod 0660 /dev/tzic
on boot
# 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
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
# Tweak background writeout
write /proc/sys/vm/dirty_expire_centisecs 200
write /proc/sys/vm/dirty_background_ratio 5
# Permissions for System Server and daemons.
chown radio system /sys/android_power/state
chown radio system /sys/android_power/request_state
chown radio system /sys/android_power/acquire_full_wake_lock
chown radio system /sys/android_power/acquire_partial_wake_lock
chown radio system /sys/android_power/release_wake_lock
chown system system /sys/power/autosleep
chown system system /sys/power/state
chown system system /sys/power/wakeup_count
chown radio wakelock /sys/power/wake_lock
chown radio wakelock /sys/power/wake_unlock
chmod 0660 /sys/power/state
chmod 0660 /sys/power/wake_lock
chmod 0660 /sys/power/wake_unlock
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
# Assume SMP uses shared cpufreq policy for all CPUs
chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/class/timed_output/vibrator/intensity
chown system system /sys/class/timed_output/vibrator/multi_freq
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
# Permissions for Power
chown radio system /sys/power/cpufreq_max_limit
chown radio system /sys/power/cpufreq_min_limit
chown radio system /sys/power/cpufreq_table
chmod 664 /sys/power/cpufreq_max_limit
chmod 664 /sys/power/cpufreq_min_limit
chmod 664 /sys/power/cpufreq_table
chown radio system /sys/devices/system/cpu/kernel_max
chmod 664 /sys/devices/system/cpu/kernel_max
# Permissions for booster
chown radio system /sys/class/kgsl/kgsl-3d0/max_pwrlevel
chmod 664 /sys/class/kgsl/kgsl-3d0/max_pwrlevel
chown radio system /sys/class/kgsl/kgsl-3d0/min_pwrlevel
chmod 664 /sys/class/kgsl/kgsl-3d0/min_pwrlevel
chown radio system /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
chmod 664 /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
chown radio system /sys/bus/workqueue/devices/kgsl-events/cpumask
chmod 664 /sys/bus/workqueue/devices/kgsl-events/cpumask
chown radio system /sys/bus/workqueue/devices/kgsl-events/nice
chmod 664 /sys/bus/workqueue/devices/kgsl-events/nice
chown radio system /sys/bus/workqueue/devices/kgsl-workqueue/cpumask
chmod 664 /sys/bus/workqueue/devices/kgsl-workqueue/cpumask
chown radio system /sys/bus/workqueue/devices/kgsl-workqueue/nice
chmod 664 /sys/bus/workqueue/devices/kgsl-workqueue/nice
chown radio system /sys/class/kgsl/kgsl-3d0/pwrscale
chmod 664 /sys/class/kgsl/kgsl-3d0/pwrscale
chown system system /sys/class/devfreq/soc:qcom,cpubw/available_frequencies
chown system system /sys/class/devfreq/soc:qcom,cpubw/min_freq
chown system system /sys/class/devfreq/soc:qcom,cpubw/max_freq
chmod 664 /sys/class/devfreq/soc:qcom,cpubw/available_frequencies
chmod 664 /sys/class/devfreq/soc:qcom,cpubw/min_freq
chmod 664 /sys/class/devfreq/soc:qcom,cpubw/max_freq
# Permissions for input_booster
chown system radio /sys/class/input_booster/level
chown system radio /sys/class/input_booster/head
chown system radio /sys/class/input_booster/tail
chown system radio /sys/class/input_booster/touchkey/level
chown system radio /sys/class/input_booster/touchkey/freq
chown system radio /sys/class/input_booster/touchkey/time
chmod 0664 /sys/class/input_booster/level
chmod 0664 /sys/class/input_booster/head
chmod 0664 /sys/class/input_booster/tail
chmod 0664 /sys/class/input_booster/touchkey/level
chmod 0664 /sys/class/input_booster/touchkey/freq
chmod 0664 /sys/class/input_booster/touchkey/time
# Permissions for Camera
chown cameraserver cameraserver /sys/kernel/mm/vmscan/mem_boost_mode
chown system system /sys/class/camera/rear/rear_camfw
chown system system /sys/class/camera/rear/rear_camfw_full
chown system system /sys/class/camera/rear/rear_camfw_load
chown system system /sys/class/camera/rear/rear_camtype
chown system system /sys/class/camera/rear/rear_companionfw_full
chown system system /sys/class/camera/rear/rear_calcheck
chown system system /sys/class/camera/rear/rear_fwcheck
chown system system /sys/class/camera/rear/rear_checkfw_user
chown system system /sys/class/camera/rear/rear_checkfw_factory
chown system system /sys/class/camera/rear/rear_moduleinfo
chown system system /sys/class/camera/rear/rear_afcal
chown system system /sys/class/camera/rear/isp_core
chown system system /sys/class/camera/rear/rear_caminfo
chown system system /sys/class/camera/rear/rear_sensorid_exif
chown system system /sys/class/camera/rear/rear_moduleid
chown system system /sys/class/camera/rear/companion_ic_check
chown system system /sys/class/camera/rear/ssrm_camera_info
chown system system /sys/class/camera/flash/rear_flash
chown system system /sys/class/camera/front/front_camfw
chown system system /sys/class/camera/front/front_camtype
chown system system /sys/class/camera/front/front_caminfo
chown system system /sys/class/camera/front/front_camfw_full
chown system system /sys/class/camera/front/front_camfw_load
chown system system /sys/class/camera/front/front_checkfw_user
chown system system /sys/class/camera/front/front_checkfw_factory
chown system system /sys/class/camera/front/front_afcal
chown system system /sys/class/camera/front/front_sensorid_exif
chown system system /sys/class/camera/ois/selftest
chown system system /sys/class/camera/ois/ois_power
chown system system /sys/class/camera/ois/ois_rawdata
chown system system /sys/class/camera/ois/oisfw
chown system system /sys/class/camera/ois/ois_diff
chown system system /sys/class/camera/ois/ois_exif
chown system system /sys/class/camera/ois/autotest
chown system system /sys/class/camera/secure/iris_camfw
chown system system /sys/class/camera/secure/iris_camfw_full
chown system system /sys/class/camera/secure/iris_checkfw_factory
chown system system /sys/class/camera/secure/iris_checkfw_user
chown system system /sys/class/camera/secure/iris_caminfo
chown system system /sys/devices/svc/Camera/SVC_rear_module
# Permissions for InputDevices.
chown system radio /sys/class/sec/tsp/cmd
chown system system /sys/class/sec/tsp/input/enabled
chmod 0660 /sys/class/sec/tsp/input/enabled
chown system system /sys/class/sec/sec_touchkey/input/enabled
chmod 0660 /sys/class/sec/sec_touchkey/input/enabled
chown system system /sys/class/sec/sec_touchkey/brightness
chown system radio /sys/class/sec/sec_touchkey/keyboard_mode
chown system radio /sys/class/sec/sec_touchkey/flip_mode
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update
chown system radio /sys/class/sec/sec_touchkey/touch_sensitivity
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_version
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_update
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_id_compare
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_table_write
chown system radio /sys/class/sec/sec_touchkey/glove_mode
chown system system /sys/class/sec/sec_epen/input/enabled
chmod 0660 /sys/class/sec/sec_epen/input/enabled
chown system radio /sys/class/sec/sec_epen/epen_firm_update
chown system radio /sys/class/sec/sec_epen/epen_reset
chown system radio /sys/class/sec/sec_epen/epen_reset_result
chown system radio /sys/class/sec/sec_epen/epen_checksum
chown system radio /sys/class/sec/sec_epen/epen_checksum_result
chown system radio /sys/class/sec/sec_epen/epen_saving_mode
chown system radio /sys/class/sec/sec_epen/epen_wcharging_mode
chown system radio /sys/class/sec/sec_epen/epen_disable_mode
chown system radio /sys/class/sec/sec_epen/epen_aop_mode
chown system radio /sys/class/sec/sec_epen/screen_off_memo_enable
# Permissions for SecureDevice
chown system system /sys/class/sec/tsp/input/secure_touch_enable
# Permissions for HW parameter
chown system system /sys/class/sec/tsp/ito_check
chown system system /sys/class/sec/tsp/raw_check
chown system system /sys/class/sec/tsp/multi_count
chown system system /sys/class/sec/tsp/wet_mode
chown system system /sys/class/sec/tsp/comm_err_count
chown system system /sys/class/sec/tsp/module_id
# Permissions for gpio_keys
chown system radio /sys/class/sec/sec_key/wakeup_keys
write /sys/class/sec/sec_key/wakeup_keys 116,172
# MSP FactoryApp
mkdir /efs/FactoryApp 0775 system system
# Permissions for Charging
mkdir /efs/Battery 0775 radio system
chown radio system /efs/Battery
chmod 0775 /efs/Battery
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 /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/batt_reset_soc
chown system radio /sys/class/power_supply/battery/batt_slate_mode
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/wc_enable
chown system nfc /sys/class/power_supply/battery/wc_control
chown system nfc /sys/class/power_supply/battery/wc_control_cnt
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/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/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/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_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_intput_charge_current
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_normal
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_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
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
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_intput_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_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
chmod 0664 /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/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/smb1351-charger/mode
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 0640 /efs/FactoryApp/cisd_data
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
# Permissions for Display
# Multi resolution
chown system graphics /sys/class/graphics/fb0/modes
chmod 0660 /sys/class/graphics/fb0/modes
chown system graphics /sys/class/graphics/fb0/mode
chmod 0660 /sys/class/graphics/fb0/mode
# systrace
chown root shell /sys/kernel/debug/tracing/events/mdss/enable
chmod 0664 /sys/kernel/debug/tracing/events/mdss/enable
# binder
chown system system /sys/module/binder/parameters/trace_pid
chmod 0600 /sys/module/binder/parameters/trace_pid
# Auto Brightness
chown system system /sys/class/backlight/panel/brightness
chmod 0660 /sys/class/backlight/panel/brightness
chown system system /sys/class/backlight/panel/auto_brightness
chmod 0660 /sys/class/backlight/panel/auto_brightness
chown system system /sys/class/backlight/panel/auto_brightness_level
chmod 0660 /sys/class/backlight/panel/auto_brightness_level
# adaptive control
chown system system /sys/class/lcd/panel/adaptive_control
chmod 0660 /sys/class/lcd/panel/adaptive_control
# CCB (color waekness)
chown system system /sys/class/backlight/panel/weakness_ccb
chmod 0660 /sys/class/backlight/panel/weakness_ccb
# weakness_hbm_comp (Gallery Max brightness == 2)
chown system system /sys/class/backlight/panel/weakness_hbm_comp
chmod 0660 /sys/class/backlight/panel/weakness_hbm_comp
# AOD(Always On Display)
chown system system /sys/class/lcd/panel/alpm
chmod 0660 /sys/class/lcd/panel/alpm
# HMT
chown system system /sys/class/lcd/panel/hmt_on
chmod 0660 /sys/class/lcd/panel/hmt_on
chown system system /sys/class/lcd/panel/hmt_bright
chmod 0660 /sys/class/lcd/panel/hmt_bright
chown system system /sys/class/mdnie/mdnie/hmt_color_temperature
chmod 0660 /sys/class/mdnie/mdnie/hmt_color_temperature
# HMT autorefresh
chown system system /sys/class/graphics/fb0/msm_cmd_autorefresh_en
chmod 0660 /sys/class/graphics/fb0/msm_cmd_autorefresh_en
# IRC
chown system system /sys/class/lcd/panel/irc
chmod 0660 /sys/class/lcd/panel/irc
# MCD
chown system system /sys/class/lcd/panel/mcd_mode
chmod 0660 /sys/class/lcd/panel/mcd_mode
# DDI H/W Cursor
chown system system /sys/class/lcd/panel/hw_cursor
chmod 0660 /sys/class/lcd/panel/hw_cursor
# Adjust YUV to RGB Conversion(CSC_Conversion)
chown system media_rw /sys/class/graphics/fb0/csc_cfg
chmod 0660 /sys/class/graphics/fb0/csc_cfg
# LCD mdnie and panel work
chown system system /sys/class/mdnie/mdnie/lcdtype
chown system system /sys/class/mdnie/mdnie/lcd_power
chown system media_rw /sys/class/mdnie/mdnie/scenario
chmod 0660 /sys/class/mdnie/mdnie/scenario
chown system system /sys/class/mdnie/mdnie/tuning
chown system media_rw /sys/class/mdnie/mdnie/outdoor
chown system system /sys/class/mdnie/mdnie/mdnie_temp
chown system media_rw /sys/class/mdnie/mdnie/mode
chown system system /sys/class/mdnie/mdnie/negative
chown system media_rw /sys/class/mdnie/mdnie/playspeed
chown system media_rw /sys/class/mdnie/mdnie/accessibility
chown system system /sys/class/mdnie/mdnie/cabc
chown system system /sys/class/mdnie/mdnie/bypass
chown system media_rw /sys/class/mdnie/mdnie/sensorRGB
chmod 0660 /sys/class/mdnie/mdnie/sensorRGB
chown system media_rw /sys/class/mdnie/mdnie/mdnie_ldu
chmod 0660 /sys/class/mdnie/mdnie/mdnie_ldu
chown system media_rw /sys/class/mdnie/mdnie/night_mode
chmod 0660 /sys/class/mdnie/mdnie/night_mode
chown system media_rw /sys/class/mdnie/mdnie/hdr
chmod 0660 /sys/class/mdnie/mdnie/hdr
chown system media_rw /sys/class/mdnie/mdnie/whiteRGB
chmod 0660 /sys/class/mdnie/mdnie/whiteRGB
chown system media_rw /sys/class/mdnie/mdnie/light_notification
chmod 0660 /sys/class/mdnie/mdnie/light_notification
chown system media_rw /sys/class/mdnie/mdnie/color_lens
chmod 0660 /sys/class/mdnie/mdnie/color_lens
chown system system /sys/class/lcd/panel/window_type
chown system system /sys/class/lcd/panel/read_copr
chown radio system /sys/class/lcd/panel/power_reduce
chown radio system /sys/class/lcd/panel/siop_enable
chown radio system /sys/class/lcd/panel/temperature
chown radio system /sys/class/lcd/panel/tuning
chown radio system /sys/class/lcd/panel/lux
chown radio system /sys/class/lcd/panel/partial_disp
chmod 0660 /sys/class/lcd/panel/partial_disp
chown radio system /sys/class/lcd/panel/cover_control
chmod 0660 /sys/class/lcd/panel/cover_control
chown system system /sys/class/lcd/panel/ldu_correction
chmod 0660 /sys/class/lcd/panel/ldu_correction
chown system system /sys/class/lcd/panel/dpui
chown system system /sys/class/lcd/panel/dpui_dbg
# Permissions for SENSORS
# HRM_sensor
chown system radio /sys/class/sensors/hrm_sensor/name
chown system radio /sys/class/sensors/hrm_sensor/vendor
chown system radio /sys/class/sensors/hrm_sensor/led_current
chown system radio /sys/class/sensors/hrm_sensor/led_current1
chown system radio /sys/class/sensors/hrm_sensor/led_current2
chown system radio /sys/class/sensors/hrm_sensor/led_current3
chown system radio /sys/class/sensors/hrm_sensor/led_current4
chown system radio /sys/class/sensors/hrm_sensor/hr_range
chown system radio /sys/class/sensors/hrm_sensor/hr_range2
chown system radio /sys/class/sensors/hrm_sensor/look_mode_ir
chown system radio /sys/class/sensors/hrm_sensor/look_mode_red
chown system radio /sys/class/sensors/hrm_sensor/eol_test
chown system radio /sys/class/sensors/hrm_sensor/eol_test_result
chown system radio /sys/class/sensors/hrm_sensor/eol_test_status
chown system radio /sys/class/sensors/hrm_sensor/int_pin_check
chown system radio /sys/class/sensors/hrm_sensor/lib_ver
chown system radio /sys/class/sensors/hrm_sensor/regulator
chown system radio /sys/class/sensors/hrm_sensor/part_type
chown system radio /sys/class/sensors/hrm_sensor/device_id
chown system radio /sys/class/sensors/hrm_sensor/hrm_flush
chown system radio /sys/class/sensors/hrm_sensor/threshold
chown system radio /sys/class/sensors/hrm_sensor/eol_lib_ver
chown system radio /sys/class/sensors/hrm_sensor/elf_lib_ver
chown system radio /sys/class/sensors/hrm_sensor/adpd_reg_read
chown system radio /sys/class/sensors/hrm_sensor/adpd_reg_write
chown system radio /sys/class/sensors/hrm_sensor/adpd_mode
chown system radio /sys/class/sensors/hrm_sensor/adpd_configuration
chown system radio /sys/class/sensors/hrm_sensor/adpd_stat
chown system radio /sys/class/sensors/hrm_sensor/alc_enable
chmod 0600 /dev/max_hrm
chown system system /dev/max_hrm
# HRMLED_sensor
chown system radio /sys/class/sensors/hrmled_sensor/name
chown system radio /sys/class/sensors/hrmled_sensor/vendor
chown system radio /sys/class/sensors/hrmled_sensor/hrmled_flush
# Grip_sensor
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/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/start
chown system radio /sys/class/sensors/grip_sensor/normal_threshold
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/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
# Grip_sensor_wifi
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/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
# Accelerometer Sensor
chown system radio /sys/class/sensors/accelerometer_sensor/name
chown system radio /sys/class/sensors/accelerometer_sensor/vendor
chown system radio /sys/class/sensors/accelerometer_sensor/raw_data
chown system radio /sys/class/sensors/accelerometer_sensor/calibration
chown system radio /sys/class/sensors/accelerometer_sensor/selftest
chown system radio /sys/class/sensors/accelerometer_sensor/reactive_alert
chown system radio /sys/class/sensors/accelerometer_sensor/lowpassfilter
# Gyro Sensor
chown system radio /sys/class/sensors/gyro_sensor/name
chown system radio /sys/class/sensors/gyro_sensor/vendor
chown system radio /sys/class/sensors/gyro_sensor/power_on
chown system radio /sys/class/sensors/gyro_sensor/power_off
chown system radio /sys/class/sensors/gyro_sensor/selftest
chown system radio /sys/class/sensors/gyro_sensor/temperature
# Magnetic Sensor
chown system radio /sys/class/sensors/magnetic_sensor/name
chown system radio /sys/class/sensors/magnetic_sensor/vendor
chown system radio /sys/class/sensors/magnetic_sensor/raw_data
chown system radio /sys/class/sensors/magnetic_sensor/adc
chown system radio /sys/class/sensors/magnetic_sensor/asa
chown system radio /sys/class/sensors/magnetic_sensor/dac
chown system radio /sys/class/sensors/magnetic_sensor/chk_registers
chown system radio /sys/class/sensors/magnetic_sensor/selftest
# Barometer Sensor
chown system radio /sys/class/sensors/barometer_sensor/name
chown system radio /sys/class/sensors/barometer_sensor/vendor
chown system radio /sys/class/sensors/barometer_sensor/sea_level_pressure
chown system radio /sys/class/sensors/barometer_sensor/calibration
chown system radio /sys/class/sensors/barometer_sensor/eeprom_check
chown system radio /sys/class/sensors/barometer_sensor/temperature
# Proximity Sensor
chown system radio /sys/class/sensors/proximity_sensor/name
chown system radio /sys/class/sensors/proximity_sensor/vendor
chown system radio /sys/class/sensors/proximity_sensor/state
chown system radio /sys/class/sensors/proximity_sensor/raw_data
chown system radio /sys/class/sensors/proximity_sensor/barcode_emul_en
chown system radio /sys/class/sensors/proximity_sensor/prox_avg
chown system radio /sys/class/sensors/proximity_sensor/prox_cal
chown system radio /sys/class/sensors/proximity_sensor/thresh_high
chown system radio /sys/class/sensors/proximity_sensor/thresh_low
chown system radio /sys/class/sensors/proximity_sensor/prox_offset_pass
chown system radio /sys/class/sensors/proximity_sensor/prox_trim
chown system radio /sys/class/sensors/proximity_sensor/thresh_detect_high
chown system radio /sys/class/sensors/proximity_sensor/thresh_detect_low
chown system radio /sys/class/sensors/proximity_sensor/prox_alert_thresh
# Light Sensor
chown system radio /sys/class/sensors/light_sensor/name
chown system radio /sys/class/sensors/light_sensor/vendor
chown system radio /sys/class/sensors/light_sensor/lux
chown system radio /sys/class/sensors/light_sensor/raw_data
# 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
# MOBEAM
chown system radio /sys/class/sec/sec_barcode_emul/vendor
chown system radio /sys/class/sec/sec_barcode_emul/name
chown system radio /sys/class/sec/sec_barcode_emul/barcode_send
chown system radio /sys/class/sec/sec_barcode_emul/barcode_led_status
chown system radio /sys/class/sec/sec_barcode_emul/barcode_ver_check
# 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 system /sys/class/sensors/ssc_core/remove_sysfs
setprop debug.sensor.logging.slpi true
#Meta event
chown system radio /sys/class/sensors/sensor_dev/flush
# Define default initial receive window size in segments.
setprop net.tcp.default_init_rwnd 60
# MMC / SDcard
chown system system /sys/block/mmcblk0/device/unique_number
chmod 440 /sys/block/mmcblk0/device/unique_number
chown system system /sys/class/sec/mmc/mmc_data
chmod 444 /sys/class/sec/mmc/mmc_data
chown system system /sys/class/sec/mmc/mmc_summary
chmod 444 /sys/class/sec/mmc/mmc_summary
chown system system /sys/block/mmcblk0/device/cid
chmod 444 /sys/block/mmcblk0/device/cid
chown system system /sys/block/mmcblk1/device/cid
chmod 444 /sys/block/mmcblk1/device/cid
chown system system /sys/class/sec/sdcard/cd_cnt
chmod 444 /sys/class/sec/sdcard/cd_cnt
chown system system /sys/class/sec/sdcard/sdcard_summary
chmod 444 /sys/class/sec/sdcard/sdcard_summary
chown system system /sys/class/sec/sddata/sd_data
chmod 444 /sys/class/sec/sddata/sd_data
chown system system /sys/class/sec/sdinfo/sd_count
chmod 444 /sys/class/sec/sdinfo/sd_count
chown system system /sys/class/sec/sdinfo/data
chmod 444 /sys/class/sec/sdinfo/data
chown system system /sys/block/mmcblk0/diskios
chmod 660 /sys/block/mmcblk0/diskios
on charger
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
mount ext4 /dev/block/bootdevice/by-name/system /system wait ro
wait /dev/block/bootdevice/by-name/efs
mount ext4 /dev/block/bootdevice/by-name/efs /efs nosuid nodev noatime noauto_da_alloc,discard,data=ordered,errors=panic
mkdir /efs/Battery 0775 radio system
chown radio system /efs/Battery
chmod 0775 /efs/Battery
chmod 0664 /sys/class/power_supply/battery/batt_temp_table
chown system radio /sys/class/power_supply/battery/batt_temp_table
chmod 0664 /sys/class/power_supply/battery/batt_capacity_max
chown system radio /sys/class/power_supply/battery/batt_capacity_max
chmod 0664 /efs/Battery/batt_capacity_max
chown radio system /efs/Battery/batt_capacity_max
chmod 0664 /sys/class/power_supply/battery/battery_cycle
chown system radio /sys/class/power_supply/battery/battery_cycle
chmod 0664 /sys/class/power_supply/battery/batt_after_manufactured
chown system radio /sys/class/power_supply/battery/batt_after_manufactured
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_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 system /efs/FactoryApp/cisd_wc_data
chmod 0660 /efs/FactoryApp/cisd_wc_data
chown system system /efs/FactoryApp/asoc
chmod 0660 /efs/FactoryApp/asoc
chown system system /efs/FactoryApp/batt_after_manufactured
chmod 0640 /efs/FactoryApp/batt_after_manufactured
chown system system /efs/FactoryApp/batt_discharge_level
chmod 0640 /efs/FactoryApp/batt_discharge_level
chown system radio /sys/class/power_supply/battery/cisd_data_json
chmod 0660 /sys/class/power_supply/battery/cisd_data_json
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 radio system /efs
chmod 0771 /efs
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
mkdir /efs/lpm 0775 system system
class_start sec-charger

View file

@ -27,17 +27,63 @@
#
#
import /vendor/etc/init/hw/init.samsung.rc
import /vendor/etc/init/hw/init.${ro.product.vendor.device}.rc
import /vendor/etc/init/hw/init.${ro.product.vendor.name}.rc
on early-init
mkdir /mnt/vendor/persist 0771 system system
symlink /data/tombstones /tombstones
on fs
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
mount_all /vendor/etc/fstab.qcom
setprop ro.crypto.fde_algorithm AES-256-XTS
swapon_all /vendor/etc/fstab.qcom
mkdir /mnt/vendor/efs 0771 system radio
mkdir /mnt/vendor/persist 0771 root system
mount /firmware /vendor/firmware_mnt bind
mount /firmware-modem /vendor/firmware-modem bind
mount /efs /mnt/vendor/efs bind
mount /persist /mnt/vendor/persist bind
mkdir /mnt/vendor/persist/data 0700 system system
mkdir /mnt/vendor/persist/rfs 0700 system system
restorecon_recursive /mnt/vendor/efs
restorecon_recursive /mnt/vendor/persist
wait /dev/block/bootdevice/by-name/bluetooth
mount vfat /dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware ro shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0
wait /dev/block/bootdevice/by-name/dsp
mount ext4 /dev/block/bootdevice/by-name/dsp /vendor/dsp ro nosuid nodev barrier=1
restorecon_recursive /vendor/dsp
mount ext4 /dev/block/bootdevice/by-name/dsp /vendor/dsp ro remount nosuid nodev barrier=1
on init
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
on post-fs-data
mkdir /data/tombstones 0771 system system
mkdir /tombstones/modem 0771 system system
mkdir /tombstones/lpass 0771 system system
mkdir /tombstones/wcnss 0771 system system
mkdir /tombstones/dsps 0771 system system
mkdir /persist/data/sfs 0700 system system
mkdir /persist/data/tz 0700 system system
mkdir /persist/qti_fp 0700 system system
mkdir /data/misc/dts 0770 media audio
mkdir /data/misc/seemp 0700 system system
mkdir /data/usf 0700 system system
mkdir /data/misc/tloc/ 0700 system drmrpc
mkdir /data/misc/audio_pp 0771 media audio
#Create folder for mm-qcamera-daemon
mkdir /data/vendor/camera 0770 camera camera
on property:init.svc.bootanim=running
write /sys/class/leds/wled/brightness 4095
on post-fs
# set RLIMIT_MEMLOCK to 64MB
@ -45,27 +91,9 @@ on post-fs
write /dev/ipa 1
on init
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
on late-fs
mount_all /vendor/etc/fstab.qcom --late
on post-fs-data
mkdir /persist/data/sfs 0700 system system
mkdir /persist/data/tz 0700 system system
mkdir /persist/qti_fp 0700 system system
mkdir /data/misc/dts 0770 media audio
mkdir /data/misc/seemp 0700 system system
mkdir /data/usf 0700 system system
mkdir /data/misc/audio_pp 0771 media audio
#Create folder for mm-qcamera-daemon
mkdir /data/vendor/camera 0770 camera camera
on property:init.svc.bootanim=running
write /sys/class/leds/wled/brightness 4095
##### added by init.qcom.early_boot.sh (booting performance team)#####
on early-boot
# Setup display nodes & permissions
@ -166,27 +194,27 @@ on boot
write /sys/class/android_usb/android0/f_rndis_qc/rndis_transports BAM2BAM_IPA
#start camera server as daemon
service qcamerasvr /system/vendor/bin/mm-qcamera-daemon
class late_start
user camera
group camera system inet input graphics
# service qcamerasvr /system/vendor/bin/mm-qcamera-daemon
# class late_start
# user camera
# group camera system inet input graphics
#
#fingerprint service
service fingerprintd /system/vendor/bin/fingerprintd
class late_start
user system
group system
service qfp-daemon /system/vendor/bin/qfp-daemon
class late_start
user system
group system drmrpc diag input
service fps_hal /system/vendor/bin/fingerprint.qcom
class late_start
user system
group system input
#service fingerprintd /system/vendor/bin/fingerprintd
# class late_start
# user system
# group system
#
#service qfp-daemon /system/vendor/bin/qfp-daemon
# class late_start
# user system
# group system drmrpc diag input
#
#service fps_hal /system/vendor/bin/fingerprint.qcom
# class late_start
# user system
# group system input
#
#Start up peripheral manager
service per_mgr /vendor/bin/pm-service
class core
@ -207,15 +235,15 @@ on property:sys.shutdown.requested=*
stop per_proxy
stop vendor.ims_rtp_daemon
service mdm_launcher /system/bin/sh init.mdm.sh
class core
oneshot
service mdm_helper /system/bin/mdm_helper
class core
group root system
disabled
#service mdm_launcher /system/bin/sh init.mdm.sh
# class core
# oneshot
#
#service mdm_helper /system/bin/mdm_helper
# class core
# group root system
# disabled
#
#service qrngd /system/bin/qrngd -f
# class main
# user root
@ -236,24 +264,24 @@ service qseecomd /vendor/bin/qseecomd
user root
group root
service gamed /system/vendor/bin/gamed
class main
user system
group system
disabled
socket gamed seqpacket 0640 system system
service seempd /system/vendor/bin/seempd
class late_start
user system
group system
socket seempdw dgram 0666 system system
service secotad /system/vendor/bin/secotad
class late_start
user system
group system
#service gamed /system/vendor/bin/gamed
# class main
# user system
# group system
# disabled
# socket gamed seqpacket 0640 system system
#
#service seempd /system/vendor/bin/seempd
# class late_start
# user system
# group system
# socket seempdw dgram 0666 system system
#
#service secotad /system/vendor/bin/secotad
# class late_start
# user system
# group system
#
#service mpdecision /system/vendor/bin/mpdecision --avg_comp
# user root
# disabled
@ -263,7 +291,7 @@ service secotad /system/vendor/bin/secotad
# group system
# disabled
#
service thermal-engine /system/vendor/bin/thermal-engine
service thermal-engine /vendor/bin/thermal-engine
class main
user root
socket thermal-send-client stream 0666 system system
@ -280,103 +308,120 @@ service thermal-engine /system/vendor/bin/thermal-engine
# class core
# oneshot
#
service time_daemon /system/vendor/bin/time_daemon
class late_start
user root
group root
#service time_daemon /system/vendor/bin/time_daemon
# class late_start
# user root
# group root
#
#service adsprpcd /system/vendor/bin/adsprpcd
# class main
# user media
# group media
#
service adsprpcd /system/vendor/bin/adsprpcd
service adsprpcd /vendor/bin/adsprpcd rootpd
class main
user system
group system
service adsprpcd_audiopd /vendor/bin/adsprpcd audiopd
class main
user media
group media
service audiod /system/vendor/bin/audiod
class late_start
service adsprpcd_sensorspd /vendor/bin/adsprpcd sensorspd
class core
user system
group system
service usf_tester /system/vendor/bin/usf_tester
user system
group system inet
disabled
oneshot
service usf_epos /system/vendor/bin/usf_epos
class main
user system
group system inet
disabled
oneshot
service usf_gesture /system/vendor/bin/usf_gesture
user system
group system inet
disabled
oneshot
service usf_sync_gesture /system/vendor/bin/usf_sync_gesture
user system
group system inet audio
disabled
oneshot
service usf_p2p /system/vendor/bin/usf_p2p
user system
group system inet
disabled
oneshot
service usf_hovering /system/vendor/bin/usf_hovering
user system
group system inet
disabled
oneshot
service usf_proximity /system/vendor/bin/usf_proximity
class late_start
user system
group system inet audio
service usf_pairing /system/vendor/bin/usf_pairing
user system
group system inet
disabled
oneshot
service usf_sw_calib /system/vendor/bin/usf_sw_calib
user system
group system inet
disabled
oneshot
service usf-post-boot /system/vendor/bin/sh /system/etc/usf_post_boot.sh
class late_start
user root
disabled
oneshot
#service audiod /system/vendor/bin/audiod
# class late_start
# user system
# group system
#
#
#service usf_tester /system/vendor/bin/usf_tester
# user system
# group system inet
# disabled
# oneshot
#
#service usf_epos /system/vendor/bin/usf_epos
# class main
# user system
# group system inet
# disabled
# oneshot
#
#service usf_gesture /system/vendor/bin/usf_gesture
# user system
# group system inet
# disabled
# oneshot
#
#service usf_sync_gesture /system/vendor/bin/usf_sync_gesture
# user system
# group system inet audio
# disabled
# oneshot
#
#service usf_p2p /system/vendor/bin/usf_p2p
# user system
# group system inet
# disabled
# oneshot
#
#service usf_hovering /system/vendor/bin/usf_hovering
# user system
# group system inet
# disabled
# oneshot
#
#service usf_proximity /system/vendor/bin/usf_proximity
# class late_start
# user system
# group system inet audio
#
#service usf_pairing /system/vendor/bin/usf_pairing
# user system
# group system inet
# disabled
# oneshot
#
#service usf_sw_calib /system/vendor/bin/usf_sw_calib
# user system
# group system inet
# disabled
# oneshot
#
#service usf-post-boot /system/vendor/bin/sh /system/etc/usf_post_boot.sh
# class late_start
# user root
# disabled
# oneshot
#
on property:init.svc.bootanim=stopped
start usf-post-boot
## imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon
class main
user system
socket ims_qmid stream 0660 system radio
group radio log diag
#service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon
# class main
# user system
# socket ims_qmid stream 0660 system radio
# group radio log diag
#
# imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon
class main
user system
socket ims_datad stream 0660 system radio
group system wifi radio inet log diag
disabled
service pd_mapper /system/vendor/bin/pd-mapper
#service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon
# class main
# user system
# socket ims_datad stream 0660 system radio
# group system wifi radio inet log diag
# disabled
#
service pd_mapper /vendor/bin/pd-mapper
class core
disabled
user system
group system
on property:persist.sys.pd_enable=1
start pd_mapper
@ -394,31 +439,31 @@ on property:persist.sys.pd_enable=0
on property:vendor.ims.QMI_DAEMON_STATUS=1
start vendor.imsdatadaemon
service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon
class main
user system
group radio diag inet log
service vendor.imsrcsservice /system/vendor/bin/imsrcsd
class main
user system
group radio diag inet log wakelock
on property:vendor.ims.DATA_DAEMON_STATUS=1
restart vendor.ims_rtp_daemon
service dts_configurator /system/vendor/bin/dts_configurator
class late_start
user system
group system media audio
oneshot
service dtseagleservice /system/vendor/bin/dts_eagle_service
class late_start
user system
group audio media
disabled
#service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon
# class main
# user system
# group radio diag inet log
#
#service vendor.imsrcsservice /system/vendor/bin/imsrcsd
# class main
# user system
# group radio diag inet log wakelock
#
#on property:vendor.ims.DATA_DAEMON_STATUS=1
# restart vendor.ims_rtp_daemon
#
#service dts_configurator /system/vendor/bin/dts_configurator
# class late_start
# user system
# group system media audio
# oneshot
#
#service dtseagleservice /system/vendor/bin/dts_eagle_service
# class late_start
# user system
# group audio media
# disabled
#
on property:init.svc.dts_configurator=stopped
start dtseagleservice
@ -440,22 +485,22 @@ on property:init.svc.zygote=running
on property:init.svc.zygote=restarting
stop ppd
service energy-awareness /system/vendor/bin/energy-awareness
class main
user root
group system
oneshot
service vendor.hvdcp_opti /system/vendor/bin/hvdcp_opti
class main
user root
group system wakelock
service mdtpd /system/vendor/bin/mdtpd
class late_start
user root
group system radio drmrpc
#service energy-awareness /system/vendor/bin/energy-awareness
# class main
# user system
# group system
# oneshot
#
#service vendor.hvdcp_opti /system/vendor/bin/hvdcp_opti
# class main
# user root
# group system wakelock
#
#service mdtpd /system/vendor/bin/mdtpd
# class late_start
# user root
# group system radio drmrpc
#
service dhcpcd_eth0 /system/vendor/bin/dhcpcd -ABKLG
class late_start
disabled

View file

@ -0,0 +1,140 @@
on property:sys.usb.config=none && property:sys.usb.configfs=1
write /config/usb_gadget/g1/UDC "none"
stop adbd
setprop sys.usb.ffs.ready 0
write /config/usb_gadget/g1/bDeviceClass 0
write /config/usb_gadget/g1/bDeviceSubClass 0
write /config/usb_gadget/g1/bDeviceProtocol 0
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3
rmdir /config/usb_gadget/g1/functions/rndis.gs4
setprop sys.usb.state ${sys.usb.config}
on property:init.svc.adbd=stopped
setprop sys.usb.ffs.ready 0
on property:sys.usb.config=adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp"
symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_adb"
symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=accessory && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory"
symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_adb"
symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=audio_source && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "audiosource"
symlink /config/usb_gadget/g1/functions/audio_source.gs3 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "audiosource_adb"
symlink /config/usb_gadget/g1/functions/audio_source.gs3 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_audiosource"
symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/audio_source.gs3 /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_audiosource_adb"
symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/audio_source.gs3 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=midi && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi_adb"
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis && property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis"
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb"
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}

View file

@ -28,7 +28,7 @@
# Firmware directory Path
# Below macro will be read by uevent and path will
# be added to search path for firmware loading
firmware_directories /vendor/firmware_mnt/image/
firmware_directories /vendor/firmware_mnt/image/ /vendor/firmware-modem/image/
# the DIAG device node is not world writable/readable.
/dev/diag 0660 system oem_2901
@ -166,6 +166,7 @@ firmware_directories /vendor/firmware_mnt/image/
/dev/msm_vidc_dec_sec 0660 system audio
/dev/msm_vidc_enc 0660 system audio
/dev/msm_rotator 0660 system system
/dev/hw_random 0600 root root
/dev/sdsprpc-smd 0660 system system
#permissions for audio

View file

@ -1 +1,7 @@
allow adsprpcd_file self:filesystem associate;
allow adsprpcd mnt_vendor_file:dir create_dir_perms;
allow adsprpcd mnt_vendor_file:file create_file_perms;
allow adsprpcd sysfs_sensors:dir r_dir_perms;
allow adsprpcd sysfs_sensors:file r_file_perms;
allow adsprpcd sysfs_sensors:lnk_file r_file_perms;

View file

@ -1,6 +1,7 @@
type camera_socket, file_type, core_data_file_type, data_file_type;
type cnd_core_data_file, file_type, core_data_file_type, data_file_type;
type debugfs_rmt, debugfs_type, fs_type;
type firmware-modem_file, file_type, contextmount_type, vendor_file_type;
type fpc_data_file, core_data_file_type, data_file_type, file_type;
type omr_file, file_type, mlstrustedobject;
type persist_qc_senseid_file, file_type;
@ -24,4 +25,3 @@ type sysfs_tsp, fs_type, sysfs_type;
type sysfs_wifi, fs_type, sysfs_type;
type thermal_data_file, core_data_file_type, data_file_type, file_type;

View file

@ -40,6 +40,7 @@
# Root files
/bt_firmware(/.*)? u:object_r:bt_firmware_file:s0
/firmware(/.*)? u:object_r:firmware_file:s0
/firmware-modem(/.*)? u:object_r:firmware-modem_file:s0
/omr(/.*)? u:object_r:omr_file:s0
# Binaries
@ -54,9 +55,10 @@
/(vendor|system/vendor)/bin/hw/android\.hardware\.light@2\.0-service\.samsung u:object_r:hal_light_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.usb@1\.1-service\.gts3l u:object_r:hal_usb_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.livedisplay@2\.0-service\.samsung-qcom u:object_r:hal_lineage_livedisplay_sysfs_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.samsung\.hardware\.camera\.provider@3\.0-service u:object_r:hal_camera_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.samsung\.hardware\.miscpower@1\.0-service u:object_r:hal_power_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.sensors@1\.0-service u:object_r:hal_sensors_default_exec:s0
# Shell scripts
/(vendor|system/vendor)/bin/init\.panel\.sh u:object_r:init_panel_exec:s0
/(vendor|system/vendor)/bin/init\.tfa\.sh u:object_r:init_tfa_exec:s0

View file

@ -2,7 +2,7 @@ vendor.samsung.hardware.bluetooth.a2dp::ISecBluetoothAudioOffload
vendor.samsung.hardware.bluetooth.a2dpsink::ISecBluetoothA2dpSinkProvidersFactory u:object_r:hal_bluetooth_a2dp_hwservice:s0
vendor.samsung.hardware.bluetooth.audio::ISecBluetoothAudioProvidersFactory u:object_r:hal_audio_hwservice:s0
vendor.samsung.hardware.bluetooth::ISecBluetooth u:object_r:hal_bluetooth_hwservice:s0
vendor.samsung.hardware.camera.provider::ISecCameraProvider u:object_r:hal_camera_hwservice:s0
vendor.samsung.hardware.exthealth::IExtHealth u:object_r:hal_health_hwservice:s0
vendor.samsung.hardware.gnss::ISecGnss u:object_r:hal_gnss_hwservice:s0
vendor.samsung.hardware.health::ISecHealth u:object_r:hal_health_hwservice:s0
vendor.samsung.hardware.miscpower::ISecMiscPower u:object_r:hal_miscpower_hwservice:s0

View file

@ -14,6 +14,7 @@ persist.vendor.audio.fluence.voicecall=true
persist.vendor.audio.fluence.voicerec=false
persist.vendor.audio.fluence.speaker=true
persist.vendor.audio.hw.binder.size_kbyte=1024
vendor.audio.feature.a2dp_offload.enable=true
vendor.audio_hal.period_size=192
vendor.audio.tunnel.encode=false
vendor.audio.offload.buffer.size.kb=64