To get started with PitchBlack Recovery, you'll need to get familiar with Git and Repo.
To initialize your local repository using the minimal-manifest-twrp omni trees to build PBRP, use a command like this:
$ repo init -u git://github.com/PitchBlackRecoveryProject/manifest_pb.git -b PBRP
For Initial Low RAM Devices or older MTK Devices:
$ repo init -u git://github.com/PitchBlackRecoveryProject/manifest_pb.git -b twrp-6.0
To initialize a shallow clone, which will save even more space, use a command like this:
$ repo init --depth=1 -u git://github.com/PitchBlackRecoveryProject/manifest_pb.git -b PBRP
For Initial Low RAM Devices:
$ repo init --depth=1 -u git://github.com/PitchBlackRecoveryProject/manifest_pb.git -b twrp-6.0
For Upgrade Encryption Devices i.e., POCO, Oneplus 6, Using Stock Oreo or Pie
$ repo init -u git://github.com/PitchBlackRecoveryProject/manifest_pb.git -b android-9.0
Then to sync up:
$ repo sync
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) -- only for 64bit phones
# Inherit from device
$(call inherit-product, device/<path>/device.mk) -- path to main device makefile
# Inherit common product files.
$(call inherit-product, vendor/pb/config/common.mk)
# Set those variables here to overwrite the inherited values.
BOARD_VENDOR :=
PRODUCT_BRAND :=
PRODUCT_DEVICE :=
PRODUCT_NAME := omni_device
PRODUCT_MANUFACTURER :=
PRODUCT_MODEL :=
TARGET_VENDOR :=
Then to build:
$ cd <source-dir>
$ . build/envsetup.sh
$ lunch omni_<device>-eng
$ mka recoveryimage
If it fails to build:
$ export LC_ALL=C