MiCode / MiCode/kernel_devicetree

Device Tree for Picasso seems broken

Open
#2 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
136
Forks
65
PR merge metrics
No merged PRs in 30d

Description

I don't know if it's my mess-up, but I was not able to build the exact same dtb image as found in the official boot.img. My built dtb image is 4.4M when concatenated while the official one is only ~800K, and most importantly, when packaged into boot.img, the one built by me does not work and fails straight into bootloader. In console-ramoops I can't even see kernel messages during such a crash, which probably means the kernel isn't even booted enough to output anything to ramoops. I tried to unpack the concatenated dtb images and compare them one-by-one, but it seemed to me that even the same dtb in the two images do not really match up and differs quite significantly.

In my current effort to port LineageOS 17.1 to this device, I resorted to using OSS kernel + prebuilt DTB / DTBO for now. I hope that this can be sorted out soon as some of my kernel changes had to be dirty hacks without functional OSS DTB / DTBO.

Of course, since I'm not aware of anyone else that is currently trying to build kernel + dt for this device, it could be totally my fault instead of Xiaomi's. But for now since I do not know, I'm keeping this open until someone fixed it or could help figure out why mine does not work. My forked kernel source code (with dt included) is at https://github.com/PeterCxy/android_kernel_xiaomi_sm7250

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the forked kernel source and device-tree files linked in the issue, then compare its concatenated DTB output with the official boot.img and the prebuilt DTB/DTBO. Check the packaging differences and ramoops output during boot. Done means identifying the cause and producing a DTB/DTBO that packages into boot.img and boots Picasso successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, linux
Domain
embedded-iot, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.