-
Notifications
You must be signed in to change notification settings - Fork 10
Porting from other ROMs
We strive for a more standardized and streamlined way of porting ROMs to your device and thus we have decided to stick with the generic word custom
as well as simply aosp
for pretty much everything.
If you want to port a ROM the ideal scenario would be to simply build – provided the device tree you have is already made compatible. If not, you will have to rename files from e. g. lineage_device.mk
to aosp_device.mk
as well as adjust all of those. See other device trees for reference.
Our vendor tree is vendor/aosp
and is available as a make variable called CUSTOM_VENDOR_DIR
. You can replace any instances of vendor/*
with $(CUSTOM_VENDOR_DIR)
which (as of now) resolves to vendor/aosp
.
If another ROM with the same or similar Android version as XOS is already available for your device, you can port halogenOS for it.
The first and most basic steps to do that is renaming ROM-named files like for example cm.mk
, tesla.mk
, lineage.mk
, omni.mk
... to XOS.mk
. Then you have to adjust the things inside that file.
Usually you change the ROM name to XOS, so omni_
, cm_
, ... becomes XOS_
.
If you see a line like this:
$(call inherit-product, vendor/cm/config/common_full_phone.mk)
You have to change that to
$(call inherit-product, vendor/xos/config/common.mk)
Furthermore, make sure to rename the *.dependencies
file to XOS.dependencies
accordingly.
Here are examples: https://github.com/halogenOS/android_device_oneplus_oneplus2/blob/XOS-7.1/XOS.mk
https://github.com/halogenOS/android_device_oneplus_oneplus2/blob/XOS-7.1/XOS.dependencies
Important: If you want your device to become official and if you are sure that you can maintain the device, contact one of the lead developers for assistance.