[CAF] Kernel development newbie - G2 Developer Discussion [Developers Only]

Hello to all. I hope someone can help me.
Background: I am a relatively experienced programmer. I have been programming with C/C++ (and other) in Linux for the last 6 years or so. However I have never dived in Linux Kernel development yet. So I would appreciate some help from anyone that can help me.
Goal: My goal is to learn more about Linux Kernel development. I want to start from my beloved G2, which is approaching its usage EOL. The device is fine, but I am planning on investing on a new one, so I will be able to squeeze it as much as I want.
I want to create a clean kernel for AOSP (CAF) based versions of Android. My vision is to start with a clean CAF base (without CM patches, etc) and bring it up-to-date till Linux 3.4.113 and manage it to boot. Then start backporting code, enhancements, etc. and making tests.
I searched in CAF repositories and I found them to be a mess. Can someone who is experienced with how things work point to the latest clean CAF source for msm8974?
I also want to hear anyone's thoughts on the attempt. Thanks ahead and regards.

Maybe @GalaticStryder, you can give me some guidelines. Deeply appreciated.

errikosd said:
Hello to all. I hope someone can help me.
Background: I am a relatively experienced programmer. I have been programming with C/C++ (and other) in Linux for the last 6 years or so. However I have never dived in Linux Kernel development yet. So I would appreciate some help from anyone that can help me.
Goal: My goal is to learn more about Linux Kernel development. I want to start from my beloved G2, which is approaching its usage EOL. The device is fine, but I am planning on investing on a new one, so I will be able to squeeze it as much as I want.
I want to create a clean kernel for AOSP (CAF) based versions of Android. My vision is to start with a clean CAF base (without CM patches, etc) and bring it up-to-date till Linux 3.4.113 and manage it to boot. Then start backporting code, enhancements, etc. and making tests.
I searched in CAF repositories and I found them to be a mess. Can someone who is experienced with how things work point to the latest clean CAF source for msm8974?
I also want to hear anyone's thoughts on the attempt. Thanks ahead and regards.
Click to expand...
Click to collapse
I think the pure branch in GalaticStryder's Github is pure caf kernel, I don't think he added anything.

shaneel1491 said:
I think the pure branch in GalaticStryder's Github is pure caf kernel, I don't think he added anything.
Click to expand...
Click to collapse
Unfortunately, I think that that branch does not exist anymore. Except if it is now called "marshmallow-caf".

errikosd said:
Unfortunately, I think that that branch does not exist anymore. Except if it is now called "marshmallow-caf".
Click to expand...
Click to collapse
It could be, not sure though.. I did download the source when he had it, I can zip and upload if you need?
Edit: nevermind, I forked his source a while back. Here https://github.com/shack-32/kernel_lge_msm8974/tree/pure
Also when I built it, as well as when he built, the mpdecision seems to be busted on boot, so the cores won't hotplug, you can enable it by looking in /sys directory and echo '1' for the mpdecision file.

shaneel1491 said:
It could be, not sure though.. I did download the source when he had it, I can zip and upload if you need?
Edit: nevermind, I forked his source a while back. Here https://github.com/shack-32/kernel_lge_msm8974/tree/pure
Also when I built it, as well as when he built, the mpdecision seems to be busted on boot, so the cores won't hotplug, you can enable it by looking in /sys directory and echo '1' for the mpdecision file.
Click to expand...
Click to collapse
Thanks a lot! I believe this would be a good start.
I will try and pair it with anykernel packager and enable mpdecision on boot.

errikosd said:
Thanks a lot! I believe this would be a good start.
I will try and pair it with anykernel packager and enable mpdecision on boot.
Click to expand...
Click to collapse
Cool, good luck with it!

Well, I'd first need to explain some other stuff first before you get started
The CAF release for MSM8974 Kernel is oddly one of the no longer maintained ones: LA.BF.1.1.1.x.
To initialize a brand new clean Kernel you'd need to pull the CAF source code and copy the plain LGE Kernel code from the latest release they pushed which is if I'm not mistaken D80230F, then diff it to see what has got replaced and get it back, adapting the code manually on top of the recently merged LGE source code.
This would basically be the first step, then you'd head over to compilation fixes, create the scripts and the tools to bump the image and flash it to see if it boots.
To support more devices you'd need to merge the other variants as well from LGE source code and then do the same as before...
This doesn't make sense since you'd be getting an old Kernel from CAF and yet an older one from LGE. The little updates made on top of the first CyanogenMod 12.1 (CAF Kernel) were very basic and were caught already either by CM itself on their Kernel tree or mine.
Then you'd go forward to merging the kernel-common updates for 3.4.y coming from Google source code and then head over to update the base Linux Kernel version, fix compilation and such...
Since all this is done already, all you'd need is forking the Kernel at 3.4.110 and cherry-pick the selected changes you'd like up to 3.4.113 and compile using my scripts and all that...
The HEAD for that is c8bd789d12f8299db2e5a319abeb4a95df9078b6 and you're set to freely modify it the way you think should be done...
This is the lazy way of course but a great start...

GalaticStryder said:
Well, I'd first need to explain some other stuff first before you get started
The CAF release for MSM8974 Kernel is oddly one of the no longer maintained ones: LA.BF.1.1.1.x.
To initialize a brand new clean Kernel you'd need to pull the CAF source code and copy the plain LGE Kernel code from the latest release they pushed which is if I'm not mistaken D80230F, then diff it to see what has got replaced and get it back, adapting the code manually on top of the recently merged LGE source code.
This would basically be the first step, then you'd head over to compilation fixes, create the scripts and the tools to bump the image and flash it to see if it boots.
To support more devices you'd need to merge the other variants as well from LGE source code and then do the same as before...
This doesn't make sense since you'd be getting an old Kernel from CAF and yet an older one from LGE. The little updates made on top of the first CyanogenMod 12.1 (CAF Kernel) were very basic and were caught already either by CM itself on their Kernel tree or mine.
Then you'd go forward to merging the kernel-common updates for 3.4.y coming from Google source code and then head over to update the base Linux Kernel version, fix compilation and such...
Since all this is done already, all you'd need is forking the Kernel at 3.4.110 and cherry-pick the selected changes you'd like up to 3.4.113 and compile using my scripts and all that...
The HEAD for that is c8bd789d12f8299db2e5a319abeb4a95df9078b6 and you're set to freely modify it the way you think should be done...
This is the lazy way of course but a great start...
Click to expand...
Click to collapse
So that HEAD has to be the cleanest "working" snapshot I can get, right?
Thanks a lot for outlining the procedure and giving me the boost I needed. It will be definitely easier to get started now.

errikosd said:
So that HEAD has to be the cleanest "working" snapshot I can get, right?
Thanks a lot for outlining the procedure and giving me the boost I needed. It will be definitely easier to get started now.
Click to expand...
Click to collapse
Yes, it's pretty clean. Make sure you clean anykernel too.

There's a lot of work for developing kernels! I would like to learn how to do step by step, but i think i have a lot of things that i must learn before starting developing a kernel... As languages i'm learning C, but i don't know other...

matteo0026 said:
There's a lot of work for developing kernels! I would like to learn how to do step by step, but i think i have a lot of things that i must learn before starting developing a kernel... As languages i'm learning C, but i don't know other...
Click to expand...
Click to collapse
Building a kernel is not too hard, adding stuff is a bit tougher. You should start but simply downloading the source of a kernel already found on GitHub. There are various guides on xda that teach you how to build. Once you are comfortable with building you can go on to adding governors and many other tweaks, that's where commits come into play as it makes everything easier to add stuff.
This is a simple tutorial, try look for some more as well http://forum.xda-developers.com/showthread.php?t=2152819

shaneel1491 said:
Building a kernel is not too hard, adding stuff is a bit tougher. You should start but simply downloading the source of a kernel already found on GitHub. There are various guides on xda that teach you how to build. Once you are comfortable with building you can go on to adding governors and many other tweaks, that's where commits come into play as it makes everything easier to add stuff.
This is a simple tutorial, try look for some more as well http://forum.xda-developers.com/showthread.php?t=2152819
Click to expand...
Click to collapse
I'm yet blocked on one step of guide... i can't find only one file g2_blablabla.deconfig...

matteo0026 said:
I'm yet blocked on one step of guide... i can't find only one file g2_blablabla.deconfig...
Click to expand...
Click to collapse
It's not actually named blablabla, the defconfig directory is basically the insturctions to build for all the different devices, so it should be g2_d802.defconfig or something along those lines for D802, as long as it has your device name, for example when Dorimanx builds, his file would be (https://github.com/dorimanx/Dorimanx-LG-G2-D802-Kernel/tree/LG-STOCK-KK/arch/arm/configs) -> dorimanx_d802_defconfig
The defconfig file is found in /arch/arm/configs directory

shaneel1491 said:
It's not actually named blablabla, the defconfig directory is basically the insturctions to build for all the different devices, so it should be g2_d802.defconfig or something along those lines for D802, as long as it has your device name, for example when Dorimanx builds, his file would be (https://github.com/dorimanx/Dorimanx-LG-G2-D802-Kernel/tree/LG-STOCK-KK/arch/arm/configs) -> dorimanx_d802_defconfig
The defconfig file is found in /arch/arm/configs directory
Click to expand...
Click to collapse
Ok, then there isn't nothing of d802_something_deconfig
See this too
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

matteo0026 said:
Ok, then there isn't nothing of d802_something_deconfig
See this tooView attachment 3929508
Click to expand...
Click to collapse
Which repo did you download source from. You can use the d802 config one from my forked version of galatic's pure branch
https://github.com/shack-32/kernel_lge_msm8974/tree/pure/arch/arm/configs
Dori's config is named: dorimanx_d802_defconfig

shaneel1491 said:
Which repo did you download source from. You can use the d802 config one from my forked version of galatic's pure branch
https://github.com/shack-32/kernel_lge_msm8974/tree/pure/arch/arm/configs
Dori's config is named: dorimanx_d802_defconfig
Click to expand...
Click to collapse
Ok, maybe the problem is that i took full stock sources kernel from opensource.lge.com ... Then now i try to do the same thing with lambda sources...?

matteo0026 said:
Ok, maybe the problem is that i took full stock sources kernel from opensource.lge.com ... Then now i try to do the same thing with lambda sources...
Click to expand...
Click to collapse
Hmmm, as far as I know you might run into problems building LG provided ROM for an AOSP/CM rom, so if you follow the same process with caf kernel it should work.

shaneel1491 said:
Hmmm, as far as I know you might run into problems building LG provided ROM for an AOSP/CM rom, so if you follow the same process with caf kernel it should work.
Click to expand...
Click to collapse
Ok then must i take a CAF kernel? Can i take lambda kernel?

matteo0026 said:
Ok then must i take a CAF kernel? Can i take lambda kernel?
Click to expand...
Click to collapse
Either, lambda is a modified caf version

Related

[rom][NIGHTLY] SlimSaber 4.4.2 - Galaxy S 4G [LINARO KAT]

SlimKat galaxys4gmtd SaberMod 4.8 Unofficial builds
Making SlimKat more faster and smoother​
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
SlimROM: SaberMod toolchain 4.8
SlimKernel: SaberMod toolchain 4.7
​
Disclaimer
I'm not responsible for any damages on your device.
After having a good response for some months in the i9100 thread, @fusionjack decided to share this build with n7000. And now I build it for Samsung Galaxy S 4G a.k.a galaxys4gmtd.
This build is compiled using SaberMod toolchain and like the official one, it is built derived from the same source: Slimroms github. @fusionjack could cherry-pick some commits ahead from Slim team or patches from other repositories that he finds useful.
The ROM and the kernel are tested by me first before I make it available online. I could have overseen something during testing, please be understand.
In summary, it is still Slimkat that is compiled with SaberMod toolchain.
!!! Please don't discuss these unofficial builds in the official thread. User can get confuse easily. !!!
Additional changes
Compiled with a custom toolchain Sabermod for more performance and better battery life.
Compiled with the most GCC optimization level -O3.
Compiled with strict-aliasing compiler optimization.
Added 40+ patches to fix GCC strict-aliasing violation rules.
Added ARMv7 and Cortex-A8 optimized string handling routines for more smoothness and more memory optimization.
Added some AOSP fixes and improvements.
Added some VanirAOSP fixes and improvements.
Added patches from AOSP for better ART performance.
Added Active Display and Network Usage from ChameleonOS. Not yet available on kitkat.
Disabled SQLite fsync to increase I/O performance.
Installation instructions
Coming from 4.1.x or 4.2.x or 4.3.x or another ROM to 4.4.x:
jeffsf said:
OK, this is what is working for me to go to/from Team Acid CM9 and has been pretty reliable so far:
Make sure you have backups of /efs put away somewhere safe!
From JB or ICS (make full backups first, at least TWRP and hopefully Titanium Backup or equivalent as well)
Reboot recovery
Install this ROM
Reboot recovery
Advanced Wipe; /system, /data, /cache
Install this ROM - again
Make TWRP backups
Reboot
Once you have TWRP backups of your "target" build, you can flip/flop reasonably easily
Reboot recovery
Restore TWRP backup of Boot of target build
Reboot recovery
Advanced Wipe; /system, /data, /cache
Restore TWRP backups of target build
Boot into target
This should work as long as /efs and /radio haven't moved.
Click to expand...
Click to collapse
Coming from previous unofficial build:
Wipe cache and dalvik cache.
Flash the unofficial build.
No need to re-flash gapps. Gapps will be restored back automatically by backup tool during flashing.
Known Issues
Booting into ART mode takes time, be patient. As some users reported, ART won't work if you are using xposed framework. See xposed thread for more information.
Check/add issues tracking at here: https://github.com/daothanhduy/android_device_samsung_galaxys4gmtd/issues
F.A.Q
See second post.
Latest release
Full Changelog
goo.im | d-h.st
Download
Main site - FB's host
Credits
SlimBean - The SlimRom team
SaberMod toolchain - sparksco
Linaro toolchain - Linaro
Slimbanner and signatures - kroz
ChameleonOS features - 0xD34D
Slimsaber creator - @fusionjack
Thanks to Erik for JellyBean Sake.
Thanks to Team Acid: @bhundven @FBis251 @jeffsf @noiphonehere @m4xm4n @RaverX3X,...plus @jt1134 for ICS and Aries Goodness...
Thanks Cooptx for some graphic boy LOL
DJLamontagneIII for LINARO changes
Special Thanks
DHO, PrimeDirective, NuclearMistake - for awesome fixes and improvements from VanirAOSP.
BIGGEST THANKS!!! To FBis251 as he was the man behind the Nightly Factory construction and I was just an idea maker
Sources
https://github.com/SlimSaber
F.A.Q (Freaking Annoying Questions)
Cannot take a screenshot
See this workaround from davide_ba: http://forum.xda-developers.com/show...postcount=3482
Help!!! Root doesn't work!!! What should I do???
From a clean build you need to enable root access for Superuser itself. This is different from 4.2.2 in which Superuser by default had root access on a new install. To do this, go to Settings -> Developer options -> Root access. If an app attempts to request root access before Superuser itself has access, it may cause problems with that app in the future where root requests are silently denied.
Click to expand...
Click to collapse
What is the difference between these builds and the official builds?
Short version: It is unofficial nightly builds whereas official one is stable and weekly builds.
Long version: It is built using the same source (github) like the official one but with these following additional changes:
Compiled using SaberMod 4.9 & SaberMod 4.7 toolchain combo.
Contains some cherry-pick commits. See changelog for more details.
Faster? Smoother? Here are some responses from users: rkoby13, rkoby13, rkoby13, kroz, MarioFan1998, alkspo, vladimirheroj, bodzik155
What is Toolchain?
In software, a toolchain is the set of programming tools that are used to create a product (typically another computer program or system of programs). The tools may be used in a chain, so that the output of each tool becomes the input for the next, but the term is used widely to refer to any set of linked development tools.
A simple software development toolchain consists of a compiler and linker to transform the source code into an executable program, libraries to provide interfaces to the operating system, and a debugger. A complex product such as a video game needs tools for preparing sound effects, music, textures, 3-dimensional models, and animations, and further tools for combining these resources into the finished product.
Click to expand...
Click to collapse
Source: http://en.wikipedia.org/wiki/Toolchain
What is SaberMod?
The term "SaberMod" is coming from:
SaberMod is a AOSP based ROM with some extra features added in and mostly from CyanogenMod. SaberMod started out pure AOSP when android 4.2.1 launched. Originally it was pure AOSP with a few extra features I ported over from CyanogeMod and linaro optimizations. Then I rebased everything off of rasbeanjelly because I liked many features found in rasbean. Since then I've modified a lot of the code so not much of it is rasbeanjelly based anymore. But you will still find some commonly used features found in rasbeanjelly. SaberMod is not a rasbeanjelly or CM clone, or KANG. Custom kernels are included for certain devices when available. These are personal builds we make for ourselves and originally became very popular in the nexus 7 forums. Features are very rarely added, and are built to SaberMod's team members liking. Currently there are two members of SaberMod working on this project. Myself and @jarjar124 . Please understand our time is limited and we are only two people who have lives, and do not have 25-50 members like CyanogenMod to add things. And our goal is not to add a bunch of features that bloat the system of the ROM.
Click to expand...
Click to collapse
Source: http://forum.xda-developers.com/show....php?t=2158698
What is Linaro?
Linaro is the place where engineers from the world's leading technology companies define the future of Linux on ARM. The company is a not-for-profit engineering organization with over 120 engineers working on consolidating and optimizing open source software for the ARM architecture, including the GCC toolchain, the Linux kernel, ARM power management, graphics and multimedia interfaces.
Click to expand...
Click to collapse
Source: http://www.linaro.org/linux-on-arm/
KrozMod Collection
A theme collections by kroz, visit his thread here: http://forum.xda-developers.com/show....php?t=1960233
Signatures by kroz
SlimSaber
SaberMod SlimRoms
Download here: http://d-h.st/users/kroz/?fld_id=25717#files
Bootanimation by kroz
Download here: http://d-h.st/users/kroz/?fld_id=28876#files
More information about this bootanimation, see here: http://forum.xda-developers.com/show...postcount=5592
Bootanimation by thereald
Download here: http://forum.xda-developers.com/show....php?t=2499512
Nice job! But I will hold until somebody can confirm there is no reboot issues, meanwhile Beanstalk is good enough
Rebel_X said:
Nice job! But I will hold until somebody can confirm there is no reboot issues, meanwhile Beanstalk is good enough
Click to expand...
Click to collapse
I haven't had any reboot/soft reboot or freeze on my Mom's phone and ART is working more superb and conversion time is faster than the Official build ^^. No camera whacky, no severe problem so far. Anyone can, just try to reproduce the issues tho and I want to know if they'r gone or not, too. Just backup and flash it .
BTW, even if it doesn't have or has those issues, I will still close the other thread and maintain this only cause this is built with Linaro/SaberMod plus has various of patches for ART compares to official one so just build this only as well to save my time and resources.
P/s: WELCOME to LINARO KAT
OMG i am happy to see this rom
now i hv moved to GS3
their is not any fully bug fixed rom but S4G have(other then residual bug)
Farewell !!
Thank You !!!
While I moved to the Note 3 as my main phone a few months ago, I'm keeping around the GSG4G as a music player. Just flashed this and while I'm having the usual "Why do you do this to me! I have no space!" issues right after flashing due to Google wanting to restore 100 apps or so, I haven't had any other issues yet.
Thanks for keeping this phone awesome.
Theraze said:
While I moved to the Note 3 as my main phone a few months ago, I'm keeping around the GSG4G as a music player. Just flashed this and while I'm having the usual "Why do you do this to me! I have no space!" issues right after flashing due to Google wanting to restore 100 apps or so, I haven't had any other issues yet.
Thanks for keeping this phone awesome.
Click to expand...
Click to collapse
I found a GAPP that only loads the core items, thus getting rid of that 100 app restore, and space issue. I loaded this rom first this this morning it has been quite solid and no reboots at this time! The look and the features are awesome! Great Job Dao!
AgainstTheFlow said:
I found a GAPP that only loads the core items, thus getting rid of that 100 app restore, and space issue. I loaded this rom first this this morning it has been quite solid and no reboots at this time! The look and the features are awesome! Great Job Dao!
Click to expand...
Click to collapse
Thanks man! And since Slim hasn't released their inverted gapps so I would recommend using gapps core as it's ok to flash . Ok so if this is stable enough, next stop is trying to fix video playback (idk what is the cause for this) and better entropy tweaks enabling in kernel . There is also an advance option in settings>storage for switching/swapping the internal and external but it's FC on our phone so let's see what I can do about it
Sent from my GT-N7000 using Tapatalk 2
Download Now thanks Dao...-
Enviado desde mi GT-N7105 mediante Tapatalk
daothanhduy1996 said:
There is also an advance option in settings>storage for switching/swapping the internal and external but it's FC on our phone so let's see what I can do about it
Click to expand...
Click to collapse
As per usual, Mounts2SD still works great with this. Just wondering... when the switching causes the FCs, do you have the sd-ext formatted in a way that would work with Mounts2SD or another similar program?
Gapps for this Rom...?
Theraze said:
As per usual, Mounts2SD still works great with this. Just wondering... when the switching causes the FCs, do you have the sd-ext formatted in a way that would work with Mounts2SD or another similar program?
Click to expand...
Click to collapse
Ah, I didn't make a 2nd partition for it on my sdcard
mataflakitas said:
Gapps for this Rom...?
Click to expand...
Click to collapse
Just use the official Slim_minimal_gapps from www.slimroms.net
daothanhduy1996 said:
Ah, I didn't make a 2nd partition for it on my sdcard
Just use the official Slim_minimal_gapps from www.slimroms.net
Click to expand...
Click to collapse
Thanks Dao....
Im install gapps aio slim, not contain play store ...
mataflakitas said:
Im install gapps aio slim, not contain play store ...
Click to expand...
Click to collapse
I said slim_minimal_gapps, not AIO gapps.
Sent from my GT-N7000 using Tapatalk 2
Ok download...:thumbup:
You can also flash below link for play store only... Download and flash GApps core 4.4.2
http://goo.im/devs/BaNkS/GApps/4.4.2
Thanks goes to Banks
Sent from my SGH-T959V using Tapatalk
Dust off my old phone as I decided to try this word great thanks for your work . I had one problem when I flash the slim minimal - gapps I got lots of force close with android system but the core gapps posted by Dragnzklaw work great.
Sent from my SGH-T999 using xda app-developers app
Dao, I gave up on ART as the space limitation simply would not work with the apps I wanted to install, and that I use regularly, even moving everything I could to the SD Card. That said, Dalvik Mode seems to be working just as fast as ART, and not had a single reboot related crash as best I can tell after pretty heavy use for 24 hours. Thanks for the awesome work! I even installed Xposed Framewwork and have not seen any issues. Fingers crossed, but am thinking you can call the reboot issue fixed.

AOSP-based ROM building thread [Global]

I figured I'd post my sources to get the ROM development starting
Let's all share sources and post our fixes for bugs if we happen to fix one
device: https://github.com/JackpotClavin/android_device_moto_condor
vendor: https://github.com/JackpotClavin/android_vendor_moto_condor
kernel: https://github.com/JackpotClavin/kernel-msm
Shameless plug at my android blob utility: http://forum.xda-developers.com/showthread.php?t=2794413
Using those sources you should be able to build CM11, but I cannot say if it will work for other AOSP ROMs.
The only modifications you will have to make will to be to hardware/qcom/display/Android.mk just add "msm8610" as so:
-ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8226 msm8610,$(TARGET_BOARD_PLATFORM)),)
Also, in hardware/qcom/media, git revert cf8408186605323a6797e5f431192ab434e79fff
How to build:
1. Type ". build/envsetup.sh
2. Type "brunch condor" and it should build!
I've only had the device for a little over a day, but what I have working so far:
Audio
Camera (video recording does not work yet)
Wifi
Sensors
May 25th: Video recording works now
May 26th: Bluetooth works now
I have the global device, but I live in the US so I cannot test whether the radio will work, but it appears that it *might* work, the baseband and everything shows, but I don't have a sim to test
I'm sure there are a lot of things in the ROM that aren't needed, like some daemons and services that I don't know are useless.
Hey, just released my trees as well. They're going to be useless if you try building mine, as you need to fetch the AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.020 display and media folders, call them caf-new, and patch them to build on cm.
https://github.com/cybojenix/android_device_motorola_msm8610-common
https://github.com/cybojenix/android_device_motorola_condor
https://github.com/cybojenix/vendor_motorola
Can I compile Carbon rom without the kernel sources? Can I follow steps in the 1st post for compiling any after market firmware?
aniket.lamba said:
Can I compile Carbon rom without the kernel sources? Can I follow steps in the 1st post for compiling any after market firmware?
Click to expand...
Click to collapse
No..! It won't work I think because it is CyanogenMod based ROM which cannot be built without a special kernel which supports 'clocking' and has many other special features that CM adds to it. I am not sure, but I have read this at some website.
Forever Alone said:
No..! It won't work I think because it is CyanogenMod based ROM which cannot be built without a special kernel which supports 'clocking' and has many other special features that CM adds to it. I am not sure, but I have read this at some website.
Click to expand...
Click to collapse
So can I build any ROM which doesn't require kernel sources? Need to build and post some ROMs before I get my Moto E.
aniket.lamba said:
So can I build any ROM which doesn't require kernel sources? Need to build and post some ROMs before I get my Moto E.
Click to expand...
Click to collapse
Yeah, MiUi and Chinese ROMs like that does not require custom kernel. However, try building the kernel. Just add some governors and some tweaks. Try yourself making the CM ROM without Kernel source, maybe it will boot! Best of Luck.
Forever Alone said:
Yeah, MiUi and Chinese ROMs like that does not require custom kernel. However, try building the kernel. Just add some governors and some tweaks. Try yourself making the CM ROM without Kernel source, maybe it will boot! Best of Luck.
Click to expand...
Click to collapse
Alright I'll see to it.
Forever Alone said:
No..! It won't work I think because it is CyanogenMod based ROM which cannot be built without a special kernel which supports 'clocking' and has many other special features that CM adds to it. I am not sure, but I have read this at some website.
Click to expand...
Click to collapse
The whole thread is based on CM with the prebuilt kernel and it boots fine. I'm using it right now. Every ROM should work using my sources.
Sent from my Moto E using XDA Free mobile app
JackpotClavin said:
I figured I'd post my sources to get the ROM development starting
Let's all share sources and post our fixes for bugs if we happen to fix one
device: https://github.com/JackpotClavin/android_device_moto_condor
vendor: https://github.com/JackpotClavin/android_vendor_moto_condor
Until we get kernel source, we will have to clone codeaurora.org/quic/la/kernel/msm in kernel/moto/condor and checkout the tag AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.020
Shameless plug for my android blob utility: https://github.com/JackpotClavin/Android-Blob-Utility
Using those sources you should be able to build CM11, but I cannot say if it will work for other AOSP ROMs.
The only modification you will have to make will to be to hardware/qcom/display/Android.mk just add "msm8610" as so:
-ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8226 msm8610,$(TARGET_BOARD_PLATFORM)),)
How to build:
1. First, you must uncomment the TARGET_KERNEL_SOURCE and TARGET_KERNEL_CONFIG in the BoardConfig.mk
2. Then must first build any library that will export the kernel header, so after typing "lunch cm_condor-userdebug" type "make hwcomposer.msm8610"
3. hwcomposer.msm8610 should be built, as well as a bunch of other libraries, this may take about 10 mins
4. Now we comment out TARGET_KERNEL_SOURCE and TARGET_KERNEL_CONFIG in BoardConfig.mk. This will trick the build system into exporting our kernel headers (step 2 performed this) then we go back to the prebuilt kernel since we do not have sources to build from.
5. Type "brunch condor" and it should build!
I've only had the device for a little over a day, but what I have working so far:
Audio
Camera (video recording does not work yet)
Wifi
Sensors
May 25th: Video recording works now
May 26th: Bluetooth works now
I have the global device, but I live in the US so I cannot test whether the radio will work, but it appears that it *might* work, the baseband and everything shows, but I don't have a sim to test
I'm sure there are a lot of things in the ROM that aren't needed, like some daemons and services that I don't know are useless.
Also, since we have no kernel source yet, we have to copy the prebuilt modules into the ROM, and use the /module_hashes crap in order to insmod a kernel module (wlan particularly)
Click to expand...
Click to collapse
Bro please upload the kernel sources to devhost or mediafire .
Thanks in advance
Sent from my XT1022 using XDA Free mobile app
There are no kernel sources out yet for the Moto E
Just git clone the caf repository and checkout the correct tag mentioned in the OP
Looks like kernel sources are up! I'm gonna build with the kernel to ensure everything is working in my build tree
JackpotClavin said:
Looks like kernel sources are up! I'm gonna build with the kernel to ensure everything is working in my build tree
Click to expand...
Click to collapse
Bro can you give me the kernel source code download link ???
Sent from my XT1022 using XDA Free mobile app
https://github.com/MotorolaMobilityLLC/kernel-msm
Checkout the kitkat-mr1-rel-condor branch
Sent from my Moto E using XDA Free mobile app
JackpotClavin said:
https://github.com/MotorolaMobilityLLC/kernel-msm
Checkout the kitkat-mr1-rel-condor branch
Sent from my Moto E using XDA Free mobile app
Click to expand...
Click to collapse
Let's start compiling a kernel with features packed in!
So anyone compiled the kernel sources??
If you use the github repositories from the OP you can compile an entire CM ROM with all of the things working in the OP
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Oh wow.... Let's begin the party...
Sent from my XT1022 using XDA Free mobile app
What fun! I've just rooted, xposed, added gravity box and xprivacy. What I'm dying to get working is call recording, but that's always a no go with Motorola phones
Sent from my XT1022 using XDA Free mobile app
Can anyone provide me with the stock kernel? The boot.img is what I'm asking for.
InfinityShooter said:
Can anyone provide me with the stock kernel? The boot.img is what I'm asking for.
Click to expand...
Click to collapse
Here You Go .......
boot.img Of Moto E......

[L][5.0] Android Lpv Dev for Flo Enhanced [Stable 9002]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
9002 is obsolete because it is based off the 81c image.
use the official new preview for now.
here is a permissive boot img to allow for root
https://www.androidfilehost.com/?fid=95747613655047212
Flashing tips by @ramjet73, this should be read by everyone
http://forum.xda-developers.com/showpost.php?p=55228784&postcount=12583
This is an enhanced version of the 81c developer preview that google released.
It has currently been ported for Mako and Deb and improved for Hammerhead and Flo
It offers a permissive selinux policy, aosp merged in and rock solid stabilty along with drastic improvements in speed and smoothness.
It offers updated proprietary files, updated google apps, fonts, res files and animations from the newer sdks.
Click to expand...
Click to collapse
Deb does not have a working mobile radio yet, radio turns on but without access to the settings, we can't configure it. A work around is being worked on
Big thanks to @defconoi , @zyr3x , @percy_g2 , @ben1066 [MENTION=1050103] for improving and originally helping with the old lpv79 port to Mako.
Right now I rebased the entire project to clean it out and smooth it out
Huge thanks to @ramjet73 @bitstra @manueltts @skiman10 @psycho693 @jayfallen for helping me get it over to the other devices I don't have and testing everything I threw at them and the huge brainstorming and trying things I couldn't. It would have not been possible without these guys so please thank them
Click to expand...
Click to collapse
Warning. This has heavy ramdisk mods that are essential for it to work. You can flash current up to date "kit Kat kernels or L updaters only" but not full boot.imgs as this will break the ROM. If you do happen to flash a a boot.img, you can pull it out if the rom and fastboot flash boot boot.img
Hammerhead can only use L preview Kernels.
Remember, this is a port of a developer preview, there is already bugs in the official version from google and without the L code, we can not fix google's bugs. There are fixes to known problems in N7 2013 and N5 forums so if you do find them, please provide them with the bug
Click to expand...
Click to collapse
INSTALLATION INSTRUCTIONS
FIRST TIME FLASHING
Put the file onto your Internal Storage
Reboot into Recovery (CWM/TWRP]
"wipe data/factory reset"
"mounts and storage" -> "format system"
"install zip" -> "install zip from sdcard" -> choose the mako-bla-bla-zip and confirm flashing procedure
"reboot into system"
first boot may take up to 10 minutes - be patient
UPDATING
Put the latest L-bla-bla.zip onto your Internal Storage
Reboot into Recovery (CWM/TWRP)
"wipe data/factory reset"
"install zip" -> "install zip from sdcard" -> choose the [filename.zip] and confirm flashing procedure
"reboot into system"
Updater-script wipes the cache files so no need to wipe cache
Sources
Mako
GPL KERNEL SOURCE - github.com/Android-L-Porting-Team/android_kernel_mako
Flo, Deb and Hammerhead use the modifed stock preview with the kexec-hardboot patch directly provided by @tassadar to provide multirom support. Flo and Deb use the same kernel.
Hammerhead - http://forum.xda-developers.com/showpost.php?p=48508468&postcount=2
Flo - http://forum.xda-developers.com/showpost.php?p=45886584&postcount=2
We are using the rebase repos right now since they are cleaned out
Github https://github.com/Android-L-Porting-Team
use official preview for now
OT talk is welcomed in my threads and development is done in the open. I encourage involvement in the project in any way.
Please do not complain about OT, it encourages a fun and relaxed environment
Like the work I did, consider donating. I'm currently not working so it helps feed me
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BPFLE54YPRV92
Yes, my PayPal account is thatguy32404, I like to keep my banking stuff separated from my social account
nexus devices threads
Mako
http://forum.xda-developers.com/nexus-4/development/lpv-79-mako-port-beta-t2807446
deb
http://forum.xda-developers.com/nex...e/l-android-lpv-dev-deb-t2856915#post55016443+
flo
http://forum.xda-dev[/HIDE]
nexus ...-4/development/lpv-79-mako-port-beta-t2807446
deb
http://forum.xda-developers.com/nex...e/l-android-lpv-dev-deb-t2856915#post55016443+
flo
http://forum.xda-developers.com/nex...id-lpv-dev-flo-enhanced-t2856920#post55016534
hammerhead
http://forum.xda-developers.com/google-nexus-5/development/l-android-lpv-dev-n5-enhanced-t2856934
Changlelog.
Changlelog.
Stable-9001
Now over 9000!!!!!!
Updated selinux security policy
tracked down some missing permissions
did some other work but can't remember
B7.0.1
Flo & Deb
removed some excess apps that were replaced and I missed in b7
B7
updated fonts, res files, animations from the latest sdk
updater-script wipes cache files
updated some more google apps.
now using smart-art
force dns to google's public dns
B6
6 finishes up the rebasing work from 5 (5.9 was just a stepping stone and getting it out to other devices so we could work out all the kinks)
(Mako only info)
The rebasing work meant a lot of clean up and trying to get it as efficient as possible so from 5 to 6 is a big step and will be quite noticeable
(mako, flo, deb)
updated egl drivers are from qcom developer are in here which are newer then the preview ones
(Hammerhead )
Proper working sound now
(All)
Built in Busybox should be working. I tested the functions and seemed good to me.
Got rid of all the looping code and debugging code to speed everything up.
Updated the preview proprietary binaries to the latest version (some can't go all the way up and are stuck on a previous set or even original preview versions)
(Hammerhead has the latest preview egl drivers)
Built in google apps have been updated.
Introduction of slim builds for those on a bandwidth budget.
Can't think of what else.
Most kinks have all been worked out
Click to expand...
Click to collapse
B5.9
Rebased completely from scratch on 81c
improved reliability and stability.
Ported to Deb, Flo and Hammerhead
Beta 5
fully permissive sepolicy based on aosp, cleaned out a lot of crud
removed reliance on n5 frameworks, merged in some current aosp
improved smoothness and increased reliability, daily driver status
Beta 4
New Kernel
more smashy smashy bugs
Dpat09 said:
For all camera issues please try this: go to the Dev settings and disable nuplayer! I'm posting it again because I think it will be lost in all the posts! If it works hopefully the contributing devs will catch it and put it in the main post
Click to expand...
Click to collapse
reserved for @defconoi 's kernel and info
Oh, the Dev Thread is opened!
Thank you @sykopompos and all coworkers/involved developers - It was a honor to test your stuff.
Keep up the great work!
bitstra said:
Oh, the Dev Thread is opened!
Thank you @sykopompos and all coworkers/involved developers - It was a honor to test your stuff.
Keep up the great work!
Click to expand...
Click to collapse
thank you for all the help
@all
Trust this L-AOSP port - it's FAST - STABLE - PERMISSIVE - INGENIOUS !
I'm using this ROM (beside the tests) as my flo's daily driver since the first test versions - and had the look over the complete EVOLUTION of that thingy...:good:
Hope, Google Authorities will have a look to @sykopompos threads for L-port - HIRE @sykopompos - It would be the best decision in your career, for sure!
Didn't see anything in the OP, but is this Rooted and does it have busybox etc.... installed?
lmulli said:
Didn't see anything in the OP, but is this Rooted and does it have busybox etc.... installed?
Click to expand...
Click to collapse
Fully permissive, rooted, uses koush's superuser but SuperSU 2.02 can be used.
Does not come with busybox yet
whats the difference between http://forum.xda-developers.com/nex...rom-stock-rooted-android-l-developer-t2845298
and your rom
just anxious to know nothing else
freakzapster said:
whats the difference between http://forum.xda-developers.com/nex...rom-stock-rooted-android-l-developer-t2845298
and your rom
just anxious to know nothing else
Click to expand...
Click to collapse
"Permissive selinux policy, AOSP merged in and rock solid stability along with drastic improvements on speed and smoothness"
And really fun thread coming. [emoji6]
Cheers!
Sent from Nexus 7.2 Flo using Tapatalk.
As for the difference. Updated binaries, completely aosp based current ramdisk with the L specific stuff added in. Completely rooted and working. Fully permissive sepolicy so some apps that were being blocked before actually go through also without selinux blocking everything, speed is increased. New SDK fonts (I gotta add the animations and colors in (mako users said they were snappier))
Current up to date aosp hal files
And, as you might have noticed the official L preview is a fair bit choppier than kk or any earlier releases. This aims to get back smoothness. Hammerhead L preview is MUCH faster, idk if due to hardware but this bridges the gap
Btw hi
poondog said:
And, as you might have noticed the official L preview is a fair bit choppier than kk or any earlier releases. This aims to get back smoothness. Hammerhead L preview is MUCH faster, idk if due to hardware but this bridges the gap
Btw hi
Click to expand...
Click to collapse
Always glad to see you buddy, now all I gotta do is convince one of you kernel guys to help me with the 1+1
Been using this on my nexus 4 since these guys worked their magic ...
Now using it on flo as a daily driver.. It's so much better than the original L preview..
Great job all the devs..
Sent from my Nexus 7
sykopompos said:
Always glad to see you buddy, now all I gotta do is convince one of you kernel guys to help me with the 1+1
Click to expand...
Click to collapse
I don't know what to do on that
poondog said:
I don't know what to do on that
Click to expand...
Click to collapse
I still working through it too. It is definitely a straight caf rip and not aosp.
This whole thing is a mess and very poorly done
sykopompos said:
I still working through it too. It is definitely a straight caf rip and not aosp.
This whole thing is a mess and very poorly done
Click to expand...
Click to collapse
Of course its a CAF rip, its CM haha
poondog said:
Of course its a CAF rip, its CM haha
Click to expand...
Click to collapse
Tiny is looking through it and he is saying that the aosp source is enough off from cm but I'm looking through and the entire ROM is caf.
I'm syncing caf right now to tale a look through it to see if we can work it back to basically hammerhead. It is essentially the same hardware so with slight modification to it, it should work
Thanks for putting this together. Coming from stock, had too many FC on ASUS Keyboard to even get past language selection at first, but power off/wait/retry worked fine as said in first post.
Oishikatta said:
Thanks for putting this together. Coming from stock, had too many FC on ASUS Keyboard to even get past language selection at first, but power off/wait/retry worked fine as said in first post.
Click to expand...
Click to collapse
Thank @bitsra for tracking it down and the simple fix. It drove me nuts when trying to get it working at first

[ROM][6.0.1] AOKP for ZUK Z1

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
AOKP-ANDROID OPEN KANG PROJECT​
What is AOKP?​
AOKP stands for Android Open Kang Project. It is a custom ROM distribution for several high-end Android devices. The name is a play on the word kang and AOSP (Android Open Source Project). The name was sort of a joke, but it just stuck, just like our infatuation with unicorns.​
We fork the source code of Android that Google puts out in the open with every major version release, and we then add the magical unicorn bytes (read: we add some of the coolest features that are both useful and make your ROM awesome).​
With AOKP, you can generally do a lot more with your device than what you could do with the original firmware that came installed on it.​
Why AOKP ?​
We were waiting for when you'd ask this.
There are a variety of reasons why a hilly billy Android user, on a bright sunny day, would suddenly start using AOKP and loving it.
For one, AOKP is lightweight. Most OEMs provide a heavy UI layer over Android and have loads of bloatware (i.e. apps that not everyone use every day, but you cannot remove because they're "baked in" by default). Since AOKP is built upon vanilla Android source, it has neither of the above.
Also AOKP has features that you will not find on your stock firmware. You can have a multitude of toggles to quickly flip a lot of your phone's settings right at your fingertips, or you can launch apps quickly from any screen using our Ribbons.
You can change almost each and every aspect of the OS, from its looks to the way it functions, with total freedom. And did we tell you, AOKP helps you make tacos?​
Downloads​ROM
Gapps
TWRP​
Instructions​
Factory Reset/Wipe Data
Format System
Format Cache
Format Dalvik Cache
Install ROM
Install Gapps
Reboot​Credits​CyanogenMod
AOKP
Elephone for providing me a ZUK Z1
XDA:DevDB Information
AOKP MM for ZUK Z1, ROM for the Lenovo Zuk Z1
Contributors
eagleeyetom
ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest CM 13.0 firmware
Based On: AOKP
Version Information
Status: Testing
Created 2016-05-06
Last Updated 2016-05-06
To compile this ROM I have used official CM sources. I will not update it daily. Updates will come once for a while, possibly a week or so.
If you want to compile it yourself, follow these instructions:
Android Open Kang Project
Download the Source
Please read the AOSP building instructions before proceeding.
Initializing Repository
Initiate core trees without any device/kernel/vendor:
Code:
[PLAIN]$ repo init -u https://github.com/AOKP/platform_manifest.git -b mm[/PLAIN]
Sync the repository:
Code:
$ repo sync
Clone the unofficial ham repo:
Code:
[PLAIN]$ git clone [email protected]:eagleeyetom/android_device_zuk_ham.git -b mm device/zuk/ham && git clone [email protected]:TheMuppets/proprietary_vendor_zuk.git -b cm-13.0 vendor/zuk[/PLAIN]
Building
After the sync is finished, please read the instructions from the Android site on how to build.
Code:
. build/envsetup.sh
lunch
You can also build for specific devices (eg. ham) like this:
Code:
. build/envsetup.sh
lunch aokp_ham-userdebug
mka rainbowfarts
Remember to make clobber && make clean every now and then!
Features​
Nice to see this awesome rom for the Zuk Z1. Its sad to see the lack of development for this device, good to have you her.
Fingerprint does not work
Greeeat buddy!! Really appreciate this! Can your device tree be used to build other ROMS?
Thanks again!
luiseteyo said:
Greeeat buddy!! Really appreciate this! Can your device tree be used to build other ROMS?
Thanks again!
Click to expand...
Click to collapse
Edit: Hmm looks different to normal device trees, will try to build omni with it.
OrdenKrieger said:
He used the normal CM devvice tree. He just renamed the cm.mk to aokp.mk and some other lines in the files. You can do that by your self, just research on the internet.
Click to expand...
Click to collapse
EDIT. My fault, I was looking into CM branch. This is mm branch.
Cheers
OrdenKrieger said:
Edit: Hmm looks different to normal device trees, will try to build omni with it.
Click to expand...
Click to collapse
Omni requires extra work, as its totally different from the CM tree. We would have to create a pure CAF kernel to have Omni and Dirty Unicorns. It's not easy, but possible The Tree you were looking at is TWRP one.
Any bugs report?
Zhuang zhuang said:
Fingerprint does not work
Click to expand...
Click to collapse
Really, somebody can confirm ?
liver20 said:
Really, somebody can confirm ?
Click to expand...
Click to collapse
Yes there is no FP option..
Other then that it is cool, most of options are like RR.
eagleeyetom said:
Omni requires extra work, as its totally different from the CM tree. We would have to create a pure CAF kernel to have Omni and Dirty Unicorns. It's not easy, but possible The Tree you were looking at is TWRP one.
Click to expand...
Click to collapse
I´m all in with you, did thought about that, but no one to work with.
My initial kernel port for 6.0.1 for this device was based on LA.BF.1.1.3_rb1.6, so i think we can do something.
Cheers
JoaoPaulo said:
I´m all in with you, did thought about that, but no one to work with.
My initial kernel port for 6.0.1 for this device was based on LA.BF.1.1.3_rb1.6, so i think we can do something.
Cheers
Click to expand...
Click to collapse
What an interesting project! I wish we could port dirty unicorns to ham!
Enviado desde mi Z1 mediante Tapatalk
JoaoPaulo said:
I´m all in with you, did thought about that, but no one to work with.
My initial kernel port for 6.0.1 for this device was based on LA.BF.1.1.3_rb1.6, so i think we can do something.
Cheers
Click to expand...
Click to collapse
I guess we can try to port it. Setting up a device tree shouldn't be that difficult. I did that in the past. We just need to have a working kernel. I will set up an IRC channel tomorrow to see if we can find some developers ready to make ham community thrive!
deyerick said:
Any bugs report?
Click to expand...
Click to collapse
Well, you can always flash the ROM and try it for a bit to find out yourself. I'm sure that reporting back would give you a few thanks from other members of our small community It's CM based, so there are CM bugs present.
eagleeyetom said:
I guess we can try to port it. Setting up a device tree shouldn't be that difficult. I did that in the past. We just need to have a working kernel. I will set up an IRC channel tomorrow to see if we can find some developers ready to make ham community thrive!
Click to expand...
Click to collapse
If we setup a build tree for dirty unicorns, couldn't we use this one to build other AOSP roms? :good: That would be really awesome, because this device has a big lack of development.
OrdenKrieger said:
If we setup a build tree for dirty unicorns, couldn't we use this one to build other AOSP roms? :good: That would be really awesome, because this device has a big lack of development.
Click to expand...
Click to collapse
You mean something like AOSParadox or even pure AOSP? That's possible. Omni trees are closer to AOSP than CM.
eagleeyetom said:
You mean something like AOSParadox or even pure AOSP? That's possible. Omni trees are closer to AOSP than CM.
Click to expand...
Click to collapse
Yep it is much closer, it will be a kind of difficult at begin,after we can make it boot, it will be so awesome, like we did with cm13
Oh Thank you very much! I think it will come out a fantastic TEAM!
Thanks @eagleeyetom , @JoaoPaulo , @OrdenKrieger and @MrColdbird
You are the best guys. :highfive:

[KERNEL][ALPHA] Linux Kernel 3.10.99 for Huawei Honor 8 (FRD-L04)

Background:
So Huawei released the kernel sources for Honor 8 (FRD-L04) a couple days back and as I (@hackslash) and @XePeleato are always too excited to dig into what Huawei releases, we straight away downloaded the source code to see what (mess) Huawei has released this time. If some of you don't already know, Huawei sources are known for being:
A complete mess,
Broken
Missing few implementations and drivers (not always but take Honor 4C for example as for it they forgot to include WiFi and Modem implementations)
And I'm proud to add Honor 8 to the list of 'broken sources' too because as always Huawei love to make stupendous mistakes every time.
So what Huawei released for Honor 8
(all credits for fixing the source and making it compile successfully goes to @XePeleato)
So @XePeleato downloaded the source and as always the kernel build failed. And the reason it failed was because it was zipped it a non case-sensitive OS. Now if you already don't know Linux treats 'abc.txt' and 'Abc.txt' as two different files whenever supported whereas Windows doesn't respects case sensitivity and would treat the above mentioned files as one same file. The kernel source code has files which are case-sensitive and thus zipping those files on a non case-sensitive OS would cause problems and issues as only one of that file will get zipped and the other for Windows never existed. Thanks to @XePeleato he fixed it and the kernel after it compiled successfully. We can't really argue much about it since it's their production kernel and that is what they have released. Apart from it, the kernel is filled with great examples of poor coding, nonsense use of functions and Chinese comments in the 'hisi' drivers (simply, hisilicon (chipset) specific implementations) thus ensuring you'll have a great time with the kernel.
To the main point
In the spirit of the Honor Hub program, we need to know what Huawei has released for Honor 8 and if the kernel source are complete (in a sense that everything on the end-user device such as RIL, WiFi, works). This would allow me and @XePeleato and many other people interested in the Honor Hub program to provide a better more constructive feedback. Hence we (@hackslash and @XePeleato) are releasing a compiled version of the source code together with the source code (hosted on Github) to facilitate the Honor Hub program and get a better picture of what we need from Huawei to ensure development for the Kirin platform.
So here is our small custom kernel for the Huawei Honor 8 (FRD-L04 and maybe other variants)
Please note that this kernel is not tested what so ever, and is being provided so that you can test it, fork the source, implement new stuff in the spirit of development. Our mission was to provide a kernel source which at least compiles successfully. We have added some new features, applied patches so it would be great if you could test the kernel and provide your feedback and any features which you would like to see.
Changelog
September 14, 2016
Intial Release
Added Thunderplug hotplug
Added Lionheart governor
Compiled using Linaro 4.9 toolchain (this will change in future)
Small optimizations (Frandom support, RWESM algorithms)
Updated kernel patches to 3.10.99
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
thanks to @JEANRIVERA for the screenshot
See next post for downloads, source code and instructions on how to compile the kernel for yourself.
Downloads:
You can download a prebuilt kernel from here: https://drive.google.com/open?id=0B0LG0AQ4V9FpYzlaYzBYQVdiOE0 (Dated 14 September 2016) We'll soon switch to version releases.
You have to manually edit the stock boot.img and replace the kernel with this one.
TWRP Flashable: https://github.com/Honor8Dev/android_kernel_huawei_FRD-L04/releases/tag/v1.0-alpha
Kernel Source code:
All of the source code is hosted at Github
https://github.com/Honor8Dev/android_kernel_huawei_FRD-L04
I encourage you to fork it, build one for yourself, add new features and submit PRs if you have fixed a bug or have implemented new stuff. This ensures the development remains healthy for as long as possible.
Instructions to compile one for yourself from source
Tested Operating Systems: Linux Mint Cinnamon, Ubuntu 14.04, Ubuntu 16.04
Clone the Github repository (if you haven't already):
Code:
git clone https://github.com/Honor8Dev/android_kernel_huawei_FRD-L04
Download the Linaro 4.9 Arch 64 toolchain from here: https://releases.linaro.org/14.07/c...ro-aarch64-linux-gnu-4.9-2014.07_linux.tar.xz . Extract the toolchain in your preferred directory.
Download and Install the necessary packages:
Code:
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2 bc
Now cd to the top level of the kernel source directory and execute:
Code:
make mrproper
We'll now start the build. Execute the following commands to compile the kernel:
Code:
mkdir -p out
make ARCH=arm64 CROSS_COMPILE=/path/to/toolchain/bin/aarch64-linux-android- O=out merge_hi3650_defconfig
make ARCH=arm64 CROSS_COMPILE=/path/to/toolchain/bin/aarch64-linux-android- O=out -j17
change 17 in -j17 according to the cpu cores you have
After the build finishes, your new compiled kernel will be at out/arch/arm64/boot/Image.
Reserved 3
Good to see that the development for Honor 8 is started now.
Sent from my PLK-L01 using Tapatalk
I might add that you'll also need to install 'bc' like 'apt install bc' since not many people have it installed.
About the post, it's pretty accurate and everything seems correct.
Great to see some improvements in development for this awesome device! Do we have any news about the partnership between XDA and Honor?
Its a start. Really excited to see what will be developed
howdid said:
Great to see some improvements in development for this awesome device! Do we have any news about the partnership between XDA and Honor?
Click to expand...
Click to collapse
Everything is shady and blurred at the moment. I have no idea if XDA has even asked Honor for something. It's because XDA hasn't asked the community properly what it requires. We have told @svetius what we need but we haven't heard back from him.
There should be a separate thread or a page on XDA that is solely for the purpose of updating the community about the current status of the Honor Hub program.
Hence, I have no idea what's happening and if this partnership would yield something.
That is why I made a post about the kernel source with fixed sources and a compiled image to attract developers to build for Honor 8 and this could give the Honor Hub program a boost.
hackslash said:
Everything is shady and blurred at the moment. I have no idea if XDA has even asked Honor for something. It's because XDA hasn't asked the community properly what it requires. We have told @svetius what we need but we haven't heard back from him.
There should be a separate thread or a page on XDA that is solely for the purpose of updating the community about the current status of the Honor Hub program.
Hence, I have no idea what's happening and if this partnership would yield something.
That is why I made a post about the kernel source with fixed sources and a compiled image to attract developers to build for Honor 8 and this could give the Honor Hub program a boost.
Click to expand...
Click to collapse
Totally, when I first heard of the Honor Hub I didn't thought that people would become so passive waiting for Honor in order to 'clone and build' (that's not development).
I thought it was just an incentive program for developers so that they help peeps by posting and creating threads. Well I can assure you of one thing, that when I get Honor 8 I will start it's development right away.
Sent from my Huawei Honor 7 using Tapatalk
DigiGoon said:
I thought it was just an incentive program for developers so that they help peeps by posting and creating threads. Well I can assure you of one thing, that when I get Honor 8 I will start it's development right away.
Sent from my Huawei Honor 7 using Tapatalk
Click to expand...
Click to collapse
It is an incentive program, but those threads, supposedly, have to be "helpful", and not the "Hi! [Link to whatever that wasn't even created for this device] Don't forget to click that thanks button!]"
But yeah, it works kind of like that.
XePeleato said:
It is an incentive program, but those threads, supposedly, have to be "helpful", and not the "Hi! [Link to whatever that wasn't even created for this device] Don't forget to click that thanks button!]"
But yeah, it works kind of like that.
Click to expand...
Click to collapse
LOL, yeah, its kinda working like that only. Hope after the first month we will see some development.
Sent from my Huawei Honor 7 using Tapatalk
So we might have hit a wall here (but who knows we haven't).
The original kernel from boot.img is approximately 10 MB whereas the one built from the source is 25.9 MB (wow). Now this could indicate that something is wrong with the kernel source. To confirm this, @XePeleato has zipped the kernel which is ready to be flashed via TWRP. I strongly suggest you to backup your boot partition before flashing it.
You can download the zip from here: https://github.com/Honor8Dev/android_kernel_huawei_FRD-L04/releases/tag/v1.0-alpha . Under the Downloads section, choose the Honor8_Kernel_V1.zip file.
Please test if possible and report back. This could be a real blow if the kernel doesn't works.
hackslash said:
So we might have hit a wall here (but who knows we haven't).
The original kernel from boot.img is approximately 10 MB whereas the one built from the source is 25.9 MB (wow). Now this could indicate that something is wrong with the kernel source. To confirm this, @XePeleato has zipped the kernel which is ready to be flashed via TWRP. I strongly suggest you to backup your boot partition before flashing it.
You can download the zip from here: https://github.com/Honor8Dev/android_kernel_huawei_FRD-L04/releases/tag/v1.0-alpha . Under the Downloads section, choose the Honor8_Kernel_V1.zip file.
Please test if possible and report back. This could be a real blow if the kernel doesn't works.
Click to expand...
Click to collapse
I am glad to see I am not the only one who hit a wall with this thing.
My first time actually playing with kernels with a development standpoints and it has been an interesting journey.....
Glad to see this thread here!
mgbotoe said:
I am glad to see I am not the only one who hit a wall with this thing.
My first time actually playing with kernels with a development standpoints and it has been an interesting journey.....
Glad to see this thread here!
Click to expand...
Click to collapse
The only problem, neither I nor @XePeleato own the device so we couldn't even test if the kernel works. @XePeleato fixed the kernel sources and I have released it so that people who own a Honor 8 could check it, confirm which things work and which doesn't and this could allow us to be more precise what we require from Honor (if we can't fix those things, most of the times they are simple mistakes by Huawei).
The kernel from stock is 10 MB whereas the one compiled from source is 25 MB. It could be compressed but because we don't have device and no one who can test the kernel and provide us with a defconfig extracted from stock ROM (maybe the one in stock ROM was compiled using a different config), we have hit a wall .
hackslash said:
The only problem, neither I nor @XePeleato own the device so we couldn't even test if the kernel works. @XePeleato fixed the kernel sources and I have released it so that people who own a Honor 8 could check it, confirm which things work and which doesn't and this could allow us to be more precise what we require from Honor (if we can't fix those things, most of the times they are simple mistakes by Huawei).
The kernel from stock is 10 MB whereas the one compiled from source is 25 MB. It could be compressed but because we don't have device and no one who can test the kernel and provide us with a defconfig extracted from stock ROM (maybe the one in stock ROM was compiled using a different config), we have hit a wall .
Click to expand...
Click to collapse
I am in the process of recovering my device from well...poot (my wall)...while messing with things let just say the device is not as responsive as I desire...will get back to you guys and would not mind testing things out.
Kernels are definitely not my forteh lmao
hackslash said:
The only problem, neither I nor @XePeleato own the device so we couldn't even test if the kernel works. @XePeleato fixed the kernel sources and I have released it so that people who own a Honor 8 could check it, confirm which things work and which doesn't and this could allow us to be more precise what we require from Honor (if we can't fix those things, most of the times they are simple mistakes by Huawei).
The kernel from stock is 10 MB whereas the one compiled from source is 25 MB. It could be compressed but because we don't have device and no one who can test the kernel and provide us with a defconfig extracted from stock ROM (maybe the one in stock ROM was compiled using a different config), we have hit a wall .
Click to expand...
Click to collapse
i am going to flash v1 is there any kind of log you guys need?
---------- Post added at 11:00 PM ---------- Previous post was at 10:54 PM ----------
ok so far the device booted i will let you guys know if i find any issue that i think could be kernel related, would nice to have 2t2w support on a custom kernel b the way
JEANRIVERA said:
i am going to flash v1 is there any kind of log you guys need?
---------- Post added at 11:00 PM ---------- Previous post was at 10:54 PM ----------
ok so far the device booted i will let you guys know if i find any issue that i think could be kernel related, would nice to have 2t2w support on a custom kernel b the way
Click to expand...
Click to collapse
Thanks for testing it!!!!!!
So Honor 8 doesn't supports Double Tap 2 Wake? We can implement a universal solution that would work with all ROMs (including custom) or we can apply a small patch to EMUI to enable it for EMUI only. Tell me what do you want?
If possible, can you please upload a screenshot of Settings > About Device. I would add it to the main post for the sake of decoration.
hackslash said:
Thanks for testing it!!!!!!
So Honor 8 doesn't supports Double Tap 2 Wake? We can implement a universal solution that would work with all ROMs (including custom) or we can apply a small patch to EMUI to enable it for EMUI only. Tell me what do you want?
If possible, can you please upload a screenshot of Settings > About Device. I would add it to the main post for the sake of decoration.
Click to expand...
Click to collapse
sure get here the screenshot i will upload soon and i think it would be nice to have both options for dt2w just for testing purposes

Categories

Resources