DerpFest Guides

learn how to build derpfest from source for your device

Before you get excited and rush things up, please read these articles and follow the steps provided there

Begin with initialization of the derpfest repository


mkdir derpfest
cd derpfest
repo init -u git://github.com/DerpLab/platform_manifest.git -b ten
repo sync --force-sync --no-tags --no-clone-bundle

Find Your device sources and modify it as described below

If your device sources (trees, vendor, kernel etc.) are not stable we don't suggest to continue reading this guide. Fix your device side sources first, else the expirence will be bad.

We suggest using LOS or PE device sources as they are mostly stable and don't require much changes.

The given examples below are for either PE or LOS rom

Adapting Device Side Sources (Trees) for DerpFest

Rename the file shown below

If Pixel Expirence
aosp_device-codename.mk to derp_device-codename.mk
If Lineage os
lineage_device-codename.mk to derp_device-codename.mk

Now change contents of derp_device-codename.mk as shown below

Change “aosp“ or “lineage“ to “aosip” & /”common.mk” to “common_full_phone.mk” for example: $(call inherit-product, vendor/aosip/config/common.mk)

Change PRODUCT_NAME value to “lineage_device-codename || aosp_device-codename” for example: ( “lineage_tissot || aosp_tissot” ) to derp_device-codename ( i.e, derp_tissot )

Also rename make file name in the AndroidProducts.mk file - open it and change value of ("PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/"(lineage_device-codename.mk || aosp_device-codename.mk”) to ”derp_device-codename.mk”)
( i.e "PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/derp_tissot.mk )

Remove Lineage OS Stuff

It is necessary to clean up any specific files from LineageOS as these features depend on Los SDK which won’t be available on AOSP and will results in build failures. e.g: LiveDisplay, LineageParts, LineageOverlays etc.

From the root of your device tree/Common device tree remove the following folders/files: lineage-overlays lineagehw Simillarly from BoardConfig.mk/BoardConfigCommon.mk:

# Lineage Hardware
BOARD_HARDWARE_CLASS += \
$(VENDOR_PATH)/lineagehw

From manifest.xml remove livedisplay HAL:



<hal format="hidl">
<name>vendor.lineage.livedisplay</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IColor</name>
<instance>default</instance>
</interface>
</hal>

From device.mk(also named as your SOC codename like: msm8953.mk):

DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay-lineage
# LiveDisplay native
PRODUCT_PACKAGES += \
[email protected]

Note: There is a possiblity that some custom packages such as doze etc may have dependency on lineageSDK, it is necessary to fix them to avoid complie errors.

Start compiling the rom from source


. build/envsetup.sh
lunch derp_device-userdebug
time mka kronic

Reference for this guide is taken from Arrow OS Blog