Skip to content

Commit

Permalink
avicii: Separate FBEv2 tree
Browse files Browse the repository at this point in the history
  • Loading branch information
sreeshankark committed Dec 23, 2022
1 parent 70d410a commit ad89708
Show file tree
Hide file tree
Showing 142 changed files with 2,425 additions and 167 deletions.
2 changes: 1 addition & 1 deletion Android.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#
# Copyright (C) 2022 The Android Open Source Project
# Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
# Copyright (C) 2022 PitchBlack Recovery Project
#
# SPDX-License-Identifier: Apache-2.0
#
Expand Down
6 changes: 3 additions & 3 deletions AndroidProducts.mk
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#
# Copyright (C) 2022 The Android Open Source Project
# Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
# Copyright (C) 2022 PitchBlack Recovery Project
#
# SPDX-License-Identifier: Apache-2.0
#

PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/pbrp_avicii.mk
$(LOCAL_DIR)/omni_avicii.mk

COMMON_LUNCH_CHOICES := \
pbrp_avicii-eng
omni_avicii-eng
112 changes: 74 additions & 38 deletions BoardConfig.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#
# Copyright (C) 2022 The Android Open Source Project
# Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
# Copyright (C) 2022 PitchBlack Recovery Project
#
# SPDX-License-Identifier: Apache-2.0
#
Expand All @@ -22,13 +22,15 @@ TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a76


# Enable CPUSets
ENABLE_CPUSETS := true
ENABLE_SCHEDBOOST := true

# APEX
DEXPREOPT_GENERATE_APEX_IMAGE := true

# Assert
TARGET_OTA_ASSERT_DEVICE := avicii,OnePlusNord,Nord
TARGET_OTA_ASSERT_DEVICE := avicii,OnePlusNord,Nord,ossi,AC2001,AC2003,OnePlus Nord

# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := $(PRODUCT_PLATFORM)
Expand All @@ -49,6 +51,7 @@ BOARD_KERNEL_CMDLINE := \
androidboot.hardware=qcom \
androidboot.console=ttyMSM0 \
androidboot.memcg=1 \
video=vfb:640x400,bpp=32,memsize=3072000 \
lpm_levels.sleep_disabled=1 \
msm_rtb.filter=0x237 \
service_locator.enable=1 \
Expand All @@ -58,7 +61,7 @@ BOARD_KERNEL_CMDLINE := \
cgroup.memory=nokmem,nosocket \
reboot=panic_warm
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
BOARD_KERNEL_IMAGE_NAME := Image.gz
BOARD_KERNEL_IMAGE_NAME := Image
BOARD_KERNEL_PAGESIZE := 4096
BOARD_KERNEL_SEPARATED_DTBO := true
BOARD_KERNEL_TAGS_OFFSET := 0x00000100
Expand All @@ -77,49 +80,63 @@ TARGET_NO_KERNEL := false
# Platform
TARGET_BOARD_PLATFORM := $(TARGET_BOOTLOADER_BOARD_NAME)
TARGET_USES_HARDWARE_QCOM_BOOTCTRL := true
TARGET_BOARD_PLATFORM_GPU := qcom-adreno620
QCOM_BOARD_PLATFORMS += $(TARGET_BOARD_PLATFORM)

# Properties
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop

# Partition Info
BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
BOARD_USES_PRODUCTIMAGE := true
BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 100663296
BOARD_BOOTIMAGE_PARTITION_SIZE := 104857600
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600
BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0
BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := 4096
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
BOARD_HAS_LARGE_FILESYSTEM := true

# File System Tables for Recovery
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/root/system/etc/recovery.fstab
# Recovery
BOARD_SUPPRESS_SECURE_ERASE := true
TARGET_NO_RECOVERY := false
TARGET_RECOVERY_DEVICE_MODULES += \
libion \
libxml2 \
[email protected] \
ashmemd \
ashmemd_aidl_interface-cpp \
bootctrl.$(TARGET_BOARD_PLATFORM).recovery \
libashmemd_client \
libcap \
libpcrecpp

# Partitions (listed in the file) to be wiped under recovery
TARGET_RECOVERY_WIPE := $(DEVICE_PATH)/recovery/root/system/etc/recovery.wipe

# Dynamic/Logical Partitions
BOARD_ONEPLUS_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor
BOARD_ONEPLUS_DYNAMIC_PARTITIONS_SIZE := 7511998464
BOARD_SUPER_PARTITION_GROUPS := oneplus_dynamic_partitions
BOARD_SUPER_PARTITION_SIZE := 15032385536
# Recovery fstab
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/root/system/etc/recovery.fstab

# Dynamic Partitions
BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
BOARD_SUPER_PARTITION_SIZE := 15032385536
BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 751199846
BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := \
system \
system_ext \
vendor \
product \
odm

# Workaround for error copying vendor files to recovery ramdisk
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_PRODUCT := product
TARGET_COPY_OUT_VENDOR := vendor

# Recovery
BOARD_HAS_LARGE_FILESYSTEM := true
BOARD_SUPPRESS_SECURE_ERASE := true
TARGET_NO_RECOVERY := false
TARGET_RECOVERY_DEVICE_MODULES += \
libion \
libxml2 \
[email protected] \
[email protected]

# Use mke2fs to create ext4 images
TARGET_USES_MKE2FS := true

Expand All @@ -130,56 +147,75 @@ BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3

# Encryption
BOARD_USES_METADATA_PARTITION := true
BOARD_USES_QCOM_FBE_DECRYPTION := true
TW_INCLUDE_FBE_METADATA_DECRYPT := true
PLATFORM_SECURITY_PATCH := 2127-12-31
TW_USE_FSCRYPT_POLICY := 2
PLATFORM_VERSION := 99.87.36
PLATFORM_VERSION_LAST_STABLE := $(PLATFORM_VERSION)
TW_INCLUDE_CRYPTO := true
TW_INCLUDE_CRYPTO_FBE := true
TW_USE_FSCRYPT_POLICY := 1
VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)

# TWRP specific build flags
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_RECOVERY_QCOM_RTC_FIX := true
TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file
TW_THEME := portrait_hdpi
TW_H_OFFSET := -103
TW_Y_OFFSET := 103
TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness"
TW_CUSTOM_CPU_TEMP_PATH := "/sys/devices/virtual/thermal/thermal_zone94/temp"
TW_EXCLUDE_APEX := true
TW_EXCLUDE_TWRPAPP := true
TW_FRAMERATE := 60
TW_USE_TOOLBOX := true
TW_H_OFFSET := -103
TW_Y_OFFSET := 103
TW_DEFAULT_BRIGHTNESS := 200
TW_EXCLUDE_DEFAULT_USB_INIT := true
TW_EXCLUDE_ENCRYPTED_BACKUPS := false
TW_EXTRA_LANGUAGES := true
TW_NO_BIND_SYSTEM := true
TW_NO_EXFAT_FUSE := true
TW_INCLUDE_REPACKTOOLS := true
TW_HAS_EDL_MODE := true
TW_NO_USB_STORAGE := false
TW_NO_SCREEN_BLANK := true
TW_SCREEN_BLANK_ON_BOOT := true
TW_INCLUDE_NTFS_3G := true
TW_EXCLUDE_TWRPAPP := true
TW_INCLUDE_RESETPROP := true
TW_INCLUDE_FASTBOOTD := true
TW_BACKUP_EXCLUSIONS := /data/nandswap
TW_INPUT_BLACKLIST := "hbtp_vm"
TW_OVERRIDE_SYSTEM_PROPS := \
"ro.build.date.utc;ro.bootimage.build.date.utc=ro.build.date.utc;ro.odm.build.date.utc=ro.build.date.utc;ro.product.build.date.utc=ro.build.date.utc;ro.system.build.date.utc=ro.build.date.utc;ro.system_ext.build.date.utc=ro.build.date.utc;ro.vendor.build.date.utc=ro.build.date.utc;ro.build.product;ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental;ro.product.device=ro.product.system.device;ro.product.model=ro.product.system.model;ro.product.name=ro.product.system.name"
RECOVERY_LIBRARY_SOURCE_FILES += \
TW_SYSTEM_BUILD_PROP_ADDITIONAL_PATHS := build.prop
TW_OVERRIDE_SYSTEM_PROPS := "ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental"

TW_RECOVERY_ADDITIONAL_RELINK_BINARY_FILES += \
$(TARGET_OUT_EXECUTABLES)/ashmemd \
$(TARGET_OUT_EXECUTABLES)/strace

TW_RECOVERY_ADDITIONAL_RELINK_LIBRARY_FILES += \
$(TARGET_OUT_SHARED_LIBRARIES)/[email protected] \
$(TARGET_OUT_SHARED_LIBRARIES)/ashmemd_aidl_interface-cpp.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libashmemd_client.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libcap.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libpcrecpp.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libion.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libxml2.so \
$(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/[email protected] \
$(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/[email protected]
$(TARGET_OUT_SHARED_LIBRARIES)/libxml2.so

# PBRP specific build flags
PB_DISABLE_DEFAULT_TREBLE_COMP := true
PB_TORCH_PATH := "/sys/class/leds/led:torch_0"
PB_DISABLE_DEFAULT_DM_VERITY := true
PB_DEVICE_RATIO := "20:9"

# TWRP Debug Flags
TARGET_USES_LOGD := true
TWRP_EVENT_LOGGING := false
TWRP_INCLUDE_LOGCAT := true
TARGET_RECOVERY_DEVICE_MODULES += debuggerd
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/debuggerd
TARGET_RECOVERY_DEVICE_MODULES += strace
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/strace

22 changes: 3 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# PBRP Device Tree for OnePlus Nord (avicii)
# OnePlus Nord (avicii) FBEv2 Device Tree for PitchBlack Recovery Build

<img src="https://github.com/Sanju0910/Sanju0910/blob/main/images/pb_logo.png" width=100 height=100 align="left" />

Expand All @@ -7,7 +7,7 @@

OnePlus Nord (codename:- avicii) is the first upper mid-range non-flagship smartphone from OnePlus Technology Co., Ltd. released in the year 2020.

The phone is avialable in 2 variants based on region: AC2001 (India) & AC2003 (Europe)
The phone is available in 2 variants based on region: AC2001 (India) & AC2003 (Europe)

<p align="center">
<img src="https://github.com/Sanju0910/Sanju0910/blob/main/images/oneplus_avicii.png" width=500 height=500 />
Expand Down Expand Up @@ -38,27 +38,11 @@ The phone is avialable in 2 variants based on region: AC2001 (India) & AC2003 (E
| Sensors | Accelerometer, Electronic compass, Gyroscope, Ambient light sensor, Proximity sensor, Sensor Core |
| Extras | Bluetooth 5.1 (support aptX & aptX HD & LDAC & AAC), NFC enabled |

### To clone this repo

1) Open terminal in the root directory of twrp source.

2) Copy and paste the below command in terminal. (Use Ctrl+C to copy and Shift+Ctrl+V to paste in terminal)

git clone https://github.com/Sanju0910/pbrp_device_oneplus_avicii.git -b pbrp-12.1 device/oneplus/avicii

### To build

source build/envsetup.sh
lunch pbrp_avicii-eng
mka adbd recoveryimage
### Copyright

# Copyright (C) 2022 The PBRP Open Source Project
# Copyright (C) 2022 The PitchBlack Recovery Project
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
Loading

0 comments on commit ad89708

Please sign in to comment.