[Q] Help needed porting CM11 - T-Mobile Sidekick 4G

Since development for the Sidekick 4G has stopped I decided to try and port the CM11 M10 snapshot from the Galaxy S 4G using this guide. I used the Galaxy S 4G as port ROM since most of the specs are the same as the SK4G. The base ROM I used is ayoteddy"s KJ2 Deodexed & rooted ROM. I followed the guide and flashed the ROM I made but the phone didn't boot. It stays stuck at the tmobile startup screen and then bootloops. I took a logcat and see a lot of errors but idk how to correct them. I tried uploading the ROMs I used and the one I created but it only let me upload the logcat.

Hey,
Its awesome to see some more effort in this phone but when porting a ROM one of the main prerequisites is the base being the same android version.
So to port cm11 over you would need a kitkat kernel and ROM for the sk4g already.
What would be real helpful is to get the gingerbread kernel fully functional then any GB ROM could be ported fairly easily.
Or start with a kitkat kernel but both require a bit of work. If you want to take it on a can link a bunch of guides that may help

Thanks for that info. I don't have experience coding but I would like to be able to learn how to cook and port roms so I would really appreciate some guides. As I understand it, since there is no KitKat ROM available for the sk4g I would first need to make my own KitKat kernel and ROM before I would be able to port cm11? And how long do you think it would take to learn everything needed to be able to port and cook roms?

Hey,
On mobile right now so can't post a bunch of links but xda is filled with them
The best place to start would be http://www.xda-university.com
And be sure to check out the forum links as well!
For a quick set of links see the seventh post in this thread
http://forum.xda-developers.com/showthread.php?t=2348266
For a different device but those are all great places to start learning to develop for android
Keep me posted on your progress!

Took me a while to find some useful guides since I was searching with the term "port" and not "build/compile from source" since that is essentially what I'm doing. I used wiki.cyanogenmod.org/w/Doc:_porting_intro and wiki.cyanogenmod.org/w/Build_for_galaxysmtd (can't post links yet). I forked the galaxys4g repo and modified the files to be suited for the sidekick4g. Now I'm onto the building step, a couple of things already broke and I managed to fix them, but I ran into this error and haven't been able to fix it.
brunch sidekick4"ebtables is disabled on this build"
find: `src': No such file or directory
build/core/base_rules.mk:134: *** system/extras/ext4_utils: MODULE.TARGET.EXECUTABLES.setup_fs already defined by device/samsung/sidekick4g. Stop.
I researched the MODULE.TARGET.EXECUTABLES.setup_fs already defined by device/samsung/sidekick4g issue and suggestions were to delete the setup_fs file within device/samsung/sidekick4g folder. However the setup_fs file wasn't in there, I did find a setup_fs.c file and deleted that one. Then I proceeded to try the build again and ran into the same error. Another suggestion was to use grep -R setup_fs *. This command pointed to these files,
Android.mk:LOCAL_SRC_FILES := setup_fs.c
Android.mk:LOCAL_MODULE := setup_fs
Android.mk~:LOCAL_SRC_FILES := setup_fs.c
Android.mk~:LOCAL_MODULE := setup_fs
initramfs/init.herring.rc:service setup_fs /system/bin/setup_fs /dev/block/platform/s3c-sdhci.0/by-name/userdata
sidekick4g.mk: setup_fs
But I don't know what exactly I'm supposed to delete. The device repo is located at github.com/SK4G/android_device_samsung_sidekick4g.git It is a pre-build attempt version before I made suggested changes to the local repo. I tried "git push origin master", the command went through and said everything is up to date but the remote repo still wasn't changed so I haven't been able to update it.

What are you using for the device tree? The relay is a completely different device and none of the drivers would work, did you at least pull blobs and proprietary files from a sk4g?
There is a ton of setup to be done in order to build from source, you can use the cm11 source but need to make a specific device tree for the sidekick to get a working build, not to mention a ton of kernel work will be needed

For the device tree I forked the galaxys4g repo (not the galaxy s relay 4g) and then modified the files to build the sidekick4g specific device tree. When pulling the blobs and proprietary files the guide said " Your device should already be running a build of CyanogenMod for the branch you wish to build for the extract-files.sh script to function properly". Not sure if that's relevant to the errors but I was still able to pull the blobs towards the correct ~/android/system/vendor/samsung directory. As far as the kernel I downloaded the stock kernel from the samsung source website and then put it in the kernel/samsung/sidekick4g directory. The guide said that the kernel and kernel modules would be built automatically as long as I made appropritate changes to the BoardConfig.mk and I did so. I have done every step in the guide and now I'm into building but I can't get past the previously mentioned error. Should I delete the whole part of the files mentioned by the grep -R setup_fs * command or just the red part or is there another solution?

Well the blobs that were pulled and the kernel that was used was for froyo, that won't work for kitkat without a weeks worth of modification
Also the s4 is even more different than the relay and would be much harder to use anything from there
What you need at this point is to create your own device tree on github and add this to your local manifest, then the hard part is to adapt the sk4g kernel into something that will work with kitkat, once this steps are complete you can build and then fix the errors that come up, fixing any errors at this point won't help much as the files used are incompatible from the start

I should have been more specific, I used the T-Mobile Galaxy S 4G which is one the first galaxy phones. It has the same hummingbird chipset, architecture, ram/rom size, resolution, and both originally ran froyo. The guide states that the cm buildbots build a compatible kernel for me. I didn't just fork the galaxys4g repo and leave it as is. I went through the files and substituted anything that was galaxys4g device specific to fit the sidekick4g.

No problem, should have read more clearly, yes the galaxy s is very similar minus the keyboard but you can look at the work that was done to get a GB ROM booting here
http://forum.xda-developers.com/showthread.php?t=2323617
This was done on the exhibit, another very similar phone,
Even after the kernel was adapted the keyboard never worked, you check the link to his github to see what was put into it to work
The kernel built by the bot won't adapt it to work between different versions of android so you need to build this manually first then you can use it, but even then there will be a lot to do in order to get the keyboard working

Now I'm beginning to understand what you have been trying to tell me. It was hard to grasp at fist because I never really looked into building a kernel since I usually just use the stock kernel or the cm built in kernel on my devices. Now I shall redirect my efforts into building a kernel

Hi I just wanted to know if you're still building port for the sidekick 4G I still have mine and I would like to use if you have kitkat to work. I miss my sidekick 4G
Sent from my Nexus 6 using XDA Free mobile app

Related

Relationship between Android and kernel

Hi all,
Looking to build my first custom Rom and had some queries terminology-wise.
What is the relationship between the kernel and Google's android platform? For instance, is froyo tied to a specific kernel and is this in the source tree?
Second q: HTC release their kernel sources. Say I wanted to get a froyo build up for a device that currently only has eclair, would the procedure be to diff the HTC modifications against the vanilla version and then make the appropriate changes to froyo?
Third q: what makes a Rom specific to a device? Probably linked to first question...
Many thanks,
Martin
Sent from my HTC Wildfire using XDA App
The kernel is basically just a linux kernel with device specific drivers and such added. I've done a 'diff' between the Eris 2.6.29 kernel from HTC and the 'generic' 2.6.29 kernel from kernel.org. It's kind of neat to see the difference. I highly recommend you do that.
There are also device specific drivers in the file structure that the ROM needs in order to function.
What I've done is compile AOSP from source, compile the kernel from source, zip up the needed files/folders, signed the ROM, and then flashed it to test. If you look at Android Builder in my sig, you can figure out the difference between the Eris and your device. You'll have to change the kernel that gets downloaded, of course. And it really just gives you a basic ROM without the device specific drivers, so things will not work without figuring the rest out. Grab a stock ROM to get drivers, libs, etc. out of.
/system/usr/keychars & /system/usr/keylayout usually have the keyboard drivers, which are somewhat important.
Also in my sig is the SgtShultz ROM where I tried to make a usable ROM from as close to source as possible. You might get some ideas from there. I still haven't figured out how to get the audio to work. If I get that worked out, I'll actually start using the ROM daily and work out the rest!
Froyo seems to work with kernel versions 2.6.29+, btw.
Many thanks for this; it's given me a good set of places to start reading.
Just pulling down all the AOSP source as we speak, with the hopes of getting a basic build up in the near future
gnarlyc said:
What I've done is compile AOSP from source, compile the kernel from source, zip up the needed files/folders, signed the ROM, and then flashed it to test. If you look at Android Builder in my sig, you can figure out the difference between the Eris and your device. You'll have to change the kernel that gets downloaded, of course. And it really just gives you a basic ROM without the device specific drivers, so things will not work without figuring the rest out. Grab a stock ROM to get drivers, libs, etc. out of.
[...]
/system/usr/keychars & /system/usr/keylayout usually have the keyboard drivers, which are somewhat important.
[...]
Froyo seems to work with kernel versions 2.6.29+, btw.
Click to expand...
Click to collapse
A couple of questions on this front...
I can see, obviously, where to get the kernel source and needed drivers; I am, however, unclear as to where I should obtain AOSP drivers from (to go, for instance, in /devices/htc/buzz and/devices/htc/buzz-common). Can I extract these from my device? (or do I need to wait until they release Froyo and then extract them from a device running the newer build?) Where on the device should I be looking for this driver set?
Thanks again,
Martin
MartinEve said:
A couple of questions on this front...
I can see, obviously, where to get the kernel source and needed drivers; I am, however, unclear as to where I should obtain AOSP drivers from (to go, for instance, in /devices/htc/buzz and/devices/htc/buzz-common). Can I extract these from my device? (or do I need to wait until they release Froyo and then extract them from a device running the newer build?) Where on the device should I be looking for this driver set?
Thanks again,
Martin
Click to expand...
Click to collapse
For the most part, any Eclair drivers seem to work. At least that's what I have used for the Eris. 2.1 -> 2.2 isn't too big of a jump. I used drivers from a stock 2.1 ROM.
Look up vendor tree, vendor config, and 'extract-files.sh'. You'll see what people with other devices have done. I have yet to quite get the whole vendor tree thing worked out, but others have. You can just come up with a list of needed drivers to add to the 'extract-files.sh' script and just copy those files in manually. (That's what I have done.) This will get pretty close to making an AOSP build complete. However, it appears that actually using the vendor tree setup while compiling will get things 'right'. There appear to be some libs that will compile differently for different devices.
So, basically, if you compile AOSP without a vendor tree for your device, the build will be located in out/target/product/generic. (And, you can copy drivers in later while using the kitchen, but you might miss out on some AOSP stuff with device-specific changes.) If you use the vendor tree, it will be in /out/target/product/buzz and will contain the drivers that the 'extract-files.sh' script grabbed from your device along with custom compiled libs.
If you are able to get a working vendor tree for your device, it will be helpful to the entire community. They'll all be able to use it for their builds. I highly recommend doing that. Most groups use github or something similar to post the code.
I still have much to learn myself, and you are starting to reach my limit! Good stuff.
Hi,
Many thanks for your reply; to a degree, it's about knowing the terms to search for -- the extract-files.sh is a godsend for information that I would have otherwise missed.
Anyway, onwards to build a usable vendor tree
Best,
Martin

Got kexec-mod, kexec-tools working, atags in progress - Should Also Work With DroidX

I realize people gave up slightly on the whole kexec thing over radio worries, but I now have the module compiling and inserting without error into the Droid2/DroidX gingerbread kernel. Next comes cross compiling the kexec-tools for userspace, to allow us to attempt inserting a different kernel.
To build, you'll need a compiled DroidX kernel from source, as well as the android NDK.
To build, make sure you have downloaded the DroidX GB kernel source and compiled it. There are guides everywhere on how to build Android kernels. Just make sure you use the proper cross compiler.
http://sourceforge.n....l.tgz/download
When you build, make sure to use
Code:
make mapphone_defconfig
Once the kernel is built, clone my repo and edit envsetup.sh to reflect the correct paths to your kernel source directory and the android NDK.
https://github.com/i...kexec-mod-d2-dx
Then, source it:
Code:
source envsetup.sh
Then, just run
Code:
make
and cross your fingers. You should then have a fresh kexec_load.ko file!
To see if it loads, you'll need to copy it to your sdcard, and then on the phone, using a console, do the following:
Code:
su (click allow)
insmod /sdcard/path/to/kexec_load.ko
If you don't get any errors, it inserted! Now, of course, to actually use it, we'd need the kexec-tools built, which I haven't gotten ready yet...but they're coming! To remove the module (no reason to leave it in memory for now):
Code:
rmmod kexec_load
Happy hacking, and help is always appreciated!
This looks great! If you need any help just ask
Thanks! I probably could actually use some. I'm looking at eternity project's git repos now, and am trying to figure out how they managed to get atags working, with the whole procfs thing...still scratching my head there.
I'm looking at eternity project's git repos now, and am trying to figure out how they managed to get atags working, with the whole procfs thing...still scratching my head there, though I do have an atags module working, except it doesn't do anything without atags in the procfs (http://lists.infradead.org/pipermail/kexec/2011-January/004795.html).
kexec-tools:
https://github.com/i...xec-tools-dx-d2
To build, see the README.
Then, copy the binaries from /build/sbin/* to your device, and the move them to the /system/bin directory, and chmod them 770 to make them executable.
mod-atags:
https://github.com/i...mod-atags-d2-dx
Now, if I/we can just get atags and procfs stuff taken care of, we'll be able to go to the next step. I already have atags compiling as a module, but it won't stay inserted because we have no atags in the procfs. Note I can't just trace through code like this and know what everything is doing, but I know enough to hack at it and be dangerous
I know this is kind of off topic, but would this help us people with Motorola Atrix 2? Does it use the same radio?
calebcoverdale said:
I know this is kind of off topic, but would this help us people with Motorola Atrix 2? Does it use the same radio?
Click to expand...
Click to collapse
No idea. I haven't even gotten the kernel to change yet, so I haven't gotten to mess with radio yet. The method itself should/would work though, but radio will require reverse engineering...perhaps find a similar phone with an open bootloader and disassemble and attempt to clone it's modules.
The latest change I made may or may not work, it was an attempt to remove atags from the kexec module based on an old patch I found, which added the functionality. This at leaset made kexec -l zImage work, but when I run kexec -e, the kexec binary complains about atags not being there...hrmmmph.
I may have to revert it (and will if we can get atags somehow) ...but if we can get the kexec bin to ignore /proc/atags or just find a way to rip them out of the running kernel, we'll be in business.
The commit: https://github.com/ilikenwf/kexec-mod-d2-dx/commit/12dffe0ea286be0fe9ab0303a5a35ed92be4ee2c
I'm also looking into 2ndboot.
I like where this is going! Keep working!
Sent from my DROID2 using xda premium
Okies, so, I emailed aliasxerog (original kexec-mod writer), and I hope he'll get back to me. Even though his twitter says he's a "former android developer," maybe he'll be willing to give me some hints so I can pick up where he left off.
I also got the froyo version of the module building properly based on his module, yet again, (all after SBF'ing my phone back down to motoblur froyo - yech!) but neither currently work... (note there's a gingerbread and a froyo branch on my repo): https://github.com/i...kexec-mod-d2-dx
The froyo one throws the following error, which stops me dead in the water:
Code:
Could not find a free area of memory of 3007dc bytes...
The gingerbread one loads the kernel into memory but won't execute it due to our not having atags.
We've moved our git repos to an organization for easier collaboration:
https://github.com/organizations/D2-DX-Customboot
links are imcomplete.
use URL lable pls.
Cross compiler version ?
hello,
Sorry but I am not able to use the sourceforge link that you provided to download kernel source .. Also please share what cross compiler version is to be used....
Thanks in advance.

[ROM][CM/AOSP][JB/KK] sediROM for LG Optimus F3Q / D520

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!

The Theory of Everything (Building MTK from saucery) asop cm miui ubuntu

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

Question attempt at learning how to compile TWRP for our device.

I am not an experienced dev, and only know enough to be dangerous. that said, i used twrpdtgen from https://github.com/twrpdtgen/twrpdtgen to generate what ought to be the berlna device tree with the necessary board files etc.
what do i have to do, specifically, to clone the twrp source via git/repo? can anybody here explain it like you realize i don't know what i am doing i'll figure git and repo out eventually, but this will go quicker if someone would enlighten me
which android version do i want to build twrp with? apparently 12.1 support isn't finished yet, so i should use 11 with aosp source?
note, for our deivce you need to use the script on upon boot.img as we've a/b format, grab from latest stock rom to gen yourself, or see attached. also, necessary to use WSL on windows with a linux distro, or a linux vm, python on windows will not work.
please feel free to use these if it furthers the cause of compiling twrp before i learn how to use git and repo and compile it.. hehe
I wanted to try my hand at this and start digging into git and repo. I got as far as getting all the files ready, setting up the tree where it needed to be, used ". build/envsetup.sh", then lunched with option 5, which is omni-berlna_eng, which is closest to the twrp minimal manifest build option.
After I lunch, the issue arrives with the fact that omni-berlna_eng uses a depreciated PRODUCT_STATIC_BOOT_CONTROL_HAL, whatever that means. So I tried using lunch option 2, which would be an aosp-arm64_eng, but that just gives me the error "#### failed to build some targets (1 seconds) ####".
As of now, I'm at a loss. I don't have the extra time to spend working on this to make it function, and I only get a few hours at a time to get a crack at it, but nothing seems to work.
Edit:
I should mention, this is my first attempt at anything android development. I got this phone as a secondary carry on and I've dirtyflashed Pixel Experience onto it using a method found for Moto G Power TONGA. Wanted to see if I could get TWRP running since dirty flashing killed my mms and calling services.

Categories

Resources