Alright, I'm quite inexperienced when it comes to porting Android, but I'm a programmer and I've already developed software under Linux, so I'm going to try and port kernel 3.0+ and CM 10.1 or JB 4.2 to our device.
CM 10.1 is almost building, I have to iron out some errors but I think I'll get it to compile correctly in a few days. However we have no 3.0+ kernel. And JB with 2.6 kernel doesn't seem too attractive to me.
I'm trying also to port a 3.0+ kernel to our device, and that is the most hard thing to do. You can't diff stock 2.6 kernel and patch against 3+ kernel because 3.0 and 2.6 kernels are quite different things. Heck, you can't even use the lge patches against a 2.6 kernel because LG made quite ugly source modifications and hacks after hacks.
So my goals are:
a.) build CM 10.1/JB against 2.6 kernel, to have something to test against
b.) port some 3.0+ kernel to our device
For a.) I think it's an easy job. For b.) it's quite hard.
I have three ideas to follow:
1.) use kernel 3.0 from LG L5 / lge 610
2.) use kernel from CAF and add drivers and patches
3.) use regular android kernel 3.0+ from nexus devices and add drivers and patches
I've tried 1.), but the boards are quite different, I was able to boot the kernel but got kernel panics. I've looked to the source and the code for lge 610 is quite different from the code for e400, board is different and lge modifications of source code sucks big time. If I am ever to decide to hire a former LG coder, I would not. They just fu...cked the kernel source lots of if defs and custom bulshiting with the android kernel
3.) is last idea I will try it if 2.) isn't suitable for some reasom
2.) is our best bet to have a modern, new kernel for our device and have JB 4.2 CM 10.1 shine.
Code Aurora already has most of Qualcomm drivers in the source tree, I have just to add different drivers for some devices (lots of) not made by Qualcomm.
So I'm trying to pursuit number 2.)
I will probably set up a github for compiling CM 10.1, when I will build it successfully, mainly /device/lge/e400 and /vendor/lge/e400 and modified build scripts. However this will be only to build a test CM 10.1 to have something to test against.
I will set up a github for kernel development, I will start from Code Aurora Forums 3.4 kernel.
How you can help:
I need/we need (if some other devs join in) more info about the hardware. I have lge400 service manual but not all devices are mentioned. I've already made a list but it's not complete.
a.) you are not a developer: if you have stock image and you are rooted, type these in terminal:
#dmesg > /mnt/sdcard/dmesg.txt put somewhere dmesg.txt and give the link in the thread
if you are not rooted, install ADB, and type:
dmesg > /mnt/sdcard/dmesg.txt
adb pull /mnt/sdcard/dmesg.txt whatever directory
Upload dmesg.txt to some filesharing and put the link in this thread.
b.) if you are a developer, you can help by identify devices based on dmesg and logcat.
If you are a developer and want to help, download 3.4 kernel from Code Aurora. Try to compile it and add drivers.
I will set up github for kernel and CM 10.1.