Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Porting halium and ubuntu touch to motorola e 13 #314

Open
16 tasks
arunkumar413 opened this issue Feb 3, 2024 · 9 comments
Open
16 tasks

Porting halium and ubuntu touch to motorola e 13 #314

arunkumar413 opened this issue Feb 3, 2024 · 9 comments

Comments

@arunkumar413
Copy link

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:

  • Create manifest
  • Boot image and system image build successfully
  • Device boots into rootfs, usb: Manufacturer: GNU/Linux Device appears in dmesg on host.
  • LXC container starts and does not crash
  • libhybris tests
    • test_gps
    • test_hwcomposer
    • test_lights
    • test_vibrator
    • test_wifi
    • test_sensors
    • test_audio
    • test_camera
    • test_input
    • test_nfc
    • test_recorder
@arunkumar413
Copy link
Author

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
Copy link

jaswch commented Feb 20, 2024

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
Copy link
Author

@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
Copy link

jaswch commented Feb 21, 2024

@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
Copy link
Author

@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
Copy link
Author

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

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

@jaswch
Copy link

jaswch commented Feb 25, 2024

@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
Copy link
Author

@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?

@jaswch
Copy link

jaswch commented Sep 7, 2024

We can't use them as to install Ubuntu Touch we need to flash it using fastboot mode, Ubuntu Touch will overwrite the partition for vendor blobs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants