• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [Virgin Mobile/Sprint] [Dev] Porting Stuff.

curbthepain

Well-Known Member
So guys I dont know if many of you are way into dev work like muah but I searched around on the net for a bit and found a phone with damn near the same specs processor and gpu wise. Just for noting the HTC One Mini has the same processor just faster and the exact same gpu. Just putting this out there for future reference for the devs. If i find more similar phones ill put them in this post below.

1 : HTC One Mini (cpu,gpu,ram)

2 : ZTE Awe N800 (cpu,gpu,ram,screen,ppi)

The Awe is strikingly the same as the F3 it features the same dual core krait 1.2 ghz, the same adreno 305, the same amount of ram, similar mount points, and a very similar cameras. The only mild difference is the video recording resolution, the radio, and the system chip is different one is a Qualcomm Snapdragon 400 and the other is a S4 Pro. Also the Awe has cm11 ported, Pac Rom, and a few others.
 
Yeah, I saw that too. The Htc one mini also has an official cm port as well. I tried porting it and ran into a bunch of errors. I've since started from the ground up trying to compile a working cm rom. So far i've gotten the recovery to work. Nothing that boots yet. I'm starting to mess with 2nd-init. I had little success with that in the past getting it to the boot animation. Obviously I don't know what i'm doing but i'm trying. I'm taking baby steps as i've learned to crawl.

Thanks for posting :)
 
Yeah, I saw that too. The Htc one mini also has an official cm port as well. I tried porting it and ran into a bunch of errors. I've since started from the ground up trying to compile a working cm rom. So far i've gotten the recovery to work. Nothing that boots yet. I'm starting to mess with 2nd-init. I had little success with that in the past getting it to the boot animation. Obviously I don't know what i'm doing but i'm trying. I'm taking baby steps as i've learned to crawl.

Thanks for posting :)

Well try porting from the zte awe. It has an unofficial port for cm11, PAC ROM, aokp. Etc. If you need help porting from the awe or even building it from the ground up contact phenomx4 he built cm11 from the ground up for the awe which had our specs.
 
I'll check into it. Strangely enough i'm still trying to port from the LG Motion. I've had the most success with it. It's giving me a better idea of what proprietary blobs to pull; How the device tree should be laid out, and what dependencies I need. Also I know where to find the ones who worked on it.

Is there anyone else trying to build cm aosp, aokp, etc..? I know of one other person but I forgot their name. I cleaned up my inbox and deleted their message by mistake.

I have a good list of the needed proprietary blobs now and I wanted let you know what they are.

As you can see, i've been busy:
https://github.com/xclusive36/android_device_lge_fx3
 
I'll check into it. Strangely enough i'm still trying to port from the LG Motion. I've had the most success with it. It's giving me a better idea of what proprietary blobs to pull; How the device tree should be laid out, and what dependencies I need. Also I know where to find the ones who worked on it.

Is there anyone else trying to build cm aosp, aokp, etc..? I know of one other person but I forgot their name. I cleaned up my inbox and deleted their message by mistake.

I have a good list of the needed proprietary blobs now and I wanted let you know what they are.

As you can see, i've been busy:
https://github.com/xclusive36/android_device_lge_fx3

I'm trying to get phenomx4 to get this phone and help out but I was also considering it.
 
After a few tweaks, i'm able to boot cm to the cm boot animation. Unfortunately my computer doesn't recognize the device so I can't do any diagnostic on it. The boot animation is very sluggish as well.

This is with just the proprietary binaries I added to it. The last time I got to this step it was with me coping over stock folders. I didn't need to do it this time. I'd say progress has been made. I wish it would just boot already! :)

I have not focused on the 2nd-init ramdisk files at all yet. It still uses the lg motion 2nd-init ramdisk files. I'll do that next.

There's got to be a reason why the boot animation is very sluggish. I geared it towards our phone
 
Im about to try to use his media-legacy tree for testing

Hope you can get something going. I came from the LG Optimus Elite running Phoenom's AOKP. There was only one slight bug with that build - the voice mail would not notify any new alls. Other than that, very, very solid ROM.

------------
 
To get you guys up to speed, masterdbugger pointed out to me why I wasn't getting access to adb during boot animation.

He said it's bootlooping at media.player and media.audio_flinger. Also that it couldn't find libstagefright.so. Also adreno drivers aren't working.

I added all of the needed media, and graphic lines but I lost the boot animation. Long story short, I'm going back to the drawing board with the BoardConfig.mk file. Each time I compile I can't get to the boot animation. I'm positive I have everything else in line with the exception of maybe the 2nd-init files and of course the BoardConfig.mk file. I'm going to do a compile with it reset back to the default 'where I achieved boot animation last' settings and begin again.

I'm pretty sure i'm on the last file. I'm going to take it one step at a time and figure out where its breaking and fix it.

Sorry guys, I had to rant
 
To get you guys up to speed, masterdbugger pointed out to me why I wasn't getting access to adb during boot animation.

He said it's bootlooping at media.player and media.audio_flinger. Also that it couldn't find libstagefright.so. Also adreno drivers aren't working.

I added all of the needed media, and graphic lines but I lost the boot animation. Long story short, I'm going back to the drawing board with the BoardConfig.mk file. Each time I compile I can't get to the boot animation. I'm positive I have everything else in line with the exception of maybe the 2nd-init files and of course the BoardConfig.mk file. I'm going to do a compile with it reset back to the default 'where I achieved boot animation last' settings and begin again.

I'm pretty sure i'm on the last file. I'm going to take it one step at a time and figure out where its breaking and fix it.

Sorry guys, I had to rant


That's really great that's you're not giving up. I hope you do get one that boots up without problems
 
No boot animation. GRRRR I need to track down the issue.

That's really great that's you're not giving up. I hope you do get one that boots up without problems
Me too :) Once I get back on track i'll let you guys know.
 
I'll try and help you out...

You can't just copy libs from the stock phone to a ported Rom usually unless they are based on the exact Aosp version.

Also most later versions of aosp require additional kernel mods so if you don't have these you need to make sure you are using source or defines that match the later aosp with the earlier kernel.

Imo your best bet is to always focus on getting the adb to work then go.from there- with a source based Hal.

I am hoping to publish my cm this winter when I.have time. Problem is that it can.only be 10.1 on my Mac builds I think. So not sure it is worth it.
 
I'll try and help you out...

You can't just copy libs from the stock phone to a ported Rom usually unless they are based on the exact Aosp version.

Also most later versions of aosp require additional kernel mods so if you don't have these you need to make sure you are using source or defines that match the later aosp with the earlier kernel.

Imo your best bet is to always focus on getting the adb to work then go.from there- with a source based Hal.

I am hoping to publish my cm this winter when I.have time. Problem is that it can.only be 10.1 on my Mac builds I think. So not sure it is worth it.

At this point im trying to get adb. I am using 10.1
 
I'll try and help you out...

You can't just copy libs from the stock phone to a ported Rom usually unless they are based on the exact Aosp version.

Also most later versions of aosp require additional kernel mods so if you don't have these you need to make sure you are using source or defines that match the later aosp with the earlier kernel.

Imo your best bet is to always focus on getting the adb to work then go.from there- with a source based Hal.

I am hoping to publish my cm this winter when I.have time. Problem is that it can.only be 10.1 on my Mac builds I think. So not sure it is worth it.

Like I said, i'm trying to use the cm 10.1 repo. Based off of what you said it won't work because the libs are the wrong api number. I would need to compile cm 10.

Do you think i'm barking up the wrong tree? I was able to get it to the boot animation. Once I get there again, I should be able to get adb and debug as I go. Based off of what I understand now (thanks masterdebugger) there would only be specific things I would need to add to get it to boot.

I understand you don't want to release what you have, but can you look at my device tree and point out where i'm screwing up? Where i'm excelling, etc?
 
Okay, i'm finally gotten it back to the boot animation and able to pull a logcat. Unfortunately I had to revert back a little ways.

Here's the logcat: link

Keep in mind that it doesn't have all of the needed things added at this stage.

Errors:
SurfaceFlinger( 247): hwcomposer module not found

SurfaceTexture( 247): [BootAnimation] syncForReleaseLocked: error creating EGL fence: 0x3004

The egl.conf is there but hasn't been added at this stage. Keep in mind that this is a revert. Also isn't added at this stage is all of the qcom elements. Graphic, audio, media, adreno etc.. Bluetooth is set to default and not qcom at this stage as well.

I've updated the device tree to reflect the reversion. Now that I have a base again, I can resume work on it.
 
Okay, i'm finally gotten it back to the boot animation and able to pull a logcat. Unfortunately I had to revert back a little ways.

Here's the logcat: link

Keep in mind that it doesn't have all of the needed things added at this stage.

Errors:
SurfaceFlinger( 247): hwcomposer module not found

SurfaceTexture( 247): [BootAnimation] syncForReleaseLocked: error creating EGL fence: 0x3004

The egl.conf is there but hasn't been added at this stage. Keep in mind that this is a revert. Also isn't added at this stage is all of the qcom elements. Graphic, audio, media, adreno etc.. Bluetooth is set to default and not qcom at this stage as well.

I've updated the device tree to reflect the reversion. Now that I have a base again, I can resume work on it.
Mine it a little messed up right now because I tried to go to cm11 only to realize my Mac won't build it readily.

Like I said, hope to work on it this winter when golf season ends.

In the meantime, once you have and working, you need video. Find a device/source using same gpu and only make changes related to video - so the and does not get messed up.

When you see fencing errors it is almost always because you are compiling with device options that do not match the kernel capabilities.
 
Yay!, I made a little more progress. I've finally figured out why I was having hardware issues. Mainly Adreno.

The graphics processor was not initializing at all. It was defaulting to a slow egl conf and defaulting to a slow boot animation that went no where. When I say no where, I mean nothing loaded. No graphic files, audio, nothing The log file repeated not long after that.

It still doesn't boot but it it loads allot further. Apparently I didn't copy over enough pre-built files. (proprietary blobs) My device tree hasn't been updated to reflect the changes yet. I need to track down which files i'm missing. When I figure out which ones I need i'll post it.

Here's the newer logcat: Here
 
Here's another logcat: here

I'm starting to see an issue:
E/dalvikvm( 307): DexOpt: build rev does not match VM: 27 vs 28

I'm running into a dalvik java version issue. I'm almost as far as I can get with it. It's pretty much at a point where some files are going to be need to be ported from other roms. If I copy the full stock lib folder, I don't run into this issue but the framework files still fail. If I only copy over the libdvm.so from stock, it doesn't get very far.

I'm running out of thoughts. I'm going to need a little help. I still have one more thought. Pull the libdvm.so from the motion cm 10.1 rom.
 
Here's another logcat: here

I'm starting to see an issue:


I'm running into a dalvik java version issue. I'm almost as far as I can get with it. It's pretty much at a point where some files are going to be need to be ported from other roms. If I copy the full stock lib folder, I don't run into this issue but the framework files still fail. If I only copy over the libdvm.so from stock, it doesn't get very far.

I'm running out of thoughts. I'm going to need a little help. I still have one more thought. Pull the libdvm.so from the motion cm 10.1 rom.

You should not be copying blobs that are not low level - and usually proprietary - hardware drivers. Things like the dalvik jvm should be built from the source.

You can probably take the code aurora aosp builds for the same chipset and get fairly close.

I would think think the only tough devices are the camera and the NFC chip. All of the other devices are fairly standard.
 
Back
Top Bottom