[REQUEST] add support for Lenovo Z5 Pro GT (lenovo-heart)
Hi. Some resources before I explain the situation: LineageOS kernel source tree: https://github.com/LineageOS/android_kernel_lenovo_sm8150/ deviceinfo dump of working device-lenovo-heart:
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="Lenovo Z5 Pro GT"
deviceinfo_manufacturer="Lenovo"
deviceinfo_codename="lenovo-heart"
deviceinfo_year="2019"
deviceinfo_dtb="sm8150-lenovo-heart"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_chassis="handset"
deviceinfo_external_storage="false"
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline_append="androidboot.boot_devices=soc/1d84000.ufshc androidboot.hardware=qcom androidboot.memcg=1 androidboot.usbcontroller=a600000.dwc3 earlycon=msm_geni_serial,0xa90000 loop.max_part=7 service_locator.enable=1 swiotlb=2048 video=vfb:640x400,bpp=32,memsize=3072000 androidboot.super_partition=system"
deviceinfo_generate_bootimg="true"
deviceinfo_flash_pagesize="4096"
deviceinfo_header_version="1"
deviceinfo_flash_offset_base="0x00000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00000000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_fastboot_partition_kernel="boot"
deviceinfo_flash_fastboot_partition_rootfs="userdata"
deviceinfo_flash_fastboot_partition_dtbo="dtbo"
#deviceinfo_bootimg_qcdt=true
#deviceinfo_bootimg_qcdt_type=qcom
deviceinfo_rootfs_image_sector_size=4096
deviceinfo_partition_type=gpt
deviceinfo_no_framebuffer=true
What i did manage to do is this:
- Clone whole LineageOS tree, do repo sync, set up everything for lenovo heart, with proprietary blobs set up.
- Modify kernel config to be more postmarketOS friendly.
- Compile kernel + dtbo image
- Thru some scripting, extract revelant parts of kernel into linux-lenovo-heart/, set up device-lenovo-heart, APKBUILDs and other files.
I cannot for the life of me make the kernel compile via standard postmarketos environment without a slew of issues. LineageOS toolset built kernel: the device does boot, i am able to ssh into it via usb.
I really tried to make it work and tried from various angles. I tried modifying qcacld3 driver in that tree to fake into using non-android firmware loading, construct wlan max into bin file, various places for firmware placement,wlan is in limbo: doas (lukas@lenovo-heart) password: [ 0.000000] OF: reserved mem: initialized node pil_wlan_fw_region, compatible id removed-dma-pool [ 1.405837] iommu: Adding device soc:ipa_smmu_wlan to group 4 [ 3.121672] wlan_hdd_state wlan major(493) initialized lenovo-heart:~$
I have the device and it is unlocked, but screen is not working. I wanted to make it into headless server that would run docker containers. Unfortunately, I'm stuck.
I'm not sure if I am asking for too much, but I would love to make it work somehow. Preferrably, via this kernel tree.
Are you open to requests to support more devices?
I could definitely help, give feedback of what works for it, even if its quite limited because of cracked screen.