UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Porting Xiaomi Mi Mix (Lithium) building vendor image (Standalone kernel method) Halium 9.0

    Scheduled Pinned Locked Moved Porting
    1 Posts 1 Posters 435 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • T Offline
        Timolegnome
        last edited by

        Hello everyone,

        A couple of weeks ago i decided to try and build Ubuntu Touch for my Mi Mix. I'm new to that kind of things so i might have made a couple of rookie mistakes/
        Everything has been going fairly well but i hit a wall and i have no clue of to continue from here.

        I tried builidng the image with the standalone kernel method and using the Xiaomi Sagit (Mi 6) repo (instead of Violet) as a base (Why ? because Sagit uses a SD 820 which is closer to the 821 used in the Lithium, and i couldn't find 821 ports on gitlab). Using the guide provided I managed to build and flash the boot.img and the system.img.

        I modified the deviceinfo file but i might have the wrong flash offset but i don't know how to check whether they are correct or not.

        When i tried bulding the vendor image as explained the in the guide step 5. fails (source build/envsetup.sh && breakfast violet, but i replace violet with lithium) with the following error message (only the end of the script output)

        Device lithium not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
        Found repository: android_device_xiaomi_lithium
        Default revision: lineage-16.0
        Checking branch info
        Checking if device/xiaomi/lithium is fetched from android_device_xiaomi_lithium
        LineageOS/android_device_xiaomi_lithium already fetched to device/xiaomi/lithium
        Syncing repository to retrieve project.
        remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
        Fetching: 100% (1/1), done in 0.522s
        Garbage collecting: 100% (1/1), done in 0.004s
        repo sync has finished successfully.
        Repository synced!
        Looking for dependencies in device/xiaomi/lithium
        Looking for dependencies in device/xiaomi/msm8996-common
        Looking for dependencies in kernel/xiaomi/msm8996
        kernel/xiaomi/msm8996 has no additional dependencies.
        Looking for dependencies in packages/resources/devicesettings
        packages/resources/devicesettings has no additional dependencies.
        Done
        build/target/product/product_launched_with_m.mk:2: error: _nic.PRODUCTS.[[device/xiaomi/lithium/lineage_lithium.mk]]: "vendor/xiaomi/msm8996-common/msm8996-common-vendor.mk" does not exist.
        13:58:25 dumpvars failed with: exit status 1
        build/target/product/product_launched_with_m.mk:2: error: _nic.PRODUCTS.[[device/xiaomi/lithium/lineage_lithium.mk]]: "vendor/xiaomi/msm8996-common/msm8996-common-vendor.mk" does not exist.
        13:58:26 dumpvars failed with: exit status 1
        
        ** Don't have a product spec for: 'lineage_lithium'
        ** Do you have the right repo manifest?
        

        So my questions are the following :

        • Can i even use the standalone kernel build method here ?
        • Considering the error message, is there a file i need to edit ?
        • How can i build/obtain the vendor.img ?

        Any help would be greatly appreciated.

        As a side note, my device was running the latest versions of Lineage 18.1, i just flashed the boot.img and system.img over that and when i tried to boot without flashing the vendor.img it gives me a "failed to boot" (as i should expect).

        1 Reply Last reply Reply Quote 0
        • First post
          Last post