TeamWin / Team-Win-Recovery-Project

Core recovery files for the Team Win Recovery Project (T.W.R.P) - this is not up to date, please see https://github.com/TeamWin/android_bootable_recovery/
http://twrp.me
1.95k stars 741 forks source link

Output filesize too big after compiling. #1636

Closed sounddrill31 closed 1 year ago

sounddrill31 commented 1 year ago

Device codename: Micromax A109 TWRP version: Explicitly Tested: TWRP from Minimal Manifests(AOSP v11) Device tree branch: https://github.com/sounddrill31/android_device_micromax_a109/tree/twrpdtgentwrp

SHRP's Manifests(SHRP Omni v3-10.0) Device tree branch: https://github.com/sounddrill31/android_device_micromax_a109

These are the lowest versions in their respective branches that I could reliably compile, I will attempt Omni android 9 TWRP soon enough, if it helps(since A117 is built against that.)

WHAT STEPS WILL REPRODUCE THE PROBLEM?

After compiling, It gives an error that bootimg or the recovery is too big. This can be bypassed by loading a fake value much higher than the device can actually handle(just for trying to get a compile)

WHAT IS THE EXPECTED RESULT?

It's small enough to flash reliably. This does not happen.

WHAT HAPPENS INSTEAD?

Error message when compiling(or being unable to flash if we spoof values)

ADDITIONAL INFORMATION

I recently ported the official TWRP version of A117(maintainer-less) to this device. The official version turns out to be, as expected, 6-10mb(8.4 for unmodified file from site, 10.1 for port).

When I attempt compiling A117's device trees(obtained from this same organization/account's repos), I see that the same issue occurs(the size of the recovery img is still massive))(minimal omni 9). Both use a prebuilt kernel.

/tmp/recovery.log: dmesg: error.log

The original device tree is from twrpdtgen and the compilation is being done on gitpod.

bigbiff commented 1 year ago

Have you tried excluding packages with the TW_NO board variables? grep the source to find examples.

sounddrill31 commented 1 year ago

Sorry for the later response. I tried porting the custombootimg.mk, but it's still too big. This very same problem occurs when compiling the A117, whose device tree is officially supported, but is maintainer-less.

On that note, how do I try this? This is my first step to compiling android related, and I'm not familiar with how source operates. I have everything set up, just let me know how to do this.

error: /workspace/platform_manifest_twrp_omni/out/target/product/A109/boot.img too large (6760448 > 6311936)

error: /workspace/platform_manifest_twrp_omni/out/target/product/A109/recovery.img too large (17534976 > 16777216)

Repo: TWRP minimal omni 9.

I have noticed that the TWRP from downloads for A117 doesn't have most of the files I see in the one for my device. Are you referring to that somehow?

sounddrill31 commented 1 year ago

Have you tried excluding packages with the TW_NO board variables? grep the source to find examples.

It worked! The reason it didn't work in the past is that the target folder was cluttered up for some reason. Deleting it and running the command after excluding packages using include false, exclude, and TW_NO flags did the trick!