UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. Timolegnome
    3. Posts
    T
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 1
    • Groups 0

    Posts

    Recent Best Controversial
    • Porting Xiaomi Mi Mix (Lithium) building vendor image (Standalone kernel method) Halium 9.0

      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).

      posted in Porting
      T
      Timolegnome