Halium / projectmanagement

140 stars 32 forks source link

Porting halium and ubuntu touch to motorola e 13 #314

Open arunkumar413 opened 5 months ago

arunkumar413 commented 5 months ago

This issue is created to track the progress of the porting halium and ubuntu touch to motorola e 13

kernel source: https://github.com/MotorolaMobilityLLC/kernel-sprd/tree/MMI-TLA33.105-226-2 device tree: https://github.com/MotorolaMobilityLLC/kernel-sprd/tree/android-13-release-tla33

Tree:

arunkumar413 commented 5 months ago

Hi Team,

I request your help in in creating the manifest file. This is the first time I'm trying to create a manifest file. So I'm not sure what it should contain.

Thanks, Arun

jaswch commented 4 months ago

The manifest file should contain all of the necessary dependencies required for your device, if you want to know what dependencies you will need, go to this https://github.com/lineageos website and search for your device by typing your device's code name then click on the correct repository with your device code name and manufacturer name and open lineage.dependencies or cm.dependencies there you will find the dependency name and path. Now in your manifest file paste the following <?xml version="1.0" encoding="UTF-8"?> <manifest></manifest> between the manifest tags add your device repo by using this tag <project path="device/[manufacturer]/[device]" name="[repository name]" remote="[remote]" revision="[revision]" /> this is for the device repository from where you got the lineage.dependencies file, then for the repositories use <project path="[target_path]" name="[repository]" remote="[remote]" revision="[revision]" /> for more details use this guide from halium on how to create a manifest file https://docs.halium.org/en/latest/porting/get-sources.html and here is how the manifest file should look like (note: this manifest file is for my redmi 3 and will not work for your device, I'm just giving you an idea of how a manifest file should look like)


<manifest>
    <remote name = "ubpi"
            fetch = "https://github.com/Ubports-ido"
            revision="cm-14.1" 
    />
    <project path="device/xiaomi/ido" name="android_device_xiaomi_ido" remote="ubpi" revision="cm-14.1" />
    <project path="device/qcom/common" name="android_device_qcom_common" remote="ubpi" revision="cm-14.1" />
    <project path="external/stlport" name="android_external_stlport" remote="ubpi" revision="cm14.1"/>
    <project path="external/sony/boringssl-compat" name="android_external_sony_boringssl-compat" remote="ubpi" revision="cm-14.1" />
    <project path="kernel/xiaomi/msm8916" name="android_kernel_xiaomi_msm8916" remote="ubpi" revision="cm-14.1" />
    <project path="packages/resources/devicesettings" name="android_packages_resources_devicesettings" remote="ubpi" revision="cm-14.1" />
</manifest>
arunkumar413 commented 4 months ago

@jaswch . Ok. Thanks for the information. Are the two links shared in my first post enough to port. Do I need any additional information apart from the links below:

kernel source: https://github.com/MotorolaMobilityLLC/kernel-sprd/tree/MMI-TLA33.105-226-2

device tree: https://github.com/MotorolaMobilityLLC/kernel-sprd/tree/android-13-release-tla33

jaswch commented 4 months ago

@arunkumar413 kernel source and device tree are required. There might be even more dependencies required for your device and vendor blobs (proprietary software used by the device manufacturer for the display, speakers, headphone jack, modem,etc) are also required. If your device is supported by lineage os then you should be able to check your device's dependencies. But the problem is motorola e 13 is not supported by either halium or lineage os, which means you will have to port from scratch. Also what is the halium version you are using?

arunkumar413 commented 4 months ago

@jaswch moto e13 is based on sprd devices. They gave the below kernel sprd link. It contains some drivers but not sure if they specifically belong to the moto e 13

https://github.com/MotorolaMobilityLLC/kernel-sprd/tree/android-13-release-tla33/drivers

arunkumar413 commented 4 months ago

@jaswch I just checked the muppets repositories. Vendor blobs of moto e 13 are not available.

https://github.com/orgs/TheMuppets/repositories

jaswch commented 4 months ago

@arunkumar413 Search google for moto e 13 vendor blobs. If there are no vendor blobs out there, extract them from the oem rom file by using this guide https://baalajimaestro.me/posts/extract-vendor-2/

arunkumar413 commented 4 months ago

@jaswch latest versions of android with Generic Kernel Image (GKI) come with a separate partition for vendor blobs. Can't we just use that partition instead of extracting the blobs?