FORUMS
Remove All Ads from XDA

[WIP] Building a custom ROM for the LeapFrog Epic (CM/LOS)

750 posts
Thanks Meter: 115
 
Post Reply Email Thread
21st April 2019, 07:46 AM |#11  
blakegriplingph's Avatar
OP Senior Member
Thanks Meter: 115
 
Donate to Me
More
Quote:
Originally Posted by Rortiz2

Amazon Fire tablets came with lollipop 5.1.
Have you tried to port the Rom instead of compiling? It is easier :/ . If you send me the stock bootimg and the stock system.img I can port you some ROM.

You sure you're able to port a ROM built for newer (prebuilt) kernel on a 3.4.67 device? The only sticking point so far with the LeapFrog CM12 port is hwcomposer/surfaceflinger refusing to cooperate. As of late I recompiled the ROM with no blobs kanged off other devices with the following flags added to BoardConfig:

Code:
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := true
BOARD_EGL_WORKAROUND_BUG_10194508 := true
...and ran logcat on it. Still the same sw_sync issues though it apparently has something to do with SELinux denying those requests as what the attached log seems to imply. It might be a red herring though, and I've read that @pix106 also ran into similar issues before with him trying a myriad of build flags in an attempt to fix this. Any ideas on what to use to get rid of this once and for all and finally get the damn GUI to boot? I'm thinking about using "BOARD_NEEDS_OLD_HWC_API := true" given how the blobs were for KitKat but what do you guys think? If only there were developers here who just happen to own an Epic lol.
Attached Files
File Type: zip logcat_UYT2_11.zip - [Click for QR Code] (38.0 KB, 2 views)
 
 
22nd April 2019, 08:54 AM |#12  
blakegriplingph's Avatar
OP Senior Member
Thanks Meter: 115
 
Donate to Me
More
...and I got a tiny bit further with the SELinux whitelist applied, though it's still the same "stuck on LeapFrog logo" moment with no sign of the boot animation springing to life. The backtrace mentions something along the lines of "buffer" in the functions called. Could it be that "BOARD_EGL_NEEDS_LEGACY_FB := true" is at fault here?

Also, there's an error in the log saying:
Code:
File size of 0 bytes not large enough to contain ELF header of 52 bytes: '/data/dalvik-cache/arm/[email protected]@boot.oat'
Attached Files
File Type: zip logcat_UYT2_13.zip - [Click for QR Code] (23.7 KB, 2 views)
22nd April 2019, 12:21 PM |#13  
Senior Member
Thanks Meter: 506
 
More
Quote:
Originally Posted by blakegriplingph

...and I got a tiny bit further with the SELinux whitelist applied, though it's still the same "stuck on LeapFrog logo" moment with no sign of the boot animation springing to life. The backtrace mentions something along the lines of "buffer" in the functions called. Could it be that "BOARD_EGL_NEEDS_LEGACY_FB := true" is at fault here?

Also, there's an error in the log saying:

I'd first check permission issues (/dev/stpwmt : iirc I had a few permission errors at early boot, but quick after it should be working fine), and nvram.
The Following User Says Thank You to pix106 For This Useful Post: [ View ] Gift pix106 Ad-Free
22nd April 2019, 12:49 PM |#14  
blakegriplingph's Avatar
OP Senior Member
Thanks Meter: 115
 
Donate to Me
More
Quote:
Originally Posted by pix106

I'd first check permission issues (/dev/stpwmt : iirc I had a few permission errors at early boot, but quick after it should be working fine), and nvram.

Care to explain even further? I'll have to check things on my other Epic to see if I got the permissions right (I have three Epics actually, one for development, one which I keep as stock for reference purposes and another as a parts unit).

Also, any ideas on why ART appears to be failing? Permissions issues as well I presume?
23rd April 2019, 10:33 AM |#15  
blakegriplingph's Avatar
OP Senior Member
Thanks Meter: 115
 
Donate to Me
More
ART does seem to work, but for some reason /dev/stpwmt isn't being loaded properly despite it being declared on the init files. I can however load it manually through ADB shell. Also, even if I did seem to set the right permissions to the display drivers surfaceflinger crashes for a few times until the crash logs cease to show up, and I then get spammed with the following:

Code:
D/hwcomposer( 2058): [DPY] UEventThread::threadLoop poll return 1
I/hwcomposer( 2058): [DPY] UEventThread::threadLoop recv [email protected]/devices/platform/battery/power_supply/ac
D/hwcomposer( 2058): [DPY] handle_uevents : s = 0xb5ce2138, len = 191
D/hwcomposer( 2058): [DPY] UEventThread::threadLoop poll wait
D/hwcomposer( 2058): [DPY] UEventThread::threadLoop poll return 1
I/hwcomposer( 2058): [DPY] UEventThread::threadLoop recv [email protected]/devices/platform/battery/power_supply/usb
D/hwcomposer( 2058): [DPY] handle_uevents : s = 0xb5ce2138, len = 194
D/hwcomposer( 2058): [DPY] UEventThread::threadLoop poll wait
D/hwcomposer( 2058): [DPY] UEventThread::threadLoop poll return 1
I/hwcomposer( 2058): [DPY] UEventThread::threadLoop recv [email protected]/devices/platform/battery/power_supply/battery
D/hwcomposer( 2058): [DPY] handle_uevents : s = 0xb5ce2138, len = 794
D/hwcomposer( 2058): [DPY] UEventThread::threadLoop poll wait
I think the surfaceflinger crash may have something to do with the permissions being loaded a bit too late. Can anyone look into this?
Attached Files
File Type: zip logcat_UYT2_15.zip - [Click for QR Code] (35.5 KB, 0 views)
24th April 2019, 04:46 PM |#16  
Senior Member
Thanks Meter: 506
 
More
Quote:
Originally Posted by blakegriplingph

Care to explain even further? I'll have to check things on my other Epic to see if I got the permissions right (I have three Epics actually, one for development, one which I keep as stock for reference purposes and another as a parts unit).

Also, any ideas on why ART appears to be failing? Permissions issues as well I presume?

I remember I had issues with this permission too, and maybe had to modify it from init.mt8127, among other permissions. Check my GitHub, check cm-12.1 branch, which was used as base for the CyanogenMod for Lenovo Tab2A710F repository ; you'll find the commits before cm finally booted.
The Following User Says Thank You to pix106 For This Useful Post: [ View ] Gift pix106 Ad-Free
25th April 2019, 02:17 AM |#17  
blakegriplingph's Avatar
OP Senior Member
Thanks Meter: 115
 
Donate to Me
More
Quote:
Originally Posted by pix106

I remember I had issues with this permission too, and maybe had to modify it from init.mt8127, among other permissions. Check my GitHub, check cm-12.1 branch, which was used as base for the CyanogenMod for Lenovo Tab2A710F repository ; you'll find the commits before cm finally booted.

I'll check that one out. Permissions seem to be the thing that's keeping CM from booting up at all lol. If only LeapFrog did a Lollipop update for the Epic (like seriously, KitKat in 2019 wtf?) that would've saved me the trouble of hacking up fixes and whatnot.
26th April 2019, 08:28 AM |#18  
blakegriplingph's Avatar
OP Senior Member
Thanks Meter: 115
 
Donate to Me
More
Strange, I applied your edits to init.mt8127 yet /dev/stpwmt isn't being loaded automatically. And HWC/surfaceflinger still spazzes out with complaints about buffers or something along the lines of it. I don't know if I should just suck it up and throw the towel for now, but I've gone too far into this project that it would be a shame to just let it go.

That being said, is it possible to decompile sepolicy and kang whatever it is in there so I don't have to compile a whole list of things to whitelist? And I really do need people who own a LeapFrog Epic and are also interested in porting CM to this damn thing. It's a shot in the dark but I could use all the help I could muster right now.
Attached Files
File Type: zip logcat_cm12.zip - [Click for QR Code] (84.3 KB, 0 views)
27th April 2019, 02:22 AM |#19  
blakegriplingph's Avatar
OP Senior Member
Thanks Meter: 115
 
Donate to Me
More
Seems like we need to adapt what I saw on this repo as the MediatekHacks.cpp I threw in to fix the missing symbols issue may have accounted for why SurfaceFlinger isn't cooperating.

@pix106 - Did you by any chance use the repo I mentioned above when you built your ROM? I've used the vanilla CM android_frameworks_native repo for one and that may have accounted for why my ROM is spazzing out. Also, I saw a commit by thp1997 (along with a patch of similar intent by @Kirito96) which appears to be a patch/shim set for the MT6572 that seems to tackle the same issue as what I've been experiencing with the Epic. The crash log...

Code:
--------- beginning of crash

F/libc    (  127): Fatal signal 7 (SIGBUS), code 1, fault addr 0xb6400189 in tid 127 (surfaceflinger)
I/DEBUG   (  133): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  133): Build fingerprint: 'LeapFrog/cm_narnia/narnia:5.1.1/LMY49J/ad8cbe2f60:eng/test-keys'
I/DEBUG   (  133): Revision: '0'
I/DEBUG   (  133): ABI: 'arm'
I/DEBUG   (  133): pid: 127, tid: 127, name: surfaceflinger  >>> /system/bin/surfaceflinger <<<
I/DEBUG   (  133): signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xb6400189
I/DEBUG   (  133):     r0 ffffffff  r1 b6400189  r2 00000005  r3 00000000
I/DEBUG   (  133):     r4 b6400189  r5 ffffffff  r6 be827298  r7 b60b30d0
I/DEBUG   (  133):     r8 b6d6dc2c  r9 be826db4  sl 00000000  fp 00000000
I/DEBUG   (  133):     ip b6e02f38  sp be826d60  lr b6e68dbc  pc b6e68dbc  cpsr 80000010
I/DEBUG   (  133): 
I/DEBUG   (  133): backtrace:
I/DEBUG   (  133):     #00 pc 00003dbc  /system/lib/libcutils.so (android_atomic_add+16)
I/DEBUG   (  133):     #01 pc 0000d61f  /system/lib/libutils.so (_ZNK7android7RefBase9decStrongEPKv+10)
I/DEBUG   (  133):     #02 pc 00028f7b  /system/lib/libgui.so (_ZN7android2spINS_13GraphicBufferEEaSERKS2_+22)
I/DEBUG   (  133):     #03 pc 000290af  /system/lib/libgui.so (_ZN7android19BufferQueueConsumer13acquireBufferEPNS_22IGraphicBufferConsumer10BufferItemEx+270)
I/DEBUG   (  133):     #04 pc 0002c411  /system/lib/libgui.so (_ZN7android12ConsumerBase19acquireBufferLockedEPNS_22IGraphicBufferConsumer10BufferItemEx+16)
I/DEBUG   (  133):     #05 pc 00023571  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #06 pc 00023679  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #07 pc 0002849b  /system/lib/libgui.so (_ZN7android11BufferQueue21ProxyConsumerListener16onFrameAvailableERKNS_10BufferItemE+26)
I/DEBUG   (  133):     #08 pc 0002ba2b  /system/lib/libgui.so (_ZN7android19BufferQueueProducer11queueBufferEiRKNS_22IGraphicBufferProducer16QueueBufferInputEPNS1_17QueueBufferOutputE+562)
I/DEBUG   (  133):     #09 pc 00037423  /system/lib/libgui.so (_ZN7android7Surface11queueBufferEP19ANativeWindowBufferi+254)
I/DEBUG   (  133):     #10 pc 00036693  /system/lib/libgui.so (_ZN7android7Surface16hook_queueBufferEP13ANativeWindowP19ANativeWindowBufferi+10)
I/DEBUG   (  133):     #11 pc 0000f720  /system/lib/libMali.so
I/DEBUG   (  133):     #12 pc 00010218  /system/lib/libMali.so
I/DEBUG   (  133):     #13 pc 0005e5d8  /system/lib/libMali.so
I/DEBUG   (  133):     #14 pc 0005d70c  /system/lib/libMali.so
I/DEBUG   (  133):     #15 pc 0005bf58  /system/lib/libMali.so (shim_eglSwapBuffers+64)
I/DEBUG   (  133):     #16 pc 000120d7  /system/lib/libEGL.so (eglSwapBuffers+290)
I/DEBUG   (  133):     #17 pc 0000f541  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #18 pc 0001c187  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #19 pc 0001b367  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #20 pc 0001a6eb  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #21 pc 0001a459  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #22 pc 00011127  /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+410)
I/DEBUG   (  133):     #23 pc 00011219  /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+92)
I/DEBUG   (  133):     #24 pc 00017b95  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #25 pc 0001a04d  /system/lib/libsurfaceflinger.so (_ZN7android14SurfaceFlinger3runEv+8)
I/DEBUG   (  133):     #26 pc 00000b4d  /system/bin/surfaceflinger
I/DEBUG   (  133):     #27 pc 0000ff19  /system/lib/libc.so (__libc_init+44)
I/DEBUG   (  133):     #28 pc 00000c08  /system/bin/surfaceflinger
F/libc    (  261): Fatal signal 7 (SIGBUS), code 1, fault addr 0xffffffff in tid 261 (surfaceflinger)
I/DEBUG   (  133): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
...appears to allude to the ones mentioned in the patch files. Maybe this is the cure we needed, short of using a different HWC which I more or less doubt to be necessary.
Attached Files
File Type: log logcat_UYT2_19.log - [Click for QR Code] (420.9 KB, 0 views)
27th April 2019, 07:35 AM |#20  
Senior Member
Thanks Meter: 506
 
More
Quote:
Originally Posted by blakegriplingph

Seems like we need to adapt what I saw on this repo as the MediatekHacks.cpp I threw in to fix the missing symbols issue may have accounted for why SurfaceFlinger isn't cooperating.

@pix106 - Did you by any chance use the repo I mentioned above when you built your ROM? I've used the vanilla CM android_frameworks_native repo for one and that may have accounted for why my ROM is spazzing out. Also, I saw a commit by thp1997 (along with a patch of similar intent by @Kirito96) which appears to be a patch/shim set for the MT6572 that seems to tackle the same issue as what I've been experiencing with the Epic. The crash log...

Code:
--------- beginning of crash

F/libc    (  127): Fatal signal 7 (SIGBUS), code 1, fault addr 0xb6400189 in tid 127 (surfaceflinger)
I/DEBUG   (  133): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  133): Build fingerprint: 'LeapFrog/cm_narnia/narnia:5.1.1/LMY49J/ad8cbe2f60:eng/test-keys'
I/DEBUG   (  133): Revision: '0'
I/DEBUG   (  133): ABI: 'arm'
I/DEBUG   (  133): pid: 127, tid: 127, name: surfaceflinger  >>> /system/bin/surfaceflinger <<<
I/DEBUG   (  133): signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xb6400189
I/DEBUG   (  133):     r0 ffffffff  r1 b6400189  r2 00000005  r3 00000000
I/DEBUG   (  133):     r4 b6400189  r5 ffffffff  r6 be827298  r7 b60b30d0
I/DEBUG   (  133):     r8 b6d6dc2c  r9 be826db4  sl 00000000  fp 00000000
I/DEBUG   (  133):     ip b6e02f38  sp be826d60  lr b6e68dbc  pc b6e68dbc  cpsr 80000010
I/DEBUG   (  133): 
I/DEBUG   (  133): backtrace:
I/DEBUG   (  133):     #00 pc 00003dbc  /system/lib/libcutils.so (android_atomic_add+16)
I/DEBUG   (  133):     #01 pc 0000d61f  /system/lib/libutils.so (_ZNK7android7RefBase9decStrongEPKv+10)
I/DEBUG   (  133):     #02 pc 00028f7b  /system/lib/libgui.so (_ZN7android2spINS_13GraphicBufferEEaSERKS2_+22)
I/DEBUG   (  133):     #03 pc 000290af  /system/lib/libgui.so (_ZN7android19BufferQueueConsumer13acquireBufferEPNS_22IGraphicBufferConsumer10BufferItemEx+270)
I/DEBUG   (  133):     #04 pc 0002c411  /system/lib/libgui.so (_ZN7android12ConsumerBase19acquireBufferLockedEPNS_22IGraphicBufferConsumer10BufferItemEx+16)
I/DEBUG   (  133):     #05 pc 00023571  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #06 pc 00023679  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #07 pc 0002849b  /system/lib/libgui.so (_ZN7android11BufferQueue21ProxyConsumerListener16onFrameAvailableERKNS_10BufferItemE+26)
I/DEBUG   (  133):     #08 pc 0002ba2b  /system/lib/libgui.so (_ZN7android19BufferQueueProducer11queueBufferEiRKNS_22IGraphicBufferProducer16QueueBufferInputEPNS1_17QueueBufferOutputE+562)
I/DEBUG   (  133):     #09 pc 00037423  /system/lib/libgui.so (_ZN7android7Surface11queueBufferEP19ANativeWindowBufferi+254)
I/DEBUG   (  133):     #10 pc 00036693  /system/lib/libgui.so (_ZN7android7Surface16hook_queueBufferEP13ANativeWindowP19ANativeWindowBufferi+10)
I/DEBUG   (  133):     #11 pc 0000f720  /system/lib/libMali.so
I/DEBUG   (  133):     #12 pc 00010218  /system/lib/libMali.so
I/DEBUG   (  133):     #13 pc 0005e5d8  /system/lib/libMali.so
I/DEBUG   (  133):     #14 pc 0005d70c  /system/lib/libMali.so
I/DEBUG   (  133):     #15 pc 0005bf58  /system/lib/libMali.so (shim_eglSwapBuffers+64)
I/DEBUG   (  133):     #16 pc 000120d7  /system/lib/libEGL.so (eglSwapBuffers+290)
I/DEBUG   (  133):     #17 pc 0000f541  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #18 pc 0001c187  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #19 pc 0001b367  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #20 pc 0001a6eb  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #21 pc 0001a459  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #22 pc 00011127  /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+410)
I/DEBUG   (  133):     #23 pc 00011219  /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+92)
I/DEBUG   (  133):     #24 pc 00017b95  /system/lib/libsurfaceflinger.so
I/DEBUG   (  133):     #25 pc 0001a04d  /system/lib/libsurfaceflinger.so (_ZN7android14SurfaceFlinger3runEv+8)
I/DEBUG   (  133):     #26 pc 00000b4d  /system/bin/surfaceflinger
I/DEBUG   (  133):     #27 pc 0000ff19  /system/lib/libc.so (__libc_init+44)
I/DEBUG   (  133):     #28 pc 00000c08  /system/bin/surfaceflinger
F/libc    (  261): Fatal signal 7 (SIGBUS), code 1, fault addr 0xffffffff in tid 261 (surfaceflinger)
I/DEBUG   (  133): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
...appears to allude to the ones mentioned in the patch files. Maybe this is the cure we needed, short of using a different HWC which I more or less doubt to be necessary.

i did not use this repo.
i could build a bootable and usable cm12.1 without any patch.
thp1997 joined afterwards and added patched repos, but they were not strictly needed : they allowed WPS wifi pairing, headset icon, usb mode selection when usb is not plugged.
27th April 2019, 07:53 AM |#21  
blakegriplingph's Avatar
OP Senior Member
Thanks Meter: 115
 
Donate to Me
More
Quote:
Originally Posted by pix106

i did not use this repo.
i could build a bootable and usable cm12.1 without any patch.
thp1997 joined afterwards and added patched repos, but they were not strictly needed : they allowed WPS wifi pairing, headset icon, usb mode selection when usb is not plugged.

Hmm, maybe it's due to the blobs I have that called for those functions. I know I mentioned this earlier, but I'd probably be better off if LeapFrog somehow issued a Lollipop update with newer blobs and such -- it's 2019 and yet the latest patch they issued was only a minor update to the Kitkat ROM they're still using. :/
Post Reply Subscribe to Thread

Tags
leapfrog, lineageos, mediatek, mt8127, mtk

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes