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