Vinylsmith 11 сар өмнө
commit
60a9b0d0ba

+ 21 - 0
Android.mk

@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2022 The OrangeFox Recovery Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+ifeq ($(TARGET_DEVICE),herolte)
+include $(call all-subdir-makefiles,$(LOCAL_PATH))
+endif

+ 21 - 0
AndroidProducts.mk

@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2022 The OrangeFox Recovery Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+PRODUCT_MAKEFILES := \
+    $(LOCAL_DIR)/twrp_herolte.mk
+
+COMMON_LUNCH_CHOICES := \
+    twrp_herolte-eng

+ 90 - 0
BoardConfig.mk

@@ -0,0 +1,90 @@
+#
+# Copyright (C) 2022 The OrangeFox Recovery Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+DEVICE_PATH := device/samsung/herolte
+
+# Architecture
+TARGET_ARCH := arm64
+TARGET_ARCH_VARIANT := armv8-a
+TARGET_CPU_ABI := arm64-v8a
+TARGET_CPU_ABI2 :=
+TARGET_CPU_VARIANT := cortex-a53
+TARGET_CPU_SMP := true
+
+TARGET_2ND_ARCH := arm
+TARGET_2ND_ARCH_VARIANT := armv8-a
+TARGET_2ND_CPU_ABI := armeabi-v7a
+TARGET_2ND_CPU_ABI2 := armeabi
+TARGET_2ND_CPU_VARIANT := cortex-a53
+
+# Kernel
+TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/Image.gz
+TARGET_PREBUILT_DT := $(DEVICE_PATH)/prebuilt/dt.img
+BOARD_KERNEL_BASE := 0x10000000
+BOARD_KERNEL_PAGESIZE := 2048
+BOARD_RAMDISK_OFFSET := 0x01000000
+BOARD_KERNEL_TAGS_OFFSET := 0x00000100
+BOARD_MKBOOTIMG_ARGS += --ramdisk_offset $(BOARD_RAMDISK_OFFSET)
+BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
+BOARD_MKBOOTIMG_ARGS += --dt $(TARGET_PREBUILT_DT)
+BOARD_KERNEL_IMAGE_NAME := Image.gz
+
+# Bootloader
+TARGET_NO_BOOTLOADER := true
+TARGET_BOOTLOADER_BOARD_NAME := universal8890
+
+# Platform
+TARGET_BOARD_PLATFORM := exynos5
+
+# File systems
+BOARD_HAS_LARGE_FILESYSTEM := true
+TARGET_USERIMAGES_USE_EXT4 := true
+TARGET_USERIMAGES_USE_F2FS := true
+
+# Partitions
+BOARD_FLASH_BLOCK_SIZE := 131072
+BOARD_BOOTIMAGE_PARTITION_SIZE     := 41943040
+BOARD_RECOVERYIMAGE_PARTITION_SIZE := 48234496
+BOARD_CACHEIMAGE_PARTITION_SIZE    := 209715200
+BOARD_SYSTEMIMAGE_PARTITION_SIZE   := 4400000000
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 27044851712
+
+# Crypto
+TW_INCLUDE_CRYPTO := true
+TW_INCLUDE_CRYPTO_FBE := true
+
+# Recovery
+LZMA_COMPRESSION := -9
+LZMA_RAMDISK_TARGETS := recovery
+RECOVERY_SDCARD_ON_DATA := true
+TARGET_RECOVERY_PIXEL_FORMAT := "ABGR_8888"
+
+# TWRP specific build flags
+TW_THEME := portrait_hdpi
+TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/15400000.usb/15400000.dwc3/gadget/lun%d/file"
+TW_BRIGHTNESS_PATH := "/sys/devices/13900000.dsim/backlight/panel/brightness"
+TW_MAX_BRIGHTNESS := 255
+TW_DEFAULT_BRIGHTNESS := 162
+TW_CUSTOM_CPU_TEMP_PATH := "/sys/class/thermal/thermal_zone1/temp"
+TW_NO_REBOOT_BOOTLOADER := true
+TW_HAS_DOWNLOAD_MODE := true
+TW_INCLUDE_NTFS_3G := true
+TW_USE_NEW_MINADBD := true
+BOARD_HAS_NO_REAL_SDCARD := true
+TW_EXCLUDE_TWRPAPP := true
+TW_FORCE_USE_BUSYBOX := true
+TW_INCLUDE_RESETPROP := true
+TW_EXTRA_LANGUAGES := true

+ 20 - 0
README.md

@@ -0,0 +1,20 @@
+# OrangeFox Recovery device tree for Samsung S7 Edge aka hero2lte
+
+ Copyright (C) 2019 morogoku Open-source
+ Copyright (C) 2022 Sushrut1101 Open-source
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+```
+
+Kernel sources are available at: https://github.com/morogoku/android_kernel_samsung_universal8890/tree/twrp

+ 17 - 0
device.mk

@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2022 The OrangeFox Recovery Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := device/samsung/herolte

BIN
prebuilt/Image.gz


BIN
prebuilt/dt.img


+ 65 - 0
recovery/root/init.recovery.usb.rc

@@ -0,0 +1,65 @@
+on init
+    write /sys/class/android_usb/android0/iSerial $ro.serialno
+    write /sys/class/android_usb/android0/f_rndis/manufacturer Samsung
+    write /sys/class/android_usb/android0/f_rndis/vendorID 18d1
+    write /sys/class/android_usb/android0/f_rndis/wceis 1
+
+on boot
+    write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
+    write /sys/class/android_usb/android0/iProduct ${ro.product.model}
+    write /sys/class/android_usb/android0/iSerial ${ro.serialno}
+    write /sys/class/android_usb/android0/f_mass_storage/inquiry_string "Samsung"
+
+on post-fs
+    mkdir /dev/usb-ffs 0770 shell shell
+    mkdir /dev/usb-ffs/adb 0770 shell shell
+    mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
+    write /sys/class/android_usb/android0/f_ffs/aliases adb
+    setprop sys.usb.ffs.aio_compat 1
+    
+on property:sys.usb.config=none
+    write /sys/class/android_usb/android0/enable 0
+    write /sys/class/android_usb/android0/bDeviceClass 0
+
+on property:sys.usb.config=mtp
+    write /sys/class/android_usb/android0/enable 0
+    write /sys/class/android_usb/android0/idVendor 04e8
+    write /sys/class/android_usb/android0/idProduct 6860
+    write /sys/class/android_usb/android0/functions ${sys.usb.config}
+    write /sys/class/android_usb/android0/enable 1
+    setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=adb
+    write /sys/class/android_usb/android0/enable 0
+    write /sys/class/android_usb/android0/idVendor 04e8
+    write /sys/class/android_usb/android0/idProduct 6860
+    write /sys/class/android_usb/android0/functions ${sys.usb.config}
+    write /sys/class/android_usb/android0/enable 1
+    write /sys/class/android_usb/android0/enable ${service.adb.root}
+    start adbd
+
+on property:sys.usb.config=mtp,adb
+    write /sys/class/android_usb/android0/enable 0
+    write /sys/class/android_usb/android0/idVendor 04e8
+    write /sys/class/android_usb/android0/idProduct 6860
+    write /sys/class/android_usb/android0/functions ${sys.usb.config}
+    write /sys/class/android_usb/android0/enable 1
+    write /sys/class/android_usb/android0/enable ${service.adb.root}
+    start adbd
+
+on property:sys.usb.config=mass_storage
+    write /sys/class/android_usb/android0/enable 0
+    write /sys/class/android_usb/android0/idVendor 04e8
+    write /sys/class/android_usb/android0/idProduct 685B
+    write /sys/class/android_usb/android0/functions ${sys.usb.config}
+    write /sys/class/android_usb/android0/enable 1
+    setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mass_storage,adb
+    write /sys/class/android_usb/android0/enable 0
+    write /sys/class/android_usb/android0/idVendor 04e8
+    write /sys/class/android_usb/android0/idProduct 685e
+    write /sys/class/android_usb/android0/functions ${sys.usb.config}
+    write /sys/class/android_usb/android0/enable 1
+    write /sys/class/android_usb/android0/enable ${service.adb.root}
+    start adbd

+ 11 - 0
recovery/root/system/etc/recovery.fstab

@@ -0,0 +1,11 @@
+# Android fstab file.
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+
+#<src>                  <mnt_point>         <type>    <mnt_flags and options>                               <fs_mgr_flags>
+
+/dev/block/platform/155a0000.ufs/by-name/SYSTEM		/system		ext4		ro,errors=panic,noload												wait,recoveryonly
+
+/dev/block/platform/155a0000.ufs/by-name/USERDATA	/data		ext4		noatime,nosuid,nodev,noauto_da_alloc,discard,journal_async_commit,data=ordered,errors=panic			wait,check,quota,encryptable=/dev/block/platform/155a0000.ufs/by-name/TOMBSTONES,latemount,reservedsize=128M
+
+/dev/block/platform/155a0000.ufs/by-name/OTA		/misc		emmc		defaults													defaults

+ 22 - 0
recovery/root/system/etc/twrp.flags

@@ -0,0 +1,22 @@
+# Android fstab file.
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+
+# mount_point		fstype		device			device2					flags
+
+/boot			emmc		/dev/block/platform/155a0000.ufs/by-name/BOOT
+/recovery		emmc		/dev/block/platform/155a0000.ufs/by-name/RECOVERY		flags=backup=1
+/cache			ext4		/dev/block/platform/155a0000.ufs/by-name/CACHE		flags=display="Cache";backup=1;wipeingui
+
+# Internal Storage
+/storage		ext4		/data/media/0							flags=display="Internal Storage";usermrf;backup=1;fsflags="bind";removable
+
+/system_image		emmc		/dev/block/platform/155a0000.ufs/by-name/SYSTEM			flags=display="System Image";backup=1
+
+/modem			emmc		/dev/block/platform/155a0000.ufs/by-name/RADIO			flags=backup=1;display="Baseband"
+/modem_debug		emmc		/dev/block/platform/155a0000.ufs/by-name/CP_DEBUG		flags=backup=1;display="Baseband (Debug)";subpartitionof=/modem
+/efs			ext4		/dev/block/platform/155a0000.ufs/by-name/EFS			flags=backup=1;display="EFS"
+
+# External Storage
+/sdcard1		vfat		/dev/block/mmcblk0p1	/dev/block/mmcblk0			flags=display="MicroSD Card";storage;wipeingui;removable
+/usb_otg		vfat		/dev/block/sde1		/dev/block/sde				flags=display="USB-Storage";storage;wipeingui;removable

+ 1 - 0
recovery/root/system/flashlight/brightness

@@ -0,0 +1 @@
+/mnt/v/S7 SM-G930F herolte/Build OrangeFox/fox_11.0/sys/devices/virtual/camera/flash/rear_flash

+ 1 - 0
recovery/root/system/flashlight/max_brightness

@@ -0,0 +1 @@
+1

+ 186 - 0
recovery/root/ueventd.samsungexynos8890.rc

@@ -0,0 +1,186 @@
+/dev/mali0                0666   system     system
+/dev/ion                  0666   system     system
+/dev/ump                  0666   system     graphics
+/dev/exynos-mem           0660   system     graphics
+/dev/video0               0660   system     camera
+/dev/video1               0660   system     camera
+/dev/video2               0660   system     camera
+/dev/video3               0660   system     camera
+/dev/video20              0660   system     system
+# media0 is used for GSC, DECON, etc
+/dev/media0               0660   system     camera
+# media1 is used for DECON Ext WB
+/dev/media1               0660   system     graphics
+# Various devices use the v4l-subdev interface
+# We declare all such nodes simultaneously here
+/dev/v4l-subdev0          0660   system     camera
+/dev/v4l-subdev1          0660   system     camera
+/dev/v4l-subdev2          0660   system     camera
+/dev/v4l-subdev3          0660   system     camera
+/dev/v4l-subdev4          0660   system     camera
+/dev/v4l-subdev5          0660   system     camera
+/dev/v4l-subdev6          0660   system     camera
+/dev/v4l-subdev7          0660   system     camera
+/dev/v4l-subdev8          0660   system     camera
+/dev/v4l-subdev9          0660   system     camera
+/dev/v4l-subdev10         0660   system     camera
+/dev/v4l-subdev11         0660   system     camera
+/dev/v4l-subdev12         0660   system     camera
+/dev/v4l-subdev13         0660   system     camera
+/dev/v4l-subdev14         0660   system     camera
+/dev/v4l-subdev15         0660   system     camera
+/dev/v4l-subdev16         0660   system     camera
+/dev/v4l-subdev17         0660   system     camera
+/dev/v4l-subdev18         0660   system     camera
+/dev/v4l-subdev19         0660   system     camera
+# v4l-subdev20 is used for DECON Ext WB
+/dev/v4l-subdev20         0660   system     graphics
+/dev/v4l-subdev21         0660   system     graphics
+/dev/v4l-subdev32         0660   system     graphics
+
+# gscalers
+/dev/video23              0660   media      graphics
+/dev/video26              0660   media      graphics
+/dev/video24              0660   media      graphics
+/dev/video27              0660   media      graphics
+/dev/video29              0660   media      graphics
+/dev/video30              0660   media      graphics
+# video31 is used for DECON Ext WB
+/dev/video31              0660   media      graphics
+
+# mscalers
+/dev/video50              0660   media      graphics
+/dev/video51              0660   cameraserver     cameraserver
+/dev/m2m1shot_scaler0     0660   mediacodec      graphics
+/dev/m2m1shot_scaler1     0660   cameraserver      cameraserver
+
+/dev/video55              0666   system     graphics
+/dev/fimg2d               0666   system     graphics
+/dev/i2c-2                0660   system     system
+/dev/HPD                  0660   system     system
+
+# mfc
+/dev/video6               0660   mediacodec      mediadrm
+/dev/video7               0660   media      mediadrm
+/dev/video8               0660   media      mediadrm
+/dev/video9               0660   media      mediadrm
+
+# camera
+/dev/video101             0660   cameraserver      cameraserver
+/dev/video102             0660   cameraserver      cameraserver
+/dev/video103             0660   cameraserver      cameraserver
+/dev/video104             0660   cameraserver      cameraserver
+/dev/video105             0660   cameraserver      cameraserver
+/dev/video106             0660   cameraserver      cameraserver
+/dev/video109             0660   cameraserver      cameraserver
+/dev/video110             0660   cameraserver      cameraserver
+/dev/video111             0660   cameraserver      cameraserver
+/dev/video112             0660   cameraserver      cameraserver
+/dev/video120             0660   cameraserver      cameraserver
+/dev/video121             0660   cameraserver      cameraserver
+/dev/video122             0660   cameraserver      cameraserver
+/dev/video130             0660   cameraserver      cameraserver
+/dev/video131             0660   cameraserver      cameraserver
+/dev/video132             0660   cameraserver      cameraserver
+/dev/video140             0660   cameraserver      cameraserver
+/dev/video141             0660   cameraserver      cameraserver
+/dev/video142             0660   cameraserver      cameraserver
+/dev/video150             0660   cameraserver      cameraserver
+/dev/video151             0660   cameraserver      cameraserver
+/dev/video152             0660   cameraserver      cameraserver
+/dev/video160             0660   cameraserver      cameraserver
+/dev/video161             0660   cameraserver      cameraserver
+/dev/video170             0660   cameraserver      cameraserver
+/dev/video171             0660   cameraserver      cameraserver
+/dev/video172             0660   cameraserver      cameraserver
+/dev/video173             0660   cameraserver      cameraserver
+/dev/video174             0660   cameraserver      cameraserver
+/dev/video180             0660   cameraserver      cameraserver
+/dev/video210             0660   cameraserver      cameraserver
+/dev/video211             0660   cameraserver      cameraserver
+/dev/video212             0660   cameraserver      cameraserver
+/dev/video213             0660   cameraserver      cameraserver
+/dev/video214             0660   cameraserver      cameraserver
+/dev/video215             0660   cameraserver      cameraserver
+/dev/video216             0660   cameraserver      cameraserver
+/dev/video217             0660   cameraserver      cameraserver
+/dev/video218             0660   cameraserver      cameraserver
+/dev/video219             0660   cameraserver      cameraserver
+/dev/video220             0660   cameraserver      cameraserver
+/dev/video221             0660   cameraserver      cameraserver
+/dev/video222             0660   cameraserver      cameraserver
+/dev/video223             0660   cameraserver      cameraserver
+/dev/video224             0660   cameraserver      cameraserver
+/dev/video225             0660   cameraserver      cameraserver
+/dev/video227             0660   cameraserver      cameraserver
+/dev/video231             0660   cameraserver      cameraserver
+/dev/media2               0660   media      media
+
+# jpeg
+/dev/m2m1shot_jpeg	  0660   media      media
+/dev/video12              0660   media      media
+
+# audio
+/dev/seiren               0660   system     audio
+
+#temporary
+/data/modem.bin           0400   radio      system
+
+# DM tools
+/dev/umts_dm0             0660   radio      radio
+/dev/umts_router          0660   radio      radio
+
+# SIPC RIL
+/dev/umts_boot0           0660   radio      radio
+/dev/umts_ipc0            0660   radio      radio
+/dev/umts_ipc1            0660   radio      radio
+/dev/umts_rfs0            0660   radio      radio
+
+# Modem Interface
+/dev/block/platform/155a0000.ufs/by-name/RADIO	0660   system     radio
+/dev/block/platform/155a0000.ufs/by-name/CP_DEBUG	0660	radio	system
+/dev/umts*                0660   system     radio
+/dev/umts_csd             0660   system     loop_radio
+/dev/smd4                 0660   system     radio
+
+# interactive governor parameters
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/timer_rate			0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/timer_slack			0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/min_sample_time		0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/hispeed_freq		0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/target_loads		0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/go_hispeed_load		0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/above_hispeed_delay		0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/boost			0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/boostpulse			0200	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/input_boost			0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/boostpulse_duration		0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/io_is_busy			0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/param_index			0660	system	system
+/sys/devices/system/cpu/cpu*	cpufreq/interactive/mode			0660	system	system
+
+# Google FRP solution
+/dev/block/platform/155a0000.ufs/by-name/PERSISTENT    0660    system    system
+
+# sensor sysfs properties
+/sys/devices/virtual/input/input*    poll_delay    0660    system    radio
+/sys/devices/virtual/input/input*    enable        0660    system    radio
+/dev/input/event*	  0660   system		input
+
+# Sensorhub IIO
+/dev/ssp_sensorhub        0660   system		system
+/dev/batch_io		  0600   system         system
+/dev/iio:device*          0660   system		system
+/sys/devices/14d30000.spi/spi_master/spi1/spi1.0/iio:device*    buffer/enable       0660    system    system
+/sys/devices/14d30000.spi/spi_master/spi1/spi1.0/iio:device*    buffer/length       0660    system    system
+/sys/bus/iio/devices/iio:device*    0664   system     radio
+/sys/bus/iio/devices/iio:device*	poll_delay	0660	system	system
+
+# Broadcom Sensorhub Bridge Driver
+/dev/bbd_sensor           0660   system     system
+/dev/bbd_control          0660   system     system
+/dev/bbd_packet           0660   system     system
+/dev/bbd_reliable         0660   system     system
+/dev/bbd_sio              0660   system     system
+/dev/bbd_patch            0660   system     system
+/dev/ttyBCM*              0660   system     system

+ 31 - 0
twrp_herolte.mk

@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2022 The OrangeFox Recovery Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Inherit from those products. Most specific first.
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
+
+# Inherit from our custom product configuration
+$(call inherit-product, vendor/twrp/config/common.mk)
+
+# Inherit from herolte device
+$(call inherit-product, device/samsung/hero2lte/device.mk)
+
+# Device identifier. This must come after all inclusions
+PRODUCT_DEVICE := herolte
+PRODUCT_NAME := twrp_herolte
+PRODUCT_BRAND := samsung
+PRODUCT_MODEL := SM-G930F
+PRODUCT_MANUFACTURER := samsung

+ 108 - 0
vendorsetup.sh

@@ -0,0 +1,108 @@
+#
+# Copyright (C) 2022 The OrangeFox Recovery Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+FDEVICE="herolte"
+
+fox_get_target_device() {
+local chkdev=$(echo "$BASH_SOURCE" | grep $FDEVICE)
+	if [ -n "$chkdev" ]; then
+		FOX_BUILD_DEVICE="$FDEVICE"
+	else
+		chkdev=$(set | grep BASH_ARGV | grep $FDEVICE)
+	[ -n "$chkdev" ] && FOX_BUILD_DEVICE="$FDEVICE"
+	fi
+}
+
+if [ -z "$1" -a -z "$FOX_BUILD_DEVICE" ]; then
+	fox_get_target_device
+fi
+
+if [ "$1" = "$FDEVICE" -o "$FOX_BUILD_DEVICE" = "$FDEVICE" ]; then
+
+	# Base
+	export ALLOW_MISSING_DEPENDENCIES=true
+	export LC_ALL="C"
+	export FOX_USE_TWRP_RECOVERY_IMAGE_BUILDER="1"
+	
+	# Exynos ($FDEVICE) specific
+	export FOX_RECOVERY_INSTALL_PARTITION="/dev/block/platform/155a0000.ufs/by-name/RECOVERY"
+	export FOX_RECOVERY_SYSTEM_PARTITION="/dev/block/platform/155a0000.ufs/by-name/SYSTEM"
+	# FOX_RECOVERY_VENDOR_PARTITION is not set as the device is non-treble
+	export FOX_RECOVERY_BOOT_PARTITION="/dev/block/platform/155a0000.ufs/by-name/BOOT"
+	export OF_FL_PATH1="/system/flashlight"
+	export OF_DEVICE_WITHOUT_PERSIST=1
+	export OF_SKIP_FBE_DECRYPTION=1
+	
+	# R11.1 Settings
+	export FOX_VERSION="R11.1_1"
+	export OF_MAINTAINER="Sushrut1101"
+	export OF_MAINTAINER_AVATAR="misc/Sushrut1101.png"
+	
+	export FOX_ADVANCED_SECURITY="1"
+	export OF_USE_TWRP_SAR_DETECT="1"
+	export OF_SUPPORT_ALL_BLOCK_OTA_UPDATES=1
+	export OF_DISABLE_MIUI_OTA_BY_DEFAULT=0
+	export OF_FIX_OTA_UPDATE_MANUAL_FLASH_ERROR=1
+	export OF_OTA_BACKUP_STOCK_BOOT_IMAGE=1
+
+	# Quick Backup Defaults
+	export OF_QUICK_BACKUP_LIST="/boot;/data;/system_image;"
+	
+	# Common
+	export TARGET_ARCH=arm64
+	export TW_DEFAULT_LANGUAGE="en"
+	export OF_KEEP_FORCED_ENCRYPTION="1"
+	export OF_PATCH_AVB20="1"
+	export OF_USE_MAGISKBOOT="1"
+	export OF_USE_MAGISKBOOT_FOR_ALL_PATCHES="1"
+	export OF_DONT_PATCH_ENCRYPTED_DEVICE="1"
+	export OF_NO_TREBLE_COMPATIBILITY_CHECK="1"
+	export FOX_USE_LZMA_COMPRESSION="1"
+	
+	export FOX_USE_BASH_SHELL="1"
+	export FOX_ASH_IS_BASH="1"
+	export FOX_USE_TAR_BINARY="1"
+	export FOX_USE_ZIP_BINARY="1"
+	export FOX_REPLACE_BUSYBOX_PS="1"
+	export OF_USE_NEW_MAGISKBOOT="1"
+	export OF_SKIP_MULTIUSER_FOLDERS_BACKUP="1"
+	
+	# Use the System (ROM) Fingerprint where Available
+	export OF_USE_SYSTEM_FINGERPRINT="1"
+
+	# Run Post Format Process for MTP
+	export OF_RUN_POST_FORMAT_PROCESS=1
+	
+	# Magisk
+	export FOX_USE_SPECIFIC_MAGISK_ZIP=~/Magisk/Magisk.zip
+	if [ -n "${FOX_USE_SPECIFIC_MAGISK_ZIP}" ]; then
+		if [ ! -e "${FOX_USE_SPECIFIC_MAGISK_ZIP}" ]; then
+			echo "Downloading the Latest Release of Magisk..."
+			LATEST_MAGISK_URL="$(curl -sL https://api.github.com/repos/topjohnwu/Magisk/releases/latest | grep browser_download_url | grep Magisk- | cut -d : -f 2,3 | sed 's/"//g')"
+			wget -q ${LATEST_MAGISK_URL} -O ${FOX_USE_SPECIFIC_MAGISK_ZIP} || wget ${LATEST_MAGISK_URL} -O ${FOX_USE_SPECIFIC_MAGISK_ZIP}
+			[ "$?" = "0" ] && echo "Magisk Downloaded Successfully"
+			echo "Done!"
+		fi
+	fi
+
+	# Let's See what are our Build VARs
+	if [ -n "$FOX_BUILD_LOG_FILE" -a -f "$FOX_BUILD_LOG_FILE" ]; then
+		export | grep "FOX" >> $FOX_BUILD_LOG_FILE
+		export | grep "OF_" >> $FOX_BUILD_LOG_FILE
+		export | grep "TARGET_" >> $FOX_BUILD_LOG_FILE
+		export | grep "TW_" >> $FOX_BUILD_LOG_FILE
+ 	fi
+fi