sediROM for LG Optimus F3Q - Custom ROM (codenames: fx3q, d520)
This is about building a custom ROM like Cyanogenmod or AOSP working on the LG Optimus F3Q.
Introduction
First of all: At the moment there is no CM or AOSP based ROM available for the F3Q. Not yet.
That said it means I try to port CM (or build pure AOSP) to the F3Q and this is this thread about.
Some words about me and what I do:
I do Android ROM development since June 2014 mainly doing things based on stock.
Before the F3Q I never had to do with porting CM or AOSP to a brand new (no not such "new" anymore) device before.
New means "no file device tree" etc available. So I dive into porting months ago and still learning every day new things here.
Porting is nothing you can learn in a week or so The main problem with porting is that there is not much you can read or
where you can get many help for. The guides out there are very generic and to be honest the best would be having a pro on your site
which guides you through all the problems which WILL occur when porting.
Before starting I never heard about "loki", doesn't know how TWRP gets compiled or created an Android kernel with or without CM
automatism. In the meantime I compiled a working TWRP version, having a kernel in place which allows to boot unsigned system
images and many more. The only "little" thing left is to get CM ready.. Nevertheless I have 2 things which helped me a lot over
the years: patience and "never-give-up".
The state:
If you ever tried to compile Android or CM by your own you know that you need a valid file device tree (in this case "device/lge/fx3q/")
which contains all the stuff which describes the hardware, the things to do, proprietary files you cannot compile because their sources
are kept by LG and so on. Building that from scratch is a pain in the a.. so you need to find another device whose hardware is as much
the same as yours. In this case this means LG Optimus F6 which has the same processor etc. The great thing is that there are people
out there who had build a working device tree for the F6 which means it should be possible to have the same for the F3Q!
The problem is that before I used the DT from hroark and fixed several build errors there and well now I use the very much more newer
one from dm47021 and this means: adapt everything again, fixing build errors again..
Even when there is such a valid base available from a device with same specs this does not means it would simply work when copying
it over.
I need to adapt nevertheless many things to get the sources at least compiled! and then the question is what works and what not.
This is where we are atm: Fixing compilation errors (fix 1 and you get 2 new) and then we will see..
For updates about the state scroll down to the "current state" topic.
Here what we achieved so far :
Root:
Saferoot: http://www.andromods.com/root-unlock/d520-one-click-rooted-tmobile-lg-optimus-f3q.html (Original: http://forum.xda-developers.com/showthread.php?t=2565758)
Recovery:
CWM (I cannot recommend that CWM version atm! Because it was build with not a full valid device tree and is missing features TWRP has included!): https://play.google.com/store/apps/details?id=com.pressy4pie.oudhs.manager
TWRP (highly recommended!): http://forum.xda-developers.com/showthread.php?t=2867339
Kernel:
sediKERNEL thread
ROM related:
AROMA installer for customized ROM installation
Stock based "hLe Storm ROM" by @joel.maxuel: [ROM][STOCK][JB 4.1.2] LG Optimus F3Q / D520
Guides & Discussions:
General talk: http://forum.xda-developers.com/showthread.php?t=2650840
Revert to STOCK again: http://forum.xda-developers.com/showpost.php?p=54667480&postcount=181
If you want to help let me know and I provide you the sources and whatever else needed.
Current state (as of 2015-04-30):
Spent time = about 244 hours... any "Thanks" click still HIGHLy motivating..
Done:
Lokifying (without that we were absolutely L-O-S-T!!! BIG thx @djrbliss) process is done automatically by my self created build-script (took me some time but was it worth)
Lokifying means: due to a hack by @djrbliss (click here and click at his THANKS button!!) we can trick the locked bootloader to boot whatever we want!
boot a modified compiled kernel with the stock ROM / or hLe stock ROM
custom 3.4.0 kernel with kexec(disabled atm), xattr, selinux support and much more based on the stock kernel sources (sediKERNEL thread)
the ability to boot unsigned ROM's provided by sediKERNEL
Fully (or mostly) working TWRP version where storages correctly mounted and backup/restore working fine (TWRP thread)
adapt hroark's device tree of the LG optimus F6 to the F3Q (superseeded by dm47021)
adapt DM47021 DT to F3Q and compiling CM KK systemimage/full otapackage (do not expect too much it simply means that I was able to fix all the thousands of compilation errors. which is GREAT but now the debuggin starts)
Rebasing EVERYTHING of the file device tree to the f6mft one by Dm47021. Reason: CM is now available for the F6 which is damn great because we use the same hardware in many cases. I currently rewriting everything from scratch, adding the correct proprietary files etc. Will take a while but hopefully then we get more in the right direction then before.
Build system:
Intel® Core™ i7-3632QM CPU @ 2.20GHz × 8 (Quadcore. Due Hyperthreading 8 threads/CPU's)
8 GB RAM
Ubuntu Server 14.04 - 64 bit, running in a highly optimized VM based on KVM
CM11 compilation time (full cleaned working directory)
real 56m47.417s - up to 80m
user 213m6.612s
sys 20m9.400s
Click to expand...
Click to collapse
Current progress:
Testing and debugging CM KK image
Building a custom kernel without stock initrd (Details on the process here: sediKERNEL thread)
To do:
must-have: Building a custom kernel without stock initrd
must-have: having a working device tree (depends on having an own initrd)
undecided: compiling AOSP JB
undecided: compiling CM JB
Stalled:
compiling CM11 kernel based on the F6 device tree (too many compilation failures)
compiling AOSP Jellybean including the LG sources works (but different issues with booting)
compiling AOSP KitKat including the LG sources fails (doesn't start at all because of several changed vars maybe. Didn't investigate that further cause I focus on kernel now)
compiling CM JellyBean fails with the adapted LG Optimus F6 device tree
MultiRom (discontinued as sediKERNEL can now do all I need):
Multirom TWRP = compiling OK but no screen shown?!
Multirom binary = compiling OK
Multirom trampoline = compiling OK if it works or not? Cannot test it until TWRP
Kexec Kernel = Porting to F3Q (hopefully) finished. compiling OK but it has problems with mounting the correct places (I think. Didnt investigate that further atm)
For testers: ALPHA/BETA testing download area
http://tinyurl.com/q7fwcf3
(password protected - PM me to get access)
For developers: my sources
My current device tree of the fx3q AOSP build can be found here: device_lge_fx3q_aosp (updated from time to time, PM me for an immediate commit)
My current device tree of the fx3q CM11 build can be found here: android_device_lge_fx3q_cm (updated from time to time, PM me for an immediate commit)
My build tools (useful tools I developed for me to speed up build/compile etc): buildtools (updated from time to time, PM me for an immediate commit)
.
XDA:DevDB Information
sediROM for LG Optimus F3Q / D520, ROM for the Android General
Contributors
xdajog, joel.maxuel
Source Code: https://github.com/xdajog/android_device_lge_fx3q_cm
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.1.x
Based On: CyanogenMod
Version Information
Status: Testing
Created 2015-05-19
Last Updated 2015-05-20
Reserved
reserved 1
reserved 1
BUT IN THE MEANTIME YOU COULD USE THIS POST FOR ANOTHER THANKS CLICK
Questions & Answers
Frequently Asked Questions (FAQ)
(in no special order)
Question #1: Is CM or pure AOSP (or similar) for this device available now?
No. Not AFAIK. If you find some please tell me! But afaik I'm the only one working on that port so if you find someone or you want to help by yourself please send me a PM!!!
I currently trying to port CM to this device and as I'm doing that alone and the whole process is very complex this is nothing you can do in 2 weeks or so.
Question #2: When will be CM or pure AOSP or similar available?
When it is ready. Sorry but for this no timeline can be made. I will update the OP from time to time so come back often to check if there are any news.
Question #3: Why are you doing this?
Well .. the main reason is I want to have an absolutely fully localized (German) Android for my wife. Yes it's that simple. There are plenty of apps who can switch the language in many dialogs but all LG ones (like settings, power menu etc) are all still English.
The following may harm you but the F3Q is not a device I would buy for myself. I do not really like it's design, it has more weight and height than my current one (Samsung i927). Ok not all is that bad: What I really like is the physical keyboard which is much more better than from the i927..
Nevertheless I own a F3Q since a while because the community sponsored one to me which makes it possible for me to continue developing for this phone. Otherwise I had stopped that at the time where my wife used her F3Q productive.
The other reasons are:
There are problems here in Germany regarding the reception: 3G (or better) is not possible (but it should be from the point of technical specs).
Besides that the displayed information about the speed seems to be wrong in some cases but that is another story..
Last but not least the problem of overfilled storage makes me mad (well in fact makes my wife mad but well that makes me mad then). There is always to less even with tricks like moving apps etc.
So in short: I want to be able to fix problems who are annoying me/my wife.
Question #4: I have bought the phone and need to unlock it (service provider lock, network lock, ...) now. How to do that?
Well there are thousands of services out there who offers unlocking and no guarantees wherever you go.
Just 1 thing before you read on:
I'm not responsible if the mentioned site doesn't work for you! For me it had worked but there are no guarantees out there in the evil internet ocean...!
The following describes my personal experiences with those services only. No guarantees no responsibilities no whatever.
I have tested 2 of them:
The first one is a "free" service named www.unlockphone.me.
Free means first of all: WAIT. As an example my request have this as the waiting time:
1027 people are in queue in front of you. 2 weeks, 3days, 10hrs, 14min remaining until you will receive your CODE
The service itself is free but as I do not wanted to wait such long I donated to them 10$ to receive the code more quickly.
Result: Well I got a code but is was not working. I send them 4 mails - never received any answer. Bad luck. That is what I mentioned above. No guarantees. Well you could try it on your own - at least the free one without a donation - and see what happens for you. It's may worth the try.
.
The second one was fine. To be sure: I do not own the following service or get anything for pointing there but I have used them 2 times and at least the service provider lock could be unlocked both times successfully. The first time used they unlocked for $2 CAD (November 2014) and today (April 2015) they unlocked for $7,50 CAD.. Well it still seems to be a reasonable price (at least for me).
freemyblackberry.com
I filled in the following:
Brand = LG
Carrier/Country = USA / T-Mobile
Model = LG Optimus F3Q
When you have received your code (the one way or the other):
if you do not see the unlock screen already type in the following in the dialer: 2945#*520#
in the displayed menu choose the type of unlock you want to do (in my case it was service provider locked so I choosen that)
type in the received unlock code (for my case the freemyblackberry named it SPCK)
the phone may reboot now automatically
enjoy.
Question #5: What can I do to help?
I thought you would never ask! :victory:
The first one EVERYONE can do even when no programming skills is: Use the "Thanks" button. :good:
This is simple, easy and can be done very quickly. This will not speed up anything of course but it keeps me motivating because it shows me that you like what I do.
.
The second one EVERYONE can do is to participate in beta testing versions.
From time to time I release a new Kernel or TWRP version or some day a CM version. If you want to help you should do that by installing those beta versions (if one is available) and telling me about the good and bad of it.
This needs always a full backup and you may need to restore things afterwards but I'm here to assist you as far as I can.
.
The third one is not for everyone: helping to port.
That means going to the steps of CM porting guide and downloading the LGE sources and cloning my git repos. Get in contact with me before so you use an uptodate repo like the device tree etc.
This one would be the biggest effort but it is the most time consuming. At least for the full port.
If you "only" want to help partly like making TWRP better or helping with Kernel development it will be much much easier because those both are already fully working and you can start with fixing things instead of try&error!
That said Option 3 here is the only option if you really want to speed up the process!
.
The last one I can think of is donating, of course. I do not beg for money here - it is simply one of the available options.
One thing about this is important: a donation is much much more motivating then the mentioned "Thanks" click but you also will not speed up anything (Ok you would speed up things when the donation is about 10.000 € or more haha)!
But seriously: I do all that in my free time atm and that means I need to cut out time somewhere else from RL. This is not a problem for me and if you donate or not I will continue until I reached my personal goal.
That simply means that it will take much more time than doing it full time. The only other option would be developing in the normal work hours which means not earning money here for this time. So there needs to be a balance for if I would do that. That said there will be times where I can work on it and may times not for weeks. It depends.
Question #6: What is that "adb" thing?
adb stands for: Android Debug Bridge and can help a lot when it comes to work with your device. It is not for developers only but they use it a lot of course.
But a normal user can use this to exchange files without the need of mounting, backing up the device, reboot the device and use it as a very comfortable way of having a terminal emulator.
.
Normally adb itself is not available as a standalone application - it comes with the Android SDK which is very big and heavy if you want to use adb and/or fastboot (another great tool) only.
But we live in a great world with many people wanting to make things easy so here you go when you want/need only adb and fastboot:
download & install adb @lifehacker
Question #7: How can I find the LG Hidden Service Menu (STOCK)?
Normally you will not need this! But you may want to enable the USB DIAG mode if you're a developer or you simply want to make your phone unusable - so here we go:
As usual: Use on your own risk!
adb shell
su
am start -a android.intent.action.MAIN -n com.lge.hiddenmenu/com.lge.hiddenmenu.HiddenMenu
Click to expand...
Click to collapse
or simply by typing the following in the dialer:
3845#*520#
Click to expand...
Click to collapse
I know I am getting ahead of myself, but I know some devices have a /datadata partition (like the Samsung Infuse) when ported for a KitKat ROM.
When it comes time to design for KitKat, can this separate partition be eliminated? I know it is done for performance reasons, but with such limited userdata space as it is, another partition would come as a detriment. This has already proved a problem on the Infuse, and they have much more space to deal with (albeit ~600mb /datadata).
The alternative would be building Link2SD into the ROM, knowing that there will still be only a small collections of apps that can be installed.
Unfortunately, because of our limited userdata, we probably won't be able to develop past KitKat, at least end up with something usable. ART will prove to be too much of a pig for this device (storage wise).
Just my nickel's worth...
Bad news..
The Desire Z of my wife is completely broken now.
That means I cannot develop anymore..
- I ported and released the latest TWRP version to the F3Q
- I'm able to build AOSP JellyBean (not booting yet though),
- I compiled and released a custom AOSP Kernel (named sediKERNEL)
.... and a lot more..
I have everything I need to continue here in place...
I have the will and the ability to continue...
But no device anymore..
If someone has a F3Q to give away.. then I will continue but I'm not willing to buy a F3Q for developing only. So if you have an idea how we could continue let me know.
Otherwise that will end here for me unfortunately...
Hopefully not.
Yours
Xdajog.
Update:
Check out the following link if you want to help http://forum.xda-developers.com/showthread.php?t=2952919
-----
Sent from my SGH-I927 using XDA Android mobile app
xdajog said:
sediROM for LG Optimus F3Q - Custom ROM (codenames: fx3q, d520)
Recovery:
CWM (I cannot recommend that CWM version atm! Because it was build with not a full valid device tree and is missing features TWRP has included!): https://play.google.com/store/apps/details?id=com.pressy4pie.oudhs.manager
TWRP (highly recommended!): http://forum.xda-developers.com/showthread.php?t=2867339
Done:
Lokifying succesful and is done automatically by my build-script (took me some time but was it worth)
I am able to boot a modified compiled kernel with the stock ROM
Custom JB kernel with kexec support based on the stock sources (stock initrd)
Custom JB kernel with xattr support based on the stock sources (stock initrd)
Custom JB kernel with selinux support based on the stock sources (stock initrd)
Fully (or mostly) working TWRP version where storages correctly mounted and backup/restore working fine (TWRP thread)
Current progress:
Building a custom kernel without stock initrd (Details on the process here: sediKERNEL thread)
To do:
Building a custom kernel without stock initrd
having a working device tree (depends on having an own initrd)
compiling AOSP JB (depends on device tree)
compiling CM JB (depends on device tree)
compiling CM KK (depends on device tree)
Stalled:
compiling CM11 kernel based on the F6 device tree (too many compilation failures)
compiling AOSP Jellybean including the LG sources works (but different issues with booting)
compiling AOSP KitKat including the LG sources fails (doesn't start at all because of several changed vars maybe. Didn't investigate that further cause I focus on kernel now)
compiling CM JellyBean fails with the adapted LG Optimus F6 device tree
compiling CM KitKat fails with the adapted LG Optimus F6 device tree (mainly because some of the adaptions enforces the goldfish emulater?! Havent found out why! damn.)
MultiRom:
Multirom TWRP = compiling OK but no screen shown?!
Multirom binary = compiling OK
Multirom trampoline = compiling OK if it works or not? Cannot test it until TWRP
Kexec Kernel = Porting to F3Q (hopefully) finished. compiling OK but it has problems with mounting the correct places (I think. Didnt investigate that further atm)
Well one of the ideas is to have a working MultiRom installation which then would boot a custom ROM like CM with the kexec technique.
That way we could boot a "insecure" ROM with our locked boot loader.
That really seems to be possible because I can flash a TWRP image to the BOOT partition for example. That means TWRP would start up everytime.
If we could get MultiRom in place where the boot partition sits we COULD be able to boot everything we want.
Sources:
My current device tree of the fx3q AOSP build can be found here: device_lge_fx3q_aosp
.
Click to expand...
Click to collapse
Just so im clear what exactly is incomplete about the cwm that was compiled? you say its not a valid device tree (crazy because ive never heard those kind of terms even used before) what exactly makes it invalid to you?
what was the point of labeling this thread? gain some thanks by saying you spent 200+ hours on compiling the stock kernel source that has a guide to compile it in teh source zip? cuz it doesnt appear to make any progress on booting aosp even though you forked an oudhs device tree from another device. then you talk about needing hacks etc to get past the locked bootloader yet you dont seem to understand that there was an exploit tahts how there even was a cwm.
instead you are pulling in search results giving false hope to people looking for cm in hopes they donate to you so you can buy a phone when you obviously dont understand how it works.
Just so im clear what exactly is incomplete about the cwm that was compiled? you say its not a valid device tree (crazy because ive never heard those kind of terms even used before) what exactly makes it invalid to you?
Click to expand...
Click to collapse
Never said that CWM is incomplete but to be honest it was and it is missing features TWRP has, of course. It is a while ago that I took a look at that CWM version so I would need to check again maybe. The last time I tried it the mounting of /data/media (the internal usb storage) was not possible as backup, too. But that may have changed.
cuz it doesnt appear to make any progress on booting aosp even though you forked an oudhs device tree from another device
Click to expand...
Click to collapse
You may have more experience in porting to a complete new device so what is wrong with forking from a device which has more or less the same hardware specs ? That is the recommended way mentioned in the porting guides.
The reason why there was no progress since a while is:
I had no device anymore
Donation offer took some weeks
Then the new (used) device need to be shipped for about 2 weeks
Then I was on vacation for 2 and a half weeks
Then I needed to bring down the workload in RL to continue which took me another week
Then I started with development again since 1 day
Today
The main focus is to develop a fully working initial ram disk build from scratch instead of using the stock one. Then I will continue on porting AOSP as the ram disk is an essential part as you know.
then you talk about needing hacks etc to get past the locked bootloader yet you dont seem to understand that there was an exploit tahts how there even was a cwm.
Click to expand...
Click to collapse
Well it seems that you do not understand but that is not a problem I explain it for you:
The locked bootloader is a problem because normally we have not the possibility to install a custom kernel and/or custom ROMs. There is a hack available named "loki" which makes it possible to circumvent that fact. The only thing you need to do is to use the loki patch on the kernel/boot image.
The other thing around this is that the bootloader send kernel boot parameters which avoid starting a custom or modified ROM. This is one of the examples I fixed as you can see in the kernel thread and the reason why the modified stock ROM from @joel.maxuel is booting.
The multirom thingy (you may point to) was about having a special boot image (based on TWRP) named multiROM. With this it would be possible to power on the device and choose different ROMs you may have installed (that means different ROMs on 1 device in parallel). Great thing and at the time of writing one thing I tested. The main problem here is not using the Loki patch mentioned above but instead the /data/media internal storage which need to be mounted correctly and some other things as well. Nevertheless is multirom nothing I want to work on atm because the main part of work is to have CM/AOSP compiled and working.
what was the point of labeling this thread? gain some thanks by saying you spent 200+ hours on compiling the stock kernel source that has a guide to compile it in teh source zip?
Click to expand...
Click to collapse
I never said that I spent 200+ hours for compiling a stock kernel. Please read carefully before getting rude. This thread here is for developing on the F3Q ROM not the kernel. Kernel things are located in the Kernel thread. (Btw. compiling the stock kernel was never a problem or somehow time consuming there are other things like the initial ram disk and correct mounting paths etc which had taken some time but that is another story and as said not related to this thread.)
You may have heard about people porting ROMs to new devices? I try to do so and that is the reason why this thread exists. Not for some thanks clicks - some people define their self not with this you have to know. To be honest I do not get paid for everything here - which is ok. So a thanks click is appreciated, of course. Nothing more nothing less.
btw: I believe that a user can decide on their own if they want to click thanks when they want right? TWRP and Kernel are both things ready to use and the ROM porting is a WIP which a user can or can not say thanks for. That should be decided by the user IMO.
instead you are pulling in search results giving false hope to people looking for cm in hopes they donate to you so you can buy a phone when you obviously dont understand how it works.
Click to expand...
Click to collapse
To be honest it seems obvious that you do not understand. That is not a problem because I can explain it to you again.
As stated before and in the OP I try to port AOSP and/or CM to this device. Well it is true that I'm still learning and will learning forever but that is the truth for everyone (maybe not for you, ok ).
The donation part is something which was an offer to continue the work because I do not owned the device anymore but I was and I am willing to continue. As stated in the the donation thread I do not use the device for anything other then development because I do not really like the phone itself. But my wife uses the phone and she needs CM / AOSP to be able to be fully in German language and having a smoother Android experience than with the stock ROM.
If you know everything better than me then why you do not share your knowledge so we can speed up the process of porting? Would be more efficient than writing
Check out the brand new FAQ: :good:
Frequently Asked Questions
.
.
.
.
......and another thing I want to mention today!
The following has been done 10 minutes ago:
adapt DM47021 DT (device tree) to F3Q and compiling CM KK systemimage/full otapackage
This is 1 step further into the right direction but do not expect too much it simply means that I was able to fix all the thousands of compilation errors for the new adapted device tree.
Which is GREAT, of course but now the debugging starts and recompiling etc ..
The first boot was a mess I believe it has to do with a wrong used gcc version but I need to investigate that further in the next days/hours whatever..
just wanted to keep you updated
greetings from the front
xdajog
EDIT:
if someone interesting in This is the time duration of a full cleaned compilation (real = the actual duration):
Build system:
Intel® Core™ i7-3632QM CPU @ 2.20GHz × 8 (Quadcore. Due Hyperthreading 8 threads/CPU's)
8 GB RAM
Ubuntu Server 14.04 - 64 bit, running in a highly optimized VM based on KVM
CM11 compilation time (full cleaned working directory)
real 56m47.417s
user 213m6.612s
sys 20m9.400s
Click to expand...
Click to collapse
.
Thanks for the update. It's amazing how difficult it can be just to get all the variables of a dev environment to agree. Certainly getting somewhere.
xdajog said:
.
.
.
......and another thing I want to mention today!
The following has been done 10 minutes ago:
adapt DM47021 DT (device tree) to F3Q and compiling CM KK systemimage/full otapackage
This is 1 step further into the right direction but do not expect too much it simply means that I was able to fix all the thousands of compilation errors for the new adapted device tree.
Which is GREAT, of course but now the debugging starts and recompiling etc ..
The first boot was a mess I believe it has to do with a wrong used gcc version but I need to investigate that further in the next days/hours whatever..
just wanted to keep you updated
greetings from the front
xdajog
EDIT:
if someone interesting in This is the time duration of a full cleaned compilation (real = the actual duration):
.
Click to expand...
Click to collapse
My hat is tipped to you xdajog. I'm looking for a qwerty slider replacement phone for my wife as her current one is reaching 5 years old soon.
Your efforts have tipped me towards this phone as a working ASOP or CM would be necessary as I do not think this phone will be updated by anyone else. I'm always leery of putting a family member on anything past a feature phone unless I can be confident of keeping it patched. Since there are no flagship phones with qwerty keyboards the efforts of devs like you are all the rest of us have.
@xdajog than you truly for your continued support on this device, i am a late adopter to this phone but is there any hope for getting android 5 on it?
vordhosbn said:
@xdajog than you truly for your continued support on this device, i am a late adopter to this phone but is there any hope for getting android 5 on it?
Click to expand...
Click to collapse
Well.. lets talk about that when we have KK ready
-----
Sent from my SGH-I927 using XDA Android mobile app
already has a ready rom CyanogenMod with kk ask you to take a look, you just need to fix the camera, can test or basaer it?
link: http://androidforums.com/threads/t-mobile-metropcs-beta-4-4-4-cyanogenmod-11-unofficial.923379/
GhostDwl said:
already has a ready rom CyanogenMod with kk ask you to take a look, you just need to fix the camera, can test or basaer it?
link: http://androidforums.com/threads/t-mobile-metropcs-beta-4-4-4-cyanogenmod-11-unofficial.923379/
Click to expand...
Click to collapse
Thx but this is for the F3 not F3Q.
-----
Sent from my SGH-I927 using XDA Android mobile app
xdajog said:
Thx but this is for the F3 not F3Q.
-----
Sent from my SGH-I927 using XDA Android mobile app
Click to expand...
Click to collapse
yes, but the lg optimus f3 and f3q have the same specifications and the same kernel, the difference among them is where it was manufactured and the f3q comes with a keyboard and different touch buttons, take a look at the comparison below:
http://www.gsmarena.com/compare.php3?idPhone1=5998&idPhone2=5509&
GhostDwl said:
yes, but the lg optimus f3 and f3q have the same specifications and the same kernel, the difference among them is where it was manufactured and the f3q comes with a keyboard and different touch buttons, take a look at the comparison below:
http://www.gsmarena.com/compare.php3?idPhone1=5998&idPhone2=5509&
Click to expand...
Click to collapse
Of course. Thats the reason why I use the F3 device tree as base for development. But there are many differences in compiling. If you want you can try would be nice to have another dev here.
-----
Sent from my SGH-I927 using XDA Android mobile app
xdajog said:
Of course. Thats the reason why I use the F3 device tree as base for development. But there are many differences in compiling. If you want you can try would be nice to have another dev here.
-----
Sent from my SGH-I927 using XDA Android mobile app
Click to expand...
Click to collapse
Yeah, i will try, give me the a one time
So I've got an Ubuntu 14.04 LTS VM set up on my machine and I downloaded the Android source tree (AOSP) and configured the build environment per the instructions. I ran a build and everything came out okay (but slow ). I have some additional RAM on order for my machine so I can dedicate more resources to the VM.
I have an extra F3Q I can use for testing and I have a pre-paid SIM on order so that I can actually use my test device in real-world scenarios.
I'm ready to start digging in here. :good:
Edit: RAM arrived today, have 32GB now which means I can dedicate a full 16GB to the Ubuntu build environment!
Related
It seems that finally I was able to boot custom kernel with working radio
It's not very stable yet(it stops/crashes at bootanimation quite frequently), and is quite laggy just after boot, but once it boots it seems to be almost usable. Wifi works, sdcard also. Haven't checked bluetooth.
Credits for this goes to:
* milestone1 devs... for sharing 2ndboot source code and providing so much info regarding milestone1/2 phones
* Motorola ... for providing source code(not fully working, but was a great help anyway) for enabling UART over micro usb for debugging purposes(without this I woudn't make any progress)
* tezet... for making quite good roms used by 2ndboot
If you wish to try it(BEWARE THAT IT MIGHT BRICK YOUR PHONE, SO DON'T SAY THAT I HAVEN'T WARNED YOU ), then do as follows:
1. Install tezet's JB10(if you don't have one already).
2. extract 2ndboot.tar(attached) into /data folder, check that /data/2ndboot/hbootuser file has execute permissions.
3. overwrite /system/bootmenu/script/2nd-boot.sh(DON'T TOUCH 2nd-init.sh!!!) with the one from tar(2nd-boot.sh.tar) and check it has execute permissions.
4. reboot into bootmenu
5. change the default boot method to 2ndboot
6. Restart your phone. Most likely it will crash few times at bootlogo, but be patiant, it finally should boot
7. If you wish to get back to 2nd-init, then enter bootmenu again and change default boot method back to 2nd-init, or manually boot 2nd-init
Click to expand...
Click to collapse
Please let me know if someone actually run it and was able to boot(so that to find out if I haven't forgot to include some more files(see changelog for 03.10.2012)
KNOWN LIMITATIONS
Boots very sloooowly
Its' quite laggy just after boot.
GPS does not seem to work yet
Click to expand...
Click to collapse
CHANGELOG
01.10.2012 - corrected battery problems(thanks to Quarx and kabaldan)
03.10.2012 - corrected ramdisk(previous one was calling some script which I forgot to attach to this post, new one has this script inside), so that now you should be able to boot it; updated instructions how to install it; enabled TLS in the kernel(thanks to kabaldan)
04.10.2012 - touch driver updated, now should work with lastest JB(thanks to Eleanor_Ir, Quarx), adb fixed(I hope, stability fix(thanks to Quarx)
Click to expand...
Click to collapse
NOTES for devs
In milestone2(as probably in many others UMTS phones made by Motorola) the BP is somehow very sensible and does not like to be disconnected/reenumerated. The main goal of this 2ndboot is then to not allow it to be disconnected. To do this, in the new kernel I've skipped a few resets(EHCI, TLL, individual port resets), and instead of enumerating BP, I've used the hardcoded usb device address(which for milestone2 seems to be equal to 2).
I attach patch(radio.patch) with the changes I've done to the kernel sources from here:
http://sourceforge.net/projects/milestone.motorola/files/MILS2_U6_4.1-22/
This seems to work(sometime) for both milestone2 and defy.
For other motorola phones:
1. First of all, check with lsusb what's the address and vendor/product id of your BP(for milestone2 it's 0x22b8 and 0x40e6).
2. If the BP usb device address is 2, then just apply the patch(probably it will need some small modifications), and check if it works.
3. If the BP usb device address is not 2, then edit usb/core/hub.c function hub_port_init(providing that it's there for your kernel), and replace 0x02 in the place where usb_control_msg to get descriptors is sent with address of your device
If it does not work, then you can try the following:
Create a procedure to send usb GetDescriptors request using omap3 ehci registers, and call it at different boot stages/usb initialization stages to find out how long the radio remains attached, and comment/change appropriate fragments of kernel code, to preserve this until usb port is initialized. If you wish, I can share the procedure I've written(in the patch file this is that czecho_get_descriptors called in many places) for milestone2, but it probably would need some modification to work with your device).
2ndboot module sources are here:
https://github.com/czechop/2ndboot
Wow, thats perfect This could bring M2 development to another level.
Holding thumbs up and keep it up!
Great news! Thx for your work. I've just bought an OTG cable to start playing with kernel stuff and here's a surprise
Fabulous! That means it starts a new era in the development of our MS2 Roms!
Wonderful job man
Brilliant
Sent from my A953 using Tapatalk 2
I'm gonna try on the Motorola Bravo as soon as PA is done uploading. Hopefully this'll work on Froyo kernels as well :fingers-crossed:
What kernel are you using? A recompiled MS2 GB kernel unmodified?
Awesome job man. This could possibly be the start of a new generation of roms for our common platform if this works on other similar phones like the Defy\Bravo. Only time will tell .
Well good work OP, can this be implemented on other Moto phones like Defy?
Great work !
I see that your work is based on Moto's Linux kernel (2.6 branch as far as I remember...)
Any hope of using another kernel source one day ?
Great News!, Thanks
Waiting for source code
Wow! Tezet and Quarx on the same thread?! I feel like up on the Mount Olypmus lol
Great job, man!...been following your work from General section.
P.S. add Kabaldan to the list Clash of the Moto Titans
skeevy420 said:
I'm gonna try on the Motorola Bravo as soon as PA is done uploading. Hopefully this'll work on Froyo kernels as well :fingers-crossed:
What kernel are you using? A recompiled MS2 GB kernel unmodified?
Awesome job man. This could possibly be the start of a new generation of roms for our common platform if this works on other similar phones like the Defy\Bravo. Only time will tell .
Click to expand...
Click to collapse
Yes, I use MS2 GB U6_4.1-22(http://sourceforge.net/projects/milestone.motorola/files/MILS2_U6_4.1-22/) kernel... but with modified usb host driver.
nidhish91 said:
Well good work OP, can this be implemented on other Moto phones like Defy?
Click to expand...
Click to collapse
I think it can be.
With defy it probably should be easy, as I've seen there was 2ndboot(without radio) already build for it, so most likely only new kernel would need some tuning
czechop said:
I think it can be.
With defy it probably should be easy, as I've seen there was 2ndboot(without radio) already build for it, so most likely only new kernel would need some tuning
Click to expand...
Click to collapse
XT720 users also waiting for instructions for new kernel tuning, cause we have working 2ndboot without radio. =)
boorce.com said:
Great work !
I see that your work is based on Moto's Linux kernel (2.6 branch as far as I remember...)
Any hope of using another kernel source one day ?
Click to expand...
Click to collapse
It should be easy to apply some(perhaps most) 2.6.32 upstream patches to the motorola kernel sources.
Don't know however how difficult it would be to start from another kernel version. Don't know also how motorola proprietary modules/libs would behave with newever kernel version. But, as they say, impossible is nothing
czechop said:
I think it can be.
With defy it probably should be easy, as I've seen there was 2ndboot(without radio) already build for it, so most likely only new kernel would need some tuning
Click to expand...
Click to collapse
In kernel only modified usb driver or some more changes for boot?
fjfalcon said:
XT720 users also waiting for instructions for new kernel tuning, cause we have working 2ndboot without radio. =)
Click to expand...
Click to collapse
Will share source code probably early next week(currently am at work, and during weekend most likely won't be sober enough
Quarx said:
In kernel only modified usb driver or some more changes for boot?
Click to expand...
Click to collapse
In 2ndboot module I've added code to disable lcd before starting new kernel(otherwise new kernel could not initialise properly dss), and in new kernel I've only modified usb driver(perhaps more things will need to be modified, as I'm facing problem with BATTD sayins something about power ic fail, BTW, does someone know what that could mean?), so that it skips restaring EHCI, TLL and don't start enumeration, but just used the old usb device address(assigned by the original kernel), which for M2 is always 2(at least during my tests).
I2c Fail can be caused by wrong permissions for /dev/cpp*
I tried your prebuilt binaries on defy http://pastebin.com/jKjQ2ykn
Black screen + buttons lights and reboot after ~20sec
Quarx said:
I2c Fail can be caused by wrong permissions for /dev/cpp*
I tried your prebuilt binaries on defy http://pastebin.com/jKjQ2ykn
Black screen + buttons lights and reboot after ~20sec
Click to expand...
Click to collapse
Thanks for hint regarding permissions...will check that
Regarding prebuilt binaries on defy, hard to say what's wrong(not sure how much the phones differ). Anyway, you probably would need to use devtree from your device. Also you could unpack ramdisk, and check the init.*.rc scripts if they are ok(e.g. I mount system partion using p21, not sure if that's the same for defy, and staff like that).
Welcome
I have started this thread for the THEORETICAL development of the mt6732/mt6752 from source if such a thing happened to exist which of course it does not.
While compiling from source is pretty well documented :good: compiling MTK is not so well documented especially the mt6732/6752.
I have tried to keep this thread as ambiguous as possible and hopefully we will be left in peace to iron out any difficulties.
DO's:
I am a Total Noob myself to compiling from source but experienced enough to use the xda search box, Google and Youtube first before asking any questions. If your still confused after using the above then by all means ask here.
DON'T s:
If your a noob who should happen upon this thread then by all means read and learn but please respect the dev's by not asking random question without searching first :fingers-crossed:
SHARING:
Please only share things of a sensitive nature with recognised members who you know and via the PM. :good:
Lets just see how far we can push this Kernel
Recommended Reading:
[GUIDE]Building a Kernel from source{Mediatek}
Build Kernel MT6577 - Can't boot after build
How To Port CyanogenMod Android To Your Own Device
XDA:DevDB Information
k01q_e k01q_h, Kernel for all devices (see above for details)
Contributors
bigrammy
Kernel Special Features: Remains to be seen
Version Information
Status: Testing
Created 2015-02-25
Last Updated 2015-02-25
I am here, reporting for duty. If anyone wants an extra "potato" because he has too much "ketchup" for use feel free to ask me
Just to be clear
I am new to compiling from source in any shape or form
I believe the kernel to be not a problem and I know dev's are working on getting our phone on cm and maybe others :fingers-crossed:
But me being me I am very curious and would like to understand how we would go about doing what @varun.chitre15 managed to do for the mt6582 Here
I have the PC all setup for building now thanks to @carliv great guide Here and the cm and android tut's I also found this useful guide on youtube by Dave Bennet Here
Our device is not on the cm or google repo so how do we add it locally.
Do we need any special commands for mediatek
Could we use the mt6582 repo and substitute or mod the files
As you can see I have more questions than answers as normal :laugh:
I dont want to tread on any toes here or take over current developing but just want to learn as said in the OP there is a lack of mtk guides regarding this.
If I missed a clear mtk guide then please post the link to it. :good:
In short your looking at manifests. http://wiki.cyanogenmod.org/w/Doc:_Using_manifests
carliv (I think) posted the device config on github - link in your SPFlash thread somewhere.
Found it: https://github.com/carliv/device_elephone_p6000?files=1
Vendor files
I have compiled and flashed a kernel, I've been running it for 24+ hours with no obvious issues. It's honestly very easy to just get it to build if you don't try to make major changes.
I have (very lazily) tried to change a couple of things in the config to fix the known issues (OTG, compass): unfortunately I have no way to test the OTG function right now, while the compass did not magically start working. On the other hand, the notification light issue which is introduced by V8.4 is not strictly or exclusively kernel-dependent, since I am running V8.3 with my own kernel and the notification function is intact. That's all I can share at the moment.
xenonism said:
I have compiled and flashed a kernel, I've been running it for 24+ hours with no obvious issues. It's honestly very easy to just get it to build if you don't try to make major changes.
I have (very lazily) tried to change a couple of things in the config to fix the known issues (OTG, compass): unfortunately I have no way to test the OTG function right now, while the compass did not magically start working. On the other hand, the notification light issue which is introduced by V8.4 is not strictly or exclusively kernel-dependent, since I am running V8.3 with my own kernel and the notification function is intact. That's all I can share at the moment.
Click to expand...
Click to collapse
Can you switch on and post the /proc/config ?
Regarding the notification lights, I think v8.4 introduced the custom partition (might be wrong on that). Running grep -r "ro.notification.breath" /system/ the only result I got was services.odex (might have been settings.odex). I've bak(smali)ed it but couldn't see the difference between the two that would explain the change.
HypoTurtle said:
Can you switch on and post the /proc/config ?
Regarding the notification lights, I think v8.4 introduced the custom partition (might be wrong on that). Running grep -r "ro.notification.breath" /system/ the only result I got was services.odex (might have been settings.odex). I've bak(smali)ed it but couldn't see the difference between the two that would explain the change.
Click to expand...
Click to collapse
The config file is attached to the post, it's too big to paste it.
I have tried the new ROM which came out today, then flashed my kernel. I can't use either SIM card anymore. Flashed the boot.img that comes with the ROM - same. I guess I gotta go back to V8.3 for now.
The new ROM doesn't seem to be the same as the OTA: it reports as: Elephone_P6000_02_V8.0_20150206.
About the notification issues (which bothers me the most), I haven't had much time do to more experiments, but I was thinking this (which probably also led to my confusion*): there's a chance the functionality is not removed or shut down, at least in the intentions of the maker. After all, in V8.4 (and in the new ROM), when the phone is connected the light stays on, while notifications make it breath. While not a desirable behaviour (at least IMO), I wouldn't call it... a non-behaviour, so to say. So perhaps the functionality itself is intact but something is altering the way it works, for whatever reason. I also did some unpacking and grepping a few days ago, but I couldn't find anything useful.
* At some point I thought the issue was fixed because the light was breathing while connected to my PC, but it was probably because I had a notification to read.
xenonism said:
The config file is attached to the post, it's to big to paste it.
I have tried the new ROM which came out today, then flashed my kernel. I can't use either SIM card anymore. Flashed the boot.img that comes with the ROM - same. I guess I gotta go back to V8.3 for now.
The new ROM doesn't seem to be the same as the OTA: it reports as: Elephone_P6000_02_V8.0_20150206.
Click to expand...
Click to collapse
Lets not speculate too much - but perhaps there was a minor board change between the first and second preorders, notification could be a problem with granting notification access (in settings) - could this be a selinux issue? It would explain why things like Light manager work - as you grant them notification access.
For lost Imei - can you compare the custom partition to the one in the ota?
If anyone needs an easier way to grab the 'ketchup', my GitHub has it. Click on my blog link in my signature.
BachMinuetInG said:
If anyone needs an easier way to grab the 'ketchup', my GitHub has it. Click on my blog link in my signature.
Click to expand...
Click to collapse
Thanks bro,
Nice log
I was going to try use the sprout config as this is nice and clean Here when I have worked out how to do things that is.
My eyeballs are bleeding now with all this reading but from what I can see most of files are the same names so maybe we could just replace them with ours probably 98% ish
I did see one ROM some place for the mt6732/52 that had mt6582 references I just wish I could remember where I had seen it
Like I say I am a noob to this compiling and linux stuff so I maybe talking out of my ass :laugh:
bigrammy said:
Thanks bro,
Nice log
I was going to try use the sprout config as this is nice and clean Here when I have worked out how to do things that is.
My eyeballs are bleeding now with all this reading but from what I can see most of files are the same names so maybe we could just replace them with ours probably 98% ish
I did see one ROM some place for the mt6732/52 that had mt6582 references I just wish I could remember where I had seen it
Like I say I am a noob to this compiling and linux stuff so I maybe talking out of my ass :laugh:
Click to expand...
Click to collapse
I'm actually a noob too, and honestly I've only ever successfully built a fakeflash (temporary recovery) that didn't even work.
bigrammy said:
Thanks bro,
Nice log
I was going to try use the sprout config as this is nice and clean Here when I have worked out how to do things that is.
My eyeballs are bleeding now with all this reading but from what I can see most of files are the same names so maybe we could just replace them with ours probably 98% ish
I did see one ROM some place for the mt6732/52 that had mt6582 references I just wish I could remember where I had seen it
Like I say I am a noob to this compiling and linux stuff so I maybe talking out of my ass :laugh:
Click to expand...
Click to collapse
Can anyone actually make a guide noob friendly to build kernel from source? I got kernel with me locally zip file I want to build it please any help?
Tech N You said:
Can anyone actually make a guide noob friendly to build kernel from source? I got kernel with me locally zip file I want to build it please any help?
Click to expand...
Click to collapse
I think you can use the scripts in the root of the source code to build the kernel? make<something>.sh.
Make sure you're on Linux (Ubuntu preferred) and that you have all dependencies installed correctly. To execute the script, simply go to the Terminal, cd to the location, then type . make<something>.sh
Tech N You said:
Can anyone actually make a guide noob friendly to build kernel from source? I got kernel with me locally zip file I want to build it please any help?
Click to expand...
Click to collapse
Have a look at the README.
Does make menuconfig work here?
These few simple instructions from the readme file enable you to build a working kernel (at least in a Linux environment):
Code:
How to Build
kernel
======
1. Get the prebuilt cross compiler from AOSP website:
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
2. Add required cross compiler to PATH:
$ export PATH=/YOUR_TOOLCHAIN_PATH/arm-eabi-4.6/bin:$PATH
$ export CROSS_COMPILE=arm-eabi-
3. Then use the following commands to build the kernel:
$ ./makeMtk k01q_e new k
make menuconfig can be made to work, but you need to set some parameters and I can't look into it right now.
You previously asked something about the custom partition, I need some guidance there as I am not familiar with the IMEI issue.
xenonism said:
These few simple instructions from the readme file enable you to build a working kernel (at least in a Linux environment):
Code:
How to Build
kernel
======
1. Get the prebuilt cross compiler from AOSP website:
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
2. Add required cross compiler to PATH:
$ export PATH=/YOUR_TOOLCHAIN_PATH/arm-eabi-4.6/bin:$PATH
$ export CROSS_COMPILE=arm-eabi-
3. Then use the following commands to build the kernel:
$ ./makeMtk k01q_e new k
make menuconfig can be made to work, but you need to set some parameters and I can't look into it right now.
You previously asked something about the custom partition, I need some guidance there as I am not familiar with the IMEI issue.
Click to expand...
Click to collapse
Yea wasn't sure about menuconfig as mtk uses projectconfig rather than def_configs.
In the custom partition there are files like /custom/etc/firmware/modem.img etc. When messing with a Flyme port it was these files (and possible conflicts in /system) that caused an IMEI:nul.
FYI I opened the custom partitions on windows using an ext viewer after running the imgs through sgs2toext4.
Kernel building Mediatek
Tech N You said:
Can anyone actually make a guide noob friendly to build kernel from source? I got kernel with me locally zip file I want to build it please any help?
Click to expand...
Click to collapse
Not sure if you guys have seen or read this but it's a pretty comprehensive guide to building the mediatek kernel by @MasterAwesome and should really be compulsary for all kernel related things thread here http://forum.xda-developers.com/showthread.php?t=2754513
@HypoTurtle
Regarding the custom partition this is or could be a problem for us now and in the future and may require further investigation. The cm sprout branch has the modem.img in the (normal place /system/etc/firmware) but as you say ours is in the custom partition which is probably to protect it from bad /system flashes
Thing is I see no normal type link to it in the /system/etc/firmware so it must be linked some other way which may explain why all my port attempts failed as none of them used a custom partition (Asus_X002)
Maybe we will have to repartition the emmc to a standard config and alter the kernel (if the links are set via the kernel that is) for cm and other ports to work smoothly as I am unsure just how everything is linked up.
I have not had much experience with custom partitions so someone one know's of a good info source please link it. :good:
Hopefully Master @Santhosh M can figure out what's going on with the custom partition :fingers-crossed:
bigrammy said:
@HypoTurtle
Regarding the custom partition this is or could be a problem for us now and in the future and may require further investigation. The cm sprout branch has the modem.img in the (normal place /system/etc/firmware) but as you say ours is in the custom partition which is probably to protect it from bad /system flashes
Thing is I see no normal type link to it in the /system/etc/firmware so it must be linked some other way which may explain why all my port attempts failed as none of them used a custom partition (Asus_X002)
Click to expand...
Click to collapse
The partition is symlinked from .../by-name/custom (which is symlinked by the kernel from dev/block/mmcblk0p12) to /dev/customimg which is mouned after an e2fsck to /custom. /custom isn't linked to /system, it's just added to the global environment (init.environ.rc), will need to check on the environ, I'm on flyme and it has /custom/lib added to the library path (which doesn't exist).
HypoTurtle said:
The partition is symlinked from .../by-name/custom (which is symlinked by the kernel from dev/block/mmcblk0p12) to /dev/customimg which is mouned after an e2fsck to /custom. /custom isn't linked to /system, it's just added to the global environment (init.environ.rc), will need to check on the environ, I'm on flyme and it has /custom/lib added to the library path (which doesn't exist).
Click to expand...
Click to collapse
Haha thanks that explains a lot of weird things perfectly. :good:
What's the problem or what is the issue here.
Mediatek compiling guide ( by masterawesome ) that you have linked to is not actually practically this mtk kernel is done and is just way too complicatedly explained.
There is no defconfig stuff or pulling config.gz from phone in mtk. In this new source its just simple. Set up your toolchain path. Execute the makeMtk followed by the project no u want. Get zImage and patch it for mtk header and merge it with stock ramdisk. For this newer mtk chipsets repack has an extra stuff where u have to be careful of kernel command line parameters.
That's it the kernel stuff in mtk
This thread is a direct continuation of @Hashcode's work for porting to Lollipop. Because of his and @verygreen's heavy lifting, porting to CM12.1 happened almost painlessly, for which I'm grateful. Their contributions compelled me to share something back. Thus, I'm uploading personal builds of CM12.1 for HD and HD+ in this shared Box folder. While I do not own a hummingbird, sister builds are generated more or less concomitantly.
Some of the important device-specific changes from KitKat/CM11 are described in Hashcode's thread. The goal is to keep as close as possible to CM upstream, and integrate whatever fixes and enhancements we find over time. More progress information will be added here gradually, as I have time. A lot of useful discussion happened on the CM12.0 thread, and the status of things is available to anyone willing to search. Hunting for possible bug fixes, understanding how to actually boot a newer kernel are some of my current priorities. I am not a developer, and the usual disclaimers apply.
Recovery Information
Up to date eMMC TWRP images are included in the respective device folders. Personally, I've had a good experience with TWRP, and do not plan on looking at other recovery distributions. Now, there have been (very) sporadic reports of broken partition tables, soft-bricked devices, etc, blamed on recovery. Although recovery is usually not the actual culprit, here are some ways you can rescue a completely unresponsive device:
It's a good idea to keep a microSD card around, with verygreen's external recovery image from here.
Once booted off the external recovery, you can easily fix whatever is broken (ADB is your friend here). There's no need to re-install CM11, as re-flashing recovery and/or boot will most likely fix your issue.
Recovery partition: dd if=<path to recovery image> of=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery
Boot partition: dd if=<path to boot/kernel image> of=/dev/block/platform/omap/omap_hsmmc.1/by-name/boot
Afterwards, you should at the very least have a working internal recovery. I don't recall any instance where /system and/or /data became corrupted because of recovery, but you can certainly fix them now.
I've never tested this part, but I believe that you may be able to install an eMMC CM12 ZIP with verygreen's external CWM, even if /data and /cache are F2FS (assuming you copied all ZIPs onto the external card). My understanding is that only /dev/block/platform/omap/omap_hsmmc.1/by-name/system (always ext4, mountable by any recovery) is touched during installation, so you may even bypass TWRP completely.
P.S. If you broke you bootloader by flashing the wrong recovery flavor, despite all images being clearly labeled as hummingbird or ovation, well, no sympathy for you… Still, you can bring your device back to life within minutes as described above.
Progress towards Official CM12 Nightlies
As of now, most things are ready for turning official nightlies on, including official TWRP images and SELinux Enforcing support, albeit with this proviso:
My HW composer changes described in post #3 and #602 are not included upstream, since the plan was to fix upstream for all devices using CyanogenMod/android_hardware_ti_omap4.
The stumbling block with SELinux Enforcing had been remounting /system upon each new install, to write the customized WLAN NVS BIN. I'm avoiding this step by modifying the scripts to store the Wi-Fi calibration data in /rom now, with the added benefit that it only needs to be generated once. These changes are also not captured upstream, and may never be. If someone figures out an upstream-approved way of writing to /system upon first boot under Enforcing, then we'll probably switch back to the old fix-mac script.
On a personal note, posting on my threads is pretty tricky business... My builds were never intended for general consumption, but rather a way to move porting and development forward, and I often debate only keeping the GitHub repositories for people to build themselves. Obviously, that would upset hundreds of people at this point, so I make an effort to upload reasonably bug-free builds, as well as help even with trivial non-problems whenever I can. Nevertheless, low quality, or badly written posts (and I don't mean bad English) are a sure way to get ignored, and my memory is pretty long term Basically, I won't police content here, but I also don't want to deal with the the kind of stupidity and entitlement so prevalent in real life.
In conclusion, no need to thank (unless you really want to), or ask about donating, etc, but do reassess the limits of your current understanding before making bold claims, as I do too. Nothing worse than having to fix a trail of misinformation... Also, comparisons to other people's work (unless constructive), complains about the state of things, or simply starting with "no offense" and such, will make your problem much less likely to be solved by me.
XDA:DevDB Information
UNOFFICIAL CM12.1, ROM for the Barnes & Noble Nook HD, HD
Contributors
amaces, Hashcode, verygreen, Jon Lee
Source Code: http://github.com/airend
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.0.x
Version Information
Status: Testing
Created 2015-04-16
Last Updated 2015-09-14
All Things Kernel
The information below (branch names, kernel progress, etc) is slowly becoming out of date (post #2 in the Marshmallow thread has more details). Although it feels pretty archaic at this point, I'm leaving this information here, mostly for historical reasons.
My primary focus has been and continues to be an even better kernel. Instead of opening a separate thread, I will be using this space for kernel updates and related information, in a sort of log format.
Since making any of the fancier OMAP-specific kernel trees work properly is a huge headache with limited benefits, I just merged the linux-3.0.101 patches, mainly for testing (the d-3.0 branch). These patches may help with the ARM core, not so much with OMAP parts, and certainly no change to any of the Nook-specific systems. Subjectively, the normal kernel still feels marginally more stable, but hey, everything still works.
It's mid May, and for the past couple of weeks, branch g-3.0 has slowly become my default kernel. It contains additional merges from the Google 3.0 OMAP kernel, the .101 commits, plus cherry-picked changes from various sources. Hopefully, all these make for a better kernel, although the holy grail remains K3.4…
I've been experimenting with improvements upon KSM; UKSM and PKSM are supposed to better recover duplicated/lost RAM (the former in the default g-3.0 branch, the latter in p-3.0). As with KSM, they need to be enabled (and optimally tuned) through the sysfs interface (echo 1 > /sys/kernel/mm/[up]ksm/run).
A significant number of patches were added for LZ4 support, and to make zram/zcache actually use it. I think it makes things snappier, but we'll have to wait and see. Also, it turns out that good old KSM is better after all; PKSM creates instability, and UKSM is a lot more CPU hungry, very much undesired on an already underpowered device.
Another exciting week for K3.0… @Hashcode uploaded a bunch of LMK/low RAM/etc optimizations for some AMZ/OMAP44xx variants, which I'm stealing for the HDs. As I'm better understanding the use of MFLAG/QOS for frame prioritization, I ported some of these changes from K3.4. The most exciting however, is the DMA-buffered K3.0 that I have working (branch dma-buf). It definitely feels better, although figuring out how to completely switch away from memory carveouts, fix the communication with OMX/Ducati for HW accelerated video, is complicated. This branch will remain an experimental project till K3.4 is up and running.
Just for testing, I'm rebasing most of my changes on top of the official CM12.1 kernel, and made the new iosched branch default for a while. This branch contains many changes to the block layer, cherry-picked from @faux123's tuna kernel. We now have newer I/O schedulers, such as FIOPS, ROW, and eventually BFQ. The current default elevator is ROW with 256 KB readahead. A few other interesting patches popped up, mainly related to unaligned access on ARM, and related optimizations.
Since July, all changes are grouped into feature branches on top of the upstream kernel, which are finally merged into the cm-12 branch, the default for the foreseeable future. This way of doing things is easier to maintain, and makes these changes easier to read, when deciding what to keep/discard for upstream.
HW Composer Issues & Fixes
The goal, and probably one of the base requirements to have these devices included in the CM12 nightlies, is to have a stable ROM with normal HW accelerated overlays. As of now, we achieved this by mostly reverting to the HW composer in CM11, although understanding why the newer code in hardware/ti/omap4 creates these underflows is equally important. Post #602 contains more information about this issue.
Starting with the July 14th builds, disabling HW overlays shouldn't be necessary any longer.
Before mid-July, we were using the upstream HWC in CyanogenMod/android_hardware_ti_omap4. As discussed ad nauseam, that combination of upstream K3.0/PVR modules/SGX DDK binaries/HWC runs into serious GFX buffer underflows. With five or more composer overlays, the panel attempts to reset constantly, which causes display flickers, followed by reboot (dumpsys SurfaceFlinger|grep -A 10 type will show how consistent this bug is).
In the meantime, a poor workaround was to disable HW overlays in Developer options. To make it stick across reboots, you could use this /data/local/userinit.sh:
Code:
#!/system/bin/sh
(while :
do
sf=$(service list | grep -c "SurfaceFlinger")
if [ $sf -eq 1 ]
then
service call SurfaceFlinger 1008 i32 1
break
else
sleep 2
fi
done
) &
First!!! Great to see you start your own thread. Thanks for all the great work
ac-t660 said:
If I have the 3/24 ROM already installed, should I dirty-flash the 4/8 version or do I need to reset and fresh install it in order to properly get the changes?
And like everybody else has said - thanks amaces and hashcode, incredible job!
Click to expand...
Click to collapse
Doh! I must have been typing my question as you were creating this new thread. Moving it since you and everyone using your builds are moving over here. Thanks again!
Based on this, I'd say that should be possible soon, if not already. However, that wasn't the case with the initial builds. I'd say no harm wiping just /system, and maybe /cache, flashing a CM12.1 ZIP, plus the proper GApps, and see how it goes.
Thanks!
I've flashed your 8 Apr build, and it (mostly) looks good. I still get the occasional forced reboots after some flickering. The flickering tends to occur when changing from portrait to landscape and pulling down the settings bar.
I very much look forward to see some progression.
Can you provide some instructions with installing TWRP on the HD+? I have Cyanoboot installed and flashed your build using CWM recovery.
Thanks.
In response to this post in the 12.0 thread.
amaces said:
The changelog would basically be the CM12.1 one
Click to expand...
Click to collapse
Great, so can you point to the latest CM12.1 commit that you've included when you make a release? Knowing the date doesn't pin it down completely.
amaces said:
About the ovation kernels, those images were for CM12.0, and while they may work with current builds (for reasons stated above), they don't provide any benefit anymore.
Click to expand...
Click to collapse
So we should use our original boot/kernel images?
Thanks!!
Hey amaces,
Thanks so much for the 12.1 builds. On the 4/4 build and will be testing out the 4/8 build over the weekend.
Thanks!!
shdware said:
Can you provide some instructions with installing TWRP on the HD+? I have Cyanoboot installed and flashed your build using CWM recovery.
Click to expand...
Click to collapse
Flashify can do that for you inside the ROM, or you could dd if=recovery.img of=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery inside adb shell or terminal. Also, current TWRP allows flashing of boot/recovery images directly.
MossyTC said:
Great, so can you point to the latest CM12.1 commit that you've included when you make a release? Knowing the date doesn't pin it down completely.
Click to expand...
Click to collapse
Sure, can do, although that kind of tagging needs to be thought out. I could simply append the CM review change number, but that's not very useful since most changes are in repositories that don't affect our devices. I'll look if anyone found a good way to do it (frankly, I don't recall seeing it done).
MossyTC said:
So we should use our original boot/kernel images?
Click to expand...
Click to collapse
The ROMs come with their own kernel. Those independent kernels were simply testing a few patches for the buffer underflow/flickering issues, and were meant for easy swapping within compatible CM12.0 builds.
Hi amaces,
I had done the 5.0 build, what do I need to do in order to pull in the 5.1?
TIA
andtron said:
Hi amaces,
I had done the 5.0 build, what do I need to do in order to pull in the 5.1?
TIA
Click to expand...
Click to collapse
I think it's better to backup your apps (I use titanium), do a full wipe and then install the 5.1 rom and gapps.
I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
When I go to Settings -> Storage it says total space 12.67GB but "Available" is only 700MB, which doesn't add up and doesn't agree with the graph.
I have:
Apps 0.92GB
Pictures, videos 5.62MB
Audio 296KB
Downloads 1.20GB
Cached data 1.24MB
Misc 1.65GB
Adding that up is just under 3.8GB total so I should have about 8.9GB free, but it only reports 700MB.
Something is wrong with the free space calculation. Any help here? This wasn't a problem on the previous CM12.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.
Thanks Tschumi.
My question is more on how to pull the sources and build the 5.1 myself.
mr72 said:
I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
When I go to Settings -> Storage it says total space 12.67GB but "Available" is only 700MB, which doesn't add up and doesn't agree with the graph.
[…] Adding that up is just under 3.8GB total so I should have about 8.9GB free, but it only reports 700MB.
Something is wrong with the free space calculation. Any help here? This wasn't a problem on the previous CM12.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.
Click to expand...
Click to collapse
That must be… frustrating. So, you're saying this happened on CM11, then CM12.0 was fine, and now the bug is back on CM12.1? There are a couple of unusual/puzzling issues that people report, including the reboot-instead-of-poweroff bug. Never having experienced these, it's hard to figure out the cause, but I'll keep it in mind.
andtron said:
My question is more on how to pull the sources and build the 5.1 myself.
Click to expand...
Click to collapse
These days, it's very easy; you simply upgrade your LP5.0/CM12.0 sources with: repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
mr72 said:
I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.
Click to expand...
Click to collapse
I think it has something to do with updating from stock to cm. Go to 'terminal emulator' app, type 'su' then 'df'. Let us know what is the output.
Also, backup all your data. Do you mind clean install again? Which recovery are you using? If you convert your data partition to F2FS I'm sure it'll fix it. Not because F2FS will fix it, but because converting it to F2FS will format the entire /data partition (including the virtual /sdcard). There might be old files downloaded when you used stock rom.
extrem0 said:
...If you convert your data partition to F2FS...
Click to expand...
Click to collapse
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!
J-Pod said:
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!
Click to expand...
Click to collapse
I did it using twrp recovery 2.8.6.0 built by amaces. There's an option that allows you to convert some partitions to f2fs. Remember, it will erase all your files in your nook. Do a backup of your files before converting to f2fs.
J-Pod said:
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!
Click to expand...
Click to collapse
Using @amaces TWRP, go to Wipe, check the data box, select "advanced wipe then it's something like " repair file system". I'm sure you can figure it from that.
Hello!
This is a development thread for those who is ready to contribute to the creation of a custom ROM for NEC Terrain.
The prior steps, which are bootloader unlock, rooting and even repartitioning have found their solutions and can be found in:
http://forum.xda-developers.com/showthread.php?t=2515602 for the discussion
https://github.com/x29a/nec_terrain_root for an apk which opens for you an ability to have the system area of the phone writeable
https://github.com/alex-kas/nec_terrain for the last ideas on how recovery and boot images should look like and the repartitioning
So, all questions regarding all the above should be asked in that thread as they are off-topic here.
For more general questions regarding the present rom, programs to disable, features and current bugs/oddities, please, see
http://forum.xda-developers.com/general/help/q-nec-terrain-discussion-t3162070
Thanks for understanding the thread aim and welcome to development!
Found this CWM recovery creator online. Apparently you can just upload the recovery img that comes with a phone and it will generate/build a recovery based on that. Worth a try?
EDIT: Here's the link. Apparently it is necessary for some phones to upload additional files to get the recovery to work properly. I'll look into it when I start to build this thing
https://builder.clockworkmod.com/
Sent from my LG-D415 using XDA Forums
alright......so ADW launcher is very very unstable with this ROM. Basically spontaneous reboot every 30min or so.
I need 5 panels, and the stock launcher can add them, but it always make the second panel default, which is very annoying.
So which launcher do you guys prefer?
Have I found?
Unfortunately this builder does not spit output ...
I got a strong impression the Terrain is reduced CasioCommando with qwerty. @MrMEEE, I suggest to investigate this direction. The later phone is reported to have both: custom roms and custom kernel. xda has developments on this.
This guess is NOT because NEC is Casio, this is because I found that both phones use for some unknown device the so called ktrc_driver.ko kernel module and the only device apart from Terrain which I could spot by google is CasioCommando. Then, of course, accounting that NEC is Casio I make this conclusion.
Also the boot of Terrain contains commands and even kernel modules references that do not exist. I have a gut feeling that devs were in rush and just were porting some system from another phone.
EDIT: I found a binary custom recovery for commando and so far it is the ONLY recovery which comes to some graphical image! I learned that graphics is device-dependent and presence of some colored points suggests that the graphics driver is correct. One just need to adjust the resolution ... This supports my theory that commando may be the prototype for the kernel.
Will try also to look into all of that.
alex-kas said:
Unfortunately this builder does not spit output ...
I got a strong impression the Terrain is reduced CasioCommando with qwerty. @MrMEEE, I suggest to investigate this direction. The later phone is reported to have both: custom roms and custom kernel. xda has developments on this.
This guess is NOT because NEC is Casio, this is because I found that both phones use for some unknown device the so called ktrc_driver.ko kernel module and the only device apart from Terrain which I could spot by google is CasioCommando. Then, of course, accounting that NEC is Casio I make this conclusion.
Also the boot of Terrain contains commands and even kernel modules references that do not exist. I have a gut feeling that devs were in rush and just were porting some system from another phone.
EDIT: I found a binary custom recovery for commando and so far it is the ONLY recovery which comes to some graphical image! I learned that graphics is device-dependent and presence of some colored points suggests that the graphics driver is correct. One just need to adjust the resolution ... This supports my theory that commando may be the prototype for the kernel.
Will try also to look into all of that.
Click to expand...
Click to collapse
Probably explains why we have an HDMI selector in the build.prop, huh...
But wow, that's an astounding discovery! Never would have guessed NEC = Casio. I believe there are 2 Casio Commandos, I assume you are referencing the newer one?
Sent from my LG-D415 using XDA
alex-kas said:
Unfortunately this builder does not spit output ...
I got a strong impression the Terrain is reduced CasioCommando with qwerty. @MrMEEE, I suggest to investigate this direction. The later phone is reported to have both: custom roms and custom kernel. xda has developments on this.
This guess is NOT because NEC is Casio, this is because I found that both phones use for some unknown device the so called ktrc_driver.ko kernel module and the only device apart from Terrain which I could spot by google is CasioCommando. Then, of course, accounting that NEC is Casio I make this conclusion.
Also the boot of Terrain contains commands and even kernel modules references that do not exist. I have a gut feeling that devs were in rush and just were porting some system from another phone.
EDIT: I found a binary custom recovery for commando and so far it is the ONLY recovery which comes to some graphical image! I learned that graphics is device-dependent and presence of some colored points suggests that the graphics driver is correct. One just need to adjust the resolution ... This supports my theory that commando may be the prototype for the kernel.
Will try also to look into all of that.
Click to expand...
Click to collapse
If you are correct, then the kernel source is available here:
http://www.casiogzone.com/us/download/index.html
I'll look into it..
GPL or not GPL?
Citation from http://wiki.cyanogenmod.org/w/Doc:_porting_intro:
"The manufacturer or vender of any device using Android will minimally need to make the source code available for all GPL components upon request, including (and especially) the kernel. You definitely want to request a copy of the kernel source and keep it handy."
Can anyone clarify the tedious question in the subject? I mean, does running android implies gpl on kernel? Can anyone (NEC, ATT, Qualcom) hide the source and what the conditions should be then? Can they have proprietary blobs in the kernel?
Weird
alex-kas said:
Citation from http://wiki.cyanogenmod.org/w/Doc:_porting_intro:
"The manufacturer or vender of any device using Android will minimally need to make the source code available for all GPL components upon request, including (and especially) the kernel. You definitely want to request a copy of the kernel source and keep it handy."
Can anyone clarify the tedious question in the subject? I mean, does running android implies gpl on kernel? Can anyone (NEC, ATT, Qualcom) hide the source and what the conditions should be then? Can they have proprietary blobs in the kernel?
Weird
Click to expand...
Click to collapse
Android runs on a standard Linux kernel which is GPL covered. Android is really just a Java VM inside of a Linux kernel I believe. So yes, Android kernel IS Linux kernel so therefore it would be GPL covered (thanks for the explanation @Nardholio )
They understand GPL. Anything based on the Linux Kernel must have the source released, so AFAIK there is no "proprietary" in a Linux Kernel... however that is just my understanding and if I am wrong someone please correct me. If they put "proprietary" code in the kernel and try to use that as an excuse to not release it, I say "Too bad, that's not an excuse, since you understood GPL when you built the kernel but are refusing to follow it. Guess what, now you have to release the kernel AND your "proprietary" software! LOL!!!"
Sent from my LG-D415 using XDA
I posted this in the wrong thread. Long story short I found someone interested in helping enforce the GPL for the Terrain but I don't own one. I need someone who owns a Terrain (preferably directly bought from AT&T or NEC) and who has already requested kernel source and either received no response or a refusal (I used the feedback form on NEC's website and got a polite refusal a few days later but I don't own one)
Nardholio said:
I posted this in the wrong thread. Long story short I found someone interested in helping enforce the GPL for the Terrain but I don't own one. I need someone who owns a Terrain (preferably directly bought from AT&T or NEC) and who has already requested kernel source and either received no response or a refusal (I used the feedback form on NEC's website and got a polite refusal a few days later but I don't own one)
Click to expand...
Click to collapse
I own a Terrain, and have gotten a refusal from NEC support...
What do you have in mind???
---------- Post added at 12:21 PM ---------- Previous post was at 12:19 PM ----------
Dear Mr. Martin Juhl,
Thank you for contacting NEC.
This is in regards to your email about the kernel of the NEC Terrain phone. You may check the kernel version and build number of the device on the phone itself. We do not have the source code of the device nor release them.
Please feel free to email us at [email protected] or call our toll free Customer Service number (1-800-637-5917) if you have any additional questions.
Your reference number for this inquiry is: 150727-000011
Thank you again for taking the time to write.
Sincerely,
NEC Customer Support
MrMEEE said:
I own a Terrain, and have gotten a refusal from NEC support...
What do you have in mind???
---------- Post added at 12:21 PM ---------- Previous post was at 12:19 PM ----------
Dear Mr. Martin Juhl,
Thank you for contacting NEC.
This is in regards to your email about the kernel of the NEC Terrain phone. You may check the kernel version and build number of the device on the phone itself. We do not have the source code of the device nor release them.
Please feel free to email us at [email protected] or call our toll free Customer Service number (1-800-637-5917) if you have any additional questions.
Your reference number for this inquiry is: 150727-000011
Thank you again for taking the time to write.
Sincerely,
NEC Customer Support
Click to expand...
Click to collapse
Sweet. PM me your email address and I will hand off my communication with the SF Conservancy to you. Just saying you can go to kernel.org and download the Linux kernel is NOT a sufficient response. They need to provide full source to boot the device (including board files, device drivers, any in kernel firmware, and build scripts)
YOU WILL NOT BELIEVE!
http://nec-mobilecom.co.jp/gpl/w/list/NEC_TERRAIN.html
I pressed NEC to deliver it. Have no time to check right away the integrity. Also, I have some problem downloading from CAF (I'm in a place where git is blocked). Maybe will ask someone to help (re-download to an http store).
alex-kas said:
YOU WILL NOT BELIEVE!
http://nec-mobilecom.co.jp/gpl/w/list/NEC_TERRAIN.html
I pressed NEC to deliver it. Have no time to check right away the integrity. Also, I have some problem downloading from CAF (I'm in a place where git is blocked). Maybe will ask someone to help (re-download to an http store).
Click to expand...
Click to collapse
Well sh*t... Never thought this would happen in a bazillion years.
Yet if you read their terms and conditions, it states you aren't allowed to reversed engineer their software to a "human readable form". Is this nullified by GPL, or can we be in trouble for using their kernel source for a ROM?
EDIT: Just downloaded myself a copy of the kernel.
Sent from my SAMSUNG-SGH-I747 using XDA Free mobile app
I do not care. I asked, nec gave the source publicly. no reverse engineering. Now we all gpl. My point.
Sent on the go
I don't think they would care as long as you are not reselling it...... you aren't, right?
Sent from my SGH-I547C using XDA Free mobile app
Darn, I was gonna set up a booth in front of my house and be one of those loud, obnoxious salesmen
hey mister.... I'mer gonna take two them kernel if ye can cut me a deal....
jasonmerc said:
Darn, I was gonna set up a booth in front of my house and be one of those loud, obnoxious salesmen
"GEEEETTT'CHA KERNEL SOURCE HEEEEEEAAA! TERRAIN KERNEL SOURCE, ONLY FIIIIIVE DOLLAHS! MAKE YOURSELF A ROM! CUSTOM RECOVERY! FIIIIIIVE DOLLAHS!"
Click to expand...
Click to collapse
First experiments
Results for the moment are like this:
1. The kernel does compile with the modified files with no compilation issues at all.
2. The kernel is smaller then the stock one.
3. The recovery.img produced by full caf build does boot but halts at the android image with the red triangle. Or perhaps does not halt but I did not come with a key combination to proceed.
PROS: graphics works
4. The kernel being stuffed into original boot image does boot, shows boot animation WITHOUT boot sound and then not surprisingly goes to a bootloop flashing the home screen
CONS: seems that sound is not here yet
5. The bootloop was broken using
adb reboot recovery
which means that adb does function
6. I did not try to flash the whole image to check whether bootloops are due to somewhat above the kernel (aka this kernel doesn't work with the stock soft).
Overall, we have a messy kernel source which however at least boots to init, communicates with adb and has graphics.
I'm free for a team project: who is in?
Technically, to make this particular caf manifest I had to install a virtual ubuntu 10.04 x64. My native machine failed to compile. I have gcc 4.9. Even the downgrade to 4.4.7 did not do the job. And for some reason I failed to compile gcc 4.4.3 for my machine. ubuntu 10.04 has gcc 4.4.3. But there you need to install some stuff and update the present there python (it is just 6.5 there but still some update exists still inside 6.5 and it fixes somewhat causing a peculiar error during the build). Also, be aware: you cannot compile on a virtualbox share: mmap does not work for security reasons. You must arrange ALL inside the virtual machine. After the build it is about 53GiB. So, the vm-drive should be at least 60 giga.
alex-kas said:
Results for the moment are like this:
1. The kernel does compile with the modified files with no compilation issues at all.
2. The kernel is smaller then the stock one.
3. The recovery.img produced by full caf build does boot but halts at the android image with the red triangle. Or perhaps does not halt but I did not come with a key combination to proceed.
PROS: graphics works
4. The kernel being stuffed into original boot image does boot, shows boot animation WITHOUT boot sound and then not surprisingly goes to a bootloop flashing the home screen
CONS: seems that sound is not here yet
5. The bootloop was broken using
adb reboot recovery
which means that adb does function
6. I did not try to flash the whole image to check whether bootloops are due to somewhat above the kernel (aka this kernel doesn't work with the stock soft).
Overall, we have a messy kernel source which however at least boots to init, communicates with adb and has graphics.
I'm free for a team project: who is in?
Technically, to make this particular caf manifest I had to install a virtual ubuntu 10.04 x64. My native machine failed to compile. I have gcc 4.9. Even the downgrade to 4.4.7 did not do the job. And for some reason I failed to compile gcc 4.4.3 for my machine. ubuntu 10.04 has gcc 4.4.3. But there you need to install some stuff and update the present there python (it is just 6.5 there but still some update exists still inside 6.5 and it fixes somewhat causing a peculiar error during the build). Also, be aware: you cannot compile on a virtualbox share: mmap does not work for security reasons. You must arrange ALL inside the virtual machine. After the build it is about 53GiB. So, the vm-drive should be at least 60 giga.
Click to expand...
Click to collapse
I haven't code in years, but I want to help out. I am ok with scripting and also able to load stuff to my terrain for testing. Let me know.
Progress Inquiry
Happy New Year!
Just wondering if any progress has been made for this particular device. I understand we all have lives and things get in the way, or interests wither away, its just an inquiry. I'd love to see an update to this device, even up to kitkat if that was possible. Any suggestions on how to recruit developers whom may be interested in the challenge of custom rom development for this device?
ROM Ipioneer Slim 10c v0.1
A light, clean & faster rom!!!
Disclaimer:
/***
* Your warranty is now void (and I'm sure it was void before this process).
* I am not responsible for hard or soft bricked devices, boot loops, dead or corrupt sd cards, strange behavior or you getting a heart attack 'cuz your youtube app is not working properly.
* YOU and only YOU are choosing to make these modifications, do not blame on me.... I will just ignore you.
***/
iPioneer Slim 10c v0.1 is a light, clean and fast custom rom designed for the Lg G Pad X 8.0 (T-Mobile variant only) and it's aim is to become a replacement for the default system of this device.
iPioneer Slim 10c v0.1 it is light because it only takes 519.8Mb of disk space which is a big difference when you compare the 1.2Gb of a stock rom, it is clean because it only contains the essential apps to make it work properly and it is faster because the whole system have been 100% optimized.
iPioneer it have been designed with the User Freedom in mind, it only provides you with the basic OS so you can do what you need to do on top of that.
Features:
Based on stock (10c)
Rooted
Busyboxed
Init.d Support
Extremely debloated (very serious)
Deodexed
Zipaligned
Nova as default launcher
Installation instructions:
Download the rom to your desire location (link to download to the end of this post).
Boot into Twrp recovery and do a standard wipe (factory reset).
Install the downloaded rom .zip.
Reboot the device.
Be patient, is going to take more time than a regular stock rom to boot into the system, at first is going to be stuck at T-Mobile logo but after few seconds is going to enter into App Optimization mode and after that you will be able to setup your system.
Enjoy it.
First things to do after you install this rom:
Add your google account (if you didn't complete that step at the first setup).
Download your favorite app manager (Rom Toolbox, Titanium, etc.).
Freeze the application called App Updates in order to stop the system update beacon for OTA. I removed 3 core apps in order to stop OTAs but it seems to be very integrated with the system, there is no way I can remove it from the rom without breaking the system. This is the most practical way to my knowledge right now.
Optionals things to do after you install this rom:
You can uninstall Nova Launcher if you want as is not part of the system apps, but before you need to install your favorite launcher. If you don't install another launcher and remove Nova you will have a broken system and most likely you'll have to re-flash the rom.
On purpose bugs and missing options:
On purpose bugs are bugs that comes when you remove a functionality from the system but it can not be removed from a third party component, example: LG VPN app it has been removed but the options remains in the Settings of the device and when you tap that option you will provoke a crash event, the way to resolve this is to decode the third party component (very difficult) or reinstall the missing part (in this case the LG VPN app).
iPioneer Slim 0.1 it comes without some apps that can not be removed from the system setting options, this is like that because I believe that these apps are not necessary for all people, if someone need them they can be downloaded/replaced from the Play Store or I will provide a flashable file with these apps so you can install them.
On Purpose bugs (located at settings):
From the Share & Connect menu:
File Sharing that contains BLE and Android Beam doesn't work, package SmartShare it has been removed.
Media Server (DLNA) doesn't work, package SmartShare that also contains SmartShare.MediaServer it has been removed.
Lg Airdrive doesn't work, package LGAirDrive & LGAirDriveSettings were removed.
From More>VPN menu:
LG VPN doesn't work, package VpnClient_LG it has been removed. Basic VPN it works.
From Display menu:
Home screen doesn't work, packages LGHome, HomeSelector, LGHome_Theme_Optimus, com.lge.launcher3, com.lge.launcher2.theme.optimus were removed.
If you need these options to be available on your system just download these app on Play Store if they are available or just wait until I have ready the System Apps flashable zips.
Missing options (located at settings):
Smart Cleaning not present, package LGSpringCleaning it has been removed.
Cloud (cloud integration in settings) not present, package CloudHub (maybe dependant on SmartShare package) it has been removed, please also note that this cloud integration it was integrated on the stock File Manager, so... if you want a full integration of the Cloud service on settings maybe you will have to install the stock File Manager provided by LGFileManager package.
From Backup & reset menu:
LG Backup is not present, packages LGBackupLauncher and LGBackup were removed.
From About tablet menu:
Update Center and its content (App updates & System updates) is not present, packages com.lge.appbox.client (app updates), com.lge.updatecenter & LGUpdateCenter (main menu for updates) were removed.
If you need these options to be available on your system just download these app on Play Store if they are available or just wait until I have ready the System Apps flashable zips.Flashable zip with system apps:
Coming soon when I have a free time.
What to do if you get the OTA notification:
Freeze the app called App Updates with your favorite app manager.
With your favorite file manager go to /cache and delete the update.zip (the downloaded ota).
Tap on Restart & Install button on OTA pop-up, the pop-up it will start counting to 0 in order to restart but your device won't restart because there are 3 core apps removed from this rom plus 1 app that you just disabled (all these 4 app controls the OTA), the notification is just gonna disappear, push recent button and clear the ota pop-up window.
Bugs Report:
If you find a bug in this rom just notify me about that in this thread, please, just use the title as "Bug Report" so I can pay close attention to that, my time is very limited. Thank you.
Feature Request:
If you want a feature to be added into future revisions of this rom just notify me about that in this thread, please, just use the title as "Feature Request" so I can pay close attention to that, my time is very limited. Thank you.
More info:
-------------------------------------
Device: Lg G Pad X 8.0
Model: LGV521
Code Name: b3
Carrier: T-Mobile
Android version: 6.0.1
Security patch level: 2016-07-01
Software version: V52110c
Link: https://www.androidfilehost.com/?fid=385035244224403624
Screenshots:
Default View: (sorry guys, I was not able fix Nova in order to show an organized and clean layout by default).
Default App Drawer: remember this is an extremely debloated rom, only the most basic core apps remains.
Settings view, yes some options are not present, read above about this.
Software info.
Reserved 2...
For some reason this post doesn't show up on ET page: lg-g-padx
Too bad, a lot of people won't be able to see this rom, but I can do nothing.
If someone knows an admin who can fix this issue please make mention of this post to him. I would do it but I don't have the time to.
Thank you.
Some screenshots added on post #2...
How fast does it run compared to the stock rom?
Munns86 said:
How fast does it run compared to the stock rom?
Click to expand...
Click to collapse
How fast it can go is a subjective matter:
It will depend on hardware lifetime span (how you use it and how other people use this tablet).
It will depend how much apps and content you put in it (the more things you download the more slow android is gonna be, this is kind a Swap area).
I did not do a benchmark, when I declared that is faster than a stock rom is because that speed response enhacement it comes based on the Deodex and Zipalign process. It can be or maybe not noticeable to your eyes but based on deodex and zipalign process is for sure that is faster than an odex and not-zipaligned rom.
The best answer is that you need to try it on your own and see the difference.
Sent from my LG-H918 using Tapatalk
Poll added at the beginning (not visible in tapatalk or xda app).
Please only select the apps that you really need or you really think that should comes with the next revision of iPioneer Slim rom.
This will help me to build a better version with features that users needs.
C'mon guys... only 3 users have use the poll...
I need more data background in order to release a new version of the Slim line version (may be the last one).
All V521 users please contribute with this.
Right now I'm testing a new build that it seems to have success stoping ota download and notification & I have removed even more bloat background packages.
As of today I start the syncing process of CyanogenMod for our device, so all I ask is that V521 users vote in the poll so I can build and release what I think it would be the last Slim version (iPioneer Slim 0.2) based on users needs.
Once I start the developtment with CM I will not pay attentions to the Stock & Slim version until I finish with what is gonna become iPioneer CM 13.
Thank you for your attention guys.
BTW: sorry for my english, I try so hard to write all this in a good way. Arriba Mexico Papa!!!
xtremelora said:
C'mon guys... only 3 users have use the poll...
I need more data background in order to release a new version of the Slim line version (may be the last one).
All V521 users please contribute with this.
Right now I'm testing a new build that it seems to have success stoping ota download and notification & I have removed even more bloat background packages.
As of today I start the syncing process of CyanogenMod for our device, so all I ask is that V521 users vote in the poll so I can build and release what I think it would be the last Slim version (iPioneer Slim 0.2) based on users needs.
Once I start the developtment with CM I will not pay attentions to the Stock & Slim version until I finish with what is gonna become iPioneer CM 13.
Thank you for your attention guys.
BTW: sorry for my english, I try so hard to write all this in a good way. Arriba Mexico Papa!!!
Click to expand...
Click to collapse
The reason is that the xda app can't see the vote going on.
Personally, I will be excited to see a cm/aosp custom build, which will sure draw much more attention.
googlephone said:
The reason is that the xda app can't see the vote going on.
Click to expand...
Click to collapse
But it is visible and operable through a normal web browser in android: http://forum.xda-developers.com/lg-...ioneer-slim-0-1-lg-g-pad-x-8-0-t3513030/page1
Or the option LOAD IN BROWSER in xda app and WEB VIEW in tapatalk...
xtremelora said:
But it is visible and operable through a normal web browser in android: http://forum.xda-developers.com/lg-...ioneer-slim-0-1-lg-g-pad-x-8-0-t3513030/page1
Or the option LOAD IN BROWSER in xda app and WEB VIEW in tapatalk...
Click to expand...
Click to collapse
Another reason is not many users are interested enough in a slimmed stock rom. The benefits of a slimmed stock rom may include less system storage usage. But the free uped system storage is not accessible for users to use as data storage anyway. Speedwise, I wouldn't expect noticeable improvement from a slimmed stock rom. As a result, the benefits of a slimmed stock rom is not enough to draw users' attention or interest.
I am a flashholic but I actually not interested in slimmed stock at all because I already have root.
I personally advise you to not spend too much time on modified stock rom.
I appreciate your work and look forward to your future possible cm rom, which I will definitely try it out and will draw many g pad x users here. And don't forget there is a bounty for custom roms like cm.
googlephone said:
Another reason is not many users are interested enough in a slimmed stock rom. The benefits of a slimmed stock rom may include less system storage usage. But the free uped system storage is not accessible for users to use as data storage anyway. Speedwise, I wouldn't expect noticeable improvement from a slimmed stock rom. As a result, the benefits of a slimmed stock rom is not enough to draw users' attention or interest.
I am a flashholic but I actually not interested in slimmed stock at all because I already have root.
I personally advise you to not spend too much time on modified stock rom.
I appreciate your work and look forward to your future possible cm rom, which I will definitely try it out and will draw many g pad x users here. And don't forget there is a bounty for custom roms like cm.
Click to expand...
Click to collapse
You are right about working in a stock version. The reason why I'm doing this is because we all know that CM most of the time has bugs, bluetooh problems, camera issues, data conectivity troubles, etc...
Sooooo, if the version of CM I'm going to compile it results with many bugs there is gonna be the option to go back to stock slimed or stock bloated.
I can build a CM verion but Im not the kind of guy who inverts his time in CODE MODIFICATION, so hopefully the build it comes with no bugs at all or at least no major bugs.
The other alternative is that I can sync, compile and build and one more guys can do the bug fixes.
xtremelora said:
You are right about working in a stock version. The reason why I'm doing this is because we all know that CM most of the time has bugs, bluetooh problems, camera issues, data conectivity troubles, etc...
Sooooo, if the version of CM I'm going to compile it results with many bugs there is gonna be the option to go back to stock slimed or stock bloated.
I can build a CM verion but Im not the kind of guy who inverts his time in CODE MODIFICATION, so hopefully the build it comes with no bugs at all or at least no major bugs.
The other alternative is that I can sync, compile and build and one more guys can do the bug fixes.
Click to expand...
Click to collapse
That would be great! I think if you took a poll most people would prefer a CM build to a slimmed down stock build.
Munns86 said:
That would be great! I think if you took a poll most people would prefer a CM build to a slimmed down stock build.
Click to expand...
Click to collapse
Yeah, I know that. Wish me luck.
Right now I'm stuck trying to get the Blobs for this device and compiling the kernel so I can build the CM recovery, once I have the recovery done I can start compiling CM and start testing.
I'm trying to by pass the kernel (as is not need it right now to build the recovery) but for some reason the system is demanding an standard and working kernel... weird...
But honestly speaking is gonna take lot of time. So be patient guys.
xtremelora said:
Yeah, I know that. Wish me luck.
Right now I'm stuck trying to get the Blobs for this device and compiling the kernel so I can build the CM recovery, once I have the recovery done I can start compiling CM and start testing.
I'm trying to by pass the kernel (as is not need it right now to build the recovery) but for some reason the system is demanding an standard and working kernel... weird...
But honestly speaking is gonna take lot of time. So be patient guys.
Click to expand...
Click to collapse
There is already a TWRP recovery for v521. Why you need to compile cm recovery?
googlephone said:
There is already a TWRP recovery for v521. Why you need to compile cm recovery?
Click to expand...
Click to collapse
Ik, is just a prebuilt because our device doesnt have a device tree or structure already, so making this at first is gonna help me to buil the cm zip.
Is not need it if a device tree already exist but not in this case, just see it like a pretesting of code for this device.
When I try to compile this recovery things are gonna break so you get info of what is missing, what you need, log, etc... So you fix everything you can in this step and then you build the cm.zip in a better way (less issues).
Sent from my LG-H918 using Tapatalk
xtremelora said:
Ik, is just a prebuilt because our device doesnt have a device tree or structure already, so making this at first is gonna help me to buil the cm zip.
Is not need it if a device tree already exist but not in this case, just see it like a pretesting of code for this device.
When I try to compile this recovery things are gonna break so you get info of what is missing, what you need, log, etc... So you fix everything you can in this step and then you build the cm.zip in a better way (less issues).
Sent from my LG-H918 using Tapatalk
Click to expand...
Click to collapse
https://github.com/Shabbypenguin/android_device_lge_b3
device tree has been around for a while, it obviously will need some renaming to work for cm source but its a good foundation to start with.
shabbypenguin said:
https://github.com/Shabbypenguin/android_device_lge_b3
device tree has been around for a while, it obviously will need some renaming to work for cm source but its a good foundation to start with.
Click to expand...
Click to collapse
These are your device tree for twrp 4 b3 right?
Let me see if I can work with that, I was almost done building the cm.recovery and fixing some boot.img issues but if I can take your files that would save time.
Did you forked that device tree or u just build it from scratch?
If you forked them, from what device?
I was thinking on pulling the v500 just to figure out some sort of missing info I havent been able to catch from ramdisk.
xtremelora said:
These are your device tree for twrp 4 b3 right?
Let me see if I can work with that, I was almost done building the cm.recovery and fixing some boot.img issues but if I can take your files that would save time.
Did you forked that device tree or u just build it from scratch?
If you forked them, from what device?
I was thinking on pulling the v500 just to figure out some sort of missing info I havent been able to catch from ramdisk.
Click to expand...
Click to collapse
i built it from scratch, id be careful looking too much at the v500, it's a snapdragon 600 SOC which is very old and is a quad core. the 615 in the g pad x is octacore and much newer. even the ramdisk is going to have big differences in how its handled.