Related
Current release: Version 2.0 (stable) [09/06/2012]
SOURCE CODE: Available at GitHub
*WARNING PLEASE USE AT YOUR OWN RISK*
DISCLAIMER
FIRST OF ALL THIS IS NOT AN OFFICIAL KERNEL, IT IS NOT SUPPORTED BY OFFICIAL CM10 ROMS OR ANY PREVIEW ROMS.
ONCE YOU INSTALL THIS KERNEL YOU WILL NOT BE SUPPORTED IN THE CM10 / CM9 OFFICIAL/UNOFFICIAL DEVELOPMENT THREADS
OF ANY FORUM i.e XDA, SLATEDROID, etc.. THIS MEANS THAT YOU MUST NOT REPORT ANY ANDROID / CM BUGS TO THE ORIGINAL
COMMUNTIY THREADS FOR THE ROM YOU USE! YOU MAY HOWEVER REPORT ANY CM/ANDROID/KERNEL RELATED ISSUES TO THIS THREAD ONLY!
Click to expand...
Click to collapse
Features
CPU Overclocking up to 1500mHz (default is set at stock 1000mhz)
Stable GPU Overclock @ 450mhz (scales from 300 - 450)
Userspace CPU undervolting support
Brick prevention/precaution - disabled MMC_CAP_ERASE function from kernel
I/O Schedulers: BFQ, CFQ, SIO, DEADLINE, NOOP, V(R) (Default VR as of v1.3 - prior to 1.2 default = deadline)
Autogroup Scheduler patched to work with Android via User ID task grouping
CPU Governors: Lionheart, SavagedZen, Lazy, Scary, Intellidemand, LagFree, Wheatley, Lulzactive, SmartAssv2, Interactive, Ondemand, Powersave, Userspace, Performance (depending on ROM - interactive governor is usually set as default gov from userspace during init)
ARM libs from Linux 3.x (v2.0+)
Android Drivers from Linux 3.x (v2.0+)
Linux Security from Linux 3.x (v2.0+)
Cleancache + Zcache Support (v2.0+)
Working Zram - to enable see instructions below (v2.0+)
Fixed Video driver glitches (v1.4+)
Cleaned up tons dmesg errors and warnings (v2.0+)
Memory management fixes and patches from 3.x (v2.0+)
Alsa SoC Tiny HAL patch for better compatibility with Jelly Bean and ICS (reduces/eliminates popping sounds)
Plus various other improvements to kernel configuration and code.
Downloads: (if anyone experiences issues downloading from the androidfilehost mirrors please contact [email protected] to notify of outage as requested by afh admin, thanks!)
Current Stable:
Code:
[URL="http://goo.im/devs/godmachine81/a100_kernel/gm-a100-v2.0-signed.zip"]version 2.0[/URL]
Previous Releases:
Code:
[URL="http://beta.androidfilehost.com/?fid=9390062577138008066"]version 1.5[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-v1.3a-signed.zip"]version 1.3a[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-v1.2b-signed.zip"]version 1.2b[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-autogroup-v1.1-signed.zip"]version 1.1[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-autogroup-v1.0.1b-signed.zip"]version 1.0.1b[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-autogroup-v1.0.1-signed.zip"]version 1.0.1[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-autogroup-v1.0-signed.zip"]version 1.0-pre[/URL]
Tools:
Code:
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/toggle-ag.sh"]toggle-ag[/URL] Tool to Enable/Disable Autogroup and check the status.
'toggle-ag' now included with kernel zip as of 1.3a and is located at /system/xbin/toggle-ag - You may run from a terminal or create Script Manager widgets for each of the script arguments:
Code:
toggle-ag status
toggle-ag on
toggle-ag off
toggle-ag help
Please remember that this script has to be ran as root if you plan to enable/disable autogroup, however you may run as regular user to check the status or get the help dialog.
Important info on toggle-ag script usage (from the script comments):
#**Please note that toggling back and forth the scheduler will
#produce undesired effects, as it takes the system a few minutes
#to switch the process scheduler each time effectively. Imagine
#all processes that run in the backround are rearranged each time
#you switch the process scheduler. In other words you shouldn't
#toggle back and forth to make comparisons as they WILL NOT be
#effective immediately!!
Click to expand...
Click to collapse
Goo Manager Support (NEW!)
You can now download my custom kernels, recovery, tweaks, etc from Goo Manager, available on the Play Store. Goo Manager is similar to ROM Manager, except it works very well with my release of TWRP 2.2.2.0.
First time use instructions:
Set Download path to: /sdcard/goomanager/ in "Settings" (This is important as the location on Android and TWRP need to both be exact same!)
Go back to the main screen in Goo Manager and click Browse Compatible Roms
Choose 'godmachine81'
For kernels choose a100_kernel (you are welcome to look around in my other directories)
Choose the release you wish to download
Choose 'begin download'
You will see a notification for 'Download Finished' - Tap on it
It will prompt you to Select Zip(s) to flash, you may choose more than 1!
After you have selected all the zips you want to flash, go to the option 'Order and flash selected' or if you want to add a zip from a custom location, choose the 'Add zip from another location option'
Once in the Order and flash menu, it is important that you set the order to flash in the proper order, when you are sure it is right, then click Flash (First time you use Goo Manager, it will prompt you that an OpenRecovery is needed, choose that you already have one)
After You click flash, the system will reboot to TWRP, flash your .zip files, and reboot back to android without any user interaction.
ZRAM
What is it?
Zram was developed so that systems with a limited amount of physical ram may allocate a percentage of that to a system swap device using compression. By compressing the data that is in the swap space you can fit more data into the same amount of ram. For example App#1 is consuming 500mb of a total 725mb ram, this leaves you with 225mb free. If you have Zram enabled then App#1 may begin to swap to the zram device, when doing this you will have an advantage, because any amount of data from App#1 that gets swapped out to Zram will be compressed meaning it is actually using less physical ram. So instead of only 225mb free of 725mb you may now end up with something more like 400mb free because data from App#1 is compressed in Zram, in this example thanks to compression you cut the 500mb memory usage of App#1 to 325mb. Zram should have a minimal impact on performance while giving you the benefit of fitting more data into the amount of physical ram your device has.
HOWTO
This kernel includes functional ZRAM support, however to take advantage of it you must enable it from userspace (Android). Cyanogen Mod has an option in Settings > Performance > Memory to enable Zram, however it doesn't properly work - I'm not sure exactly how it is coded in the cm sources, but when you enable zram it doesn't create the zram swap device like it should. To work around this I wrote the following flashable .zip files that contain a script to automatically create the zram swap device at boot, please download and flash the size you wish to allocate to zram:
Zram - 100MB (14% ram)
Zram - 150MB (20% ram)
Zram - 200MB (28% ram)
Zram - 250MB (34% ram)
Zram - 300MB (41% ram)
Zram - 350MB (~50% ram)
To Disable/Remove Zram
In the event that you want to disable Zram then just remove the file(s) at:
/system/etc/init.d/50zram-*
After the 50zram- file has been removed, just reboot your device and you will no longer have Zram enabled. To re-enable just reflash one of the above files.
Flash Back stock kernel?
For those who wanted it: stock-kernel-signed.zip click here to download the stock ICS Kernel - This is the Stock CM kernel from The Android_Device_Acer_A100 Prebuilts on github.
To cut down on general discussion in this thread please note that I have been in the Freenode IRC Dev channel a lot lately. server: irc.freenode.net channel: #iconia-dev - My IRC handle is godmachine81 Join me there for general discussion if you don't mind. Thanks!
Video of Kernel in action on CM10 (appologize for audio and poor quality)
*All references to the Xtreme releases has been removed due lack of time needed to maintain it aside from the stable releases - will update the thread when I Xtreme development gets back underway
ChangeLog:
2.0
Backport several bits mainline code from Linux 3.5 - including Security, ARM Libs, MM, and Android specifics
Zcache + Cleancache added
Ability to concatenate kernel cmdline configuration to Bootloader's cmdline without breaking compatibility with any bootloaders ( needed for zcache/cleancache to work)
Zram patches and updates
Clean up dmesg logs
Deadline IO Sched tweak (1:1 ratio writes/fifo) - VR remains default IOsched
CONFIG: turn off some verbose logging/debugging to reduce overhead, enabled Load Lens Correction Data to smooth out camera operation
TweakIO init script included by default to optimize disk read/write performance
Several other small patches and tweaks to underlying sources
1.6
Minor patches to sources and configuration
1.5
GPU voltage and frequency updates
Interactive governor updated from N7 grouper
Adjust frequency scaling per core for new interactive gov.
1.4
This release was a testing Xtreme release which has recently been removed due to lack of development
1.3a
Script: toggle-ag now included in zip, installs to /system/xbin/toggle-ag
Default IO Scheduler V(R)
Default CPU Governor Lulzactive
1.2b
Bug Fix release for 1.2 - BFQ randomly causing "black screen" issue immediately after boot animation, preventing full boot - reboot resolved issue in most cases, but comes back at random on boot - Setting default I/O scheduler to NOOP until BFQ issue is resolved.
1.2
Autogroup per UID instead of TTY task (huge improvement to autogroup on android)
Set BFQ as default I/O Scheduler
Allocator: Switch to SLUB from SLAB
Remove verbose debugging symbols
Set proper firmware/calibration paths for WiFi in configuration
1.1
Add userspace support for undervolting
GPU OC (400mHZ) on CPU OC > 1000mHZ
Fix "Recent Apps" bug - The glitchy behavior when loading an app cached in the "Recent Apps" menu. Pointed out by DarkNight
Tune SmartassV2 for better behavior and ideal freq set at 760mHZ
Add the following CPU Governors: Lionheart, SavagedZen, Lazy, Scary, Intellidemand, LagFree, Wheatley
Deprecated the non-autogroup release also known as (default)
various other improvements to CPU, voltage, video.
1.0.1b
Add SmartAssv2 CPU Governor
Fix LOCALVERSION
1.0.1
Patched MMC_CAP_ERASE as precautionary to avoid hard brick
1.0-pre
V(R) I/O scheduler Added
SIO I/O scheduler Added
Zram sources backported from 3.0 resolved compile issue
Alpha (First public download)
Overclock added: Min Freq: 216 Max Freq: 1504
CPU Governors: Lulzactive, Ondemand, Interactive, Conservative, Userspace, Performance, Powersave
IO Schedulers: Noop, Deadline, CFQ, BFQ
Autogroup or Default Kernel available
Patch for Tiny HAL - resolves popping in audio on JB/ICS
Click to expand...
Click to collapse
If you would like to help out with the continuance of kernel development for your Acer Iconia Tab A100 please consider a small donation to help out with bills, baby formula, wipes, diapers, etc. All donations are very appreciated by my family and I! Thanks
This kernel is pretty slick, tested a previous version of it, nothing but good things to say of it, hit thanks on your way to flash this.
Tapatalked from my Galaxy S II.
pio_masaki said:
This kernel is pretty slick, tested a previous version of it, nothing but good things to say of it, hit thanks on your way to flash this.
Tapatalked from my Galaxy S II.
Click to expand...
Click to collapse
Same to all your projects pio_masaki! I always hit the "thanks" for you too buddy! BTW, the kernel you have been testing is the equivalent in the downloads section to the "default", you may want to take a stab at the "autogroup" kernel. I have been testing it with great responsiveness. Also added in SIO and tweaked some timings/voltages in the new downloads. Glad to hear you have had good results thus far
linuxsociety said:
Same to all your projects pio_masaki! I always hit the "thanks" for you too buddy! BTW, the kernel you have been testing is the equivalent in the downloads section to the "default", you may want to take a stab at the "autogroup" kernel. I have been testing it with great responsiveness. Also added in SIO and tweaked some timings/voltages in the new downloads. Glad to hear you have had good results thus far
Click to expand...
Click to collapse
Yup I have every intention of banging that new kernel, waiting a minute while I build yet another CM10 for further testing of the autobrightness levels, added a couple more slots into the array, should have it nailed this time.
pio_masaki said:
Yup I have every intention of banging that new kernel, waiting a minute while I build yet another CM10 for further testing of the autobrightness levels, added a couple more slots into the array, should have it nailed this time.
Click to expand...
Click to collapse
Was really curious to see how BFS performed with Jelly Bean /ICS either one, but i've not had any luck with getting BFS to run stable so I removed it from my kernel tree for the time being. If i can get a full port to the grouper tree with all our device sources, I'm pretty confident I can get a newer revision of BFS to working. From most of my experience with other devices and other x86 systems though, the BFS doesn't out perform Autogroup anyway, but its mostly just curiosity that makes me want to go through all the trouble of getting it working with tegra2. On another note, I'm not sure why but regardless of the kernel or configuration I use Jelly Bean seems to have a weaker performance in any benchmark than the same kernel/configuration used in ICS. I'm yet to figure out where the bottleneck is in JB. (testing with linpack, quadrant, antutu benchmark all produce lower scores than with ICS) The thing that is most important to me is the actual user experience and feel that you get and not some benchmark score.. I can say that JB is very smooth and the scores don't mean nothing if you don't look at them!!
Awesome kernel! Seems stable enough, audio also works
sent from my A1/500 Iconia slab of awsomeness
Every time I download the zip file and try to flash it I get a Failed message. I am using TWRP to flash with.
tidewaterns said:
Every time I download the zip file and try to flash it I get a Failed message. I am using TWRP to flash with.
Click to expand...
Click to collapse
download it again
tidewaterns said:
Every time I download the zip file and try to flash it I get a Failed message. I am using TWRP to flash with.
Click to expand...
Click to collapse
In TWRP do you have MD5 verification enabled? If you do then it should work after you turn that off, the zip file is signed with SignAPK.jar so it should work without any issues. I have personally flashed both to my device using TWRP. If you are using adb through TWRP to push the .zip then you shouldn't be pushing it to /sdcard/ in recovery the proper location for internal storage is /data/media/ so if you have pushed it to /sdcard/ in adb then it will exist in a directory where permissions aren't accurate for the loader. Push with adb to /data/media if in recovery, or push to /sdcard/ if pushing with adb while your tablet is booted to Android OS.
If for some reason the .zip files are corrupted on github for other users please let me know and I will recompile, recompress, resign, and reupload.. Thanks
Fransis88 said:
download it again
Click to expand...
Click to collapse
Francis88: I assume the zip files flashed ok for you? Anyone else having problems?
Mine works fine. Flashed with twrp. Of course, I cleared dalvik before I flashed. The rebooted. Works fine.
sent from my A1/500 Iconia slab of awsomeness
I really don't like flashing from internal, and twrp, at least 2.1.1, says sdcard for whatever one is mounted. Keep that in mind when flashing in twrp. I think 2.2 says sdc instead. Also in jellybean it goes to storage/sdcard0 for internal sdcard1 for external sdcards. You can probably still use the old paths but those are the correct paths for jellybean.
Tapatalked from my Galaxy S II.
I copy everything to my SD card. You can flash from it.
Actually, I've only ever flashed from internal once, it was jb gapps
sent from my A1/500 Iconia slab of awsomeness
das_webos_transformer said:
I copy everything to my SD card. You can flash from it.
Actually, I've only ever flashed from internal once, it was jb gapps
sent from my A1/500 Iconia slab of awsomeness
Click to expand...
Click to collapse
Well I'm not saying you can't its more of a personal call to never store stuff I don't want to lose on internal, especially since it gets wiped when I wipe for testing.
Tapatalked from my Galaxy S II.
I think there may be some confusion when I say "internal" and "/sdcard" Assuming that one doesn't have an external sdcard, then /sdcard would be internal storage while in android OS (meaning ICS, Gingerbread, Honeycomb, Jellybean, etc), and that same path would be /data/media while in TWRP/CWM (Recovery mode). I've never had my external sdcard (removable one) to mount at /sdcard or /mnt/sdcard on my a100 so I assumed it was safe to recommend flashing from there as I have never had any issues with it, but like I mentioned in the previous post, /sdcard is only your internal user storage while booted into Android OS and not while in Recovery, while in Recovery the symlink doesn't exist so the right location is /data/media..
If anyone isn't familiar with the hierarchical file system and the mount points for their device, then I strongly encourage them NOT to use experimental ROMS, Kernels, etc. including this one. The kernel is a very critical part of the software on the device, and without a working kernel, you WILL NOT have a working device. So if something happens that you don't have the original kernel backed up and a way to flash it, or a full backup that you can access from recovery, then testing experimental kernels is like playing with fire..
A soft brick is highly possible if you obtain: A) the wrong kernel for your device B) a corrupted download kernel -OR - C) An experimental kernel that may be misconfigured or contain "bad" source code. << All of these can be repaired easily from recovery if you have a known good version to restore from, but if you have trouble flashing one kernel that is known to flash successfully for others, then what happens when you get the Fail message when trying to restore your working kernel/system??
Hope nobody takes this the wrong way, just trying to look out for people before things go bad. Good luck..
pio_masaki said:
Well I'm not saying you can't its more of a personal call to never store stuff I don't want to lose on internal, especially since it gets wiped when I wipe for testing.
Tapatalked from my Galaxy S II.
Click to expand...
Click to collapse
I have never had to wipe the internal user storage AKA /data/media & /sdcard while testing any build, Of course it would be very easy to mess things up and accidentally wipe it from recovery, but I've never ran into any issues needing my internal SD wiped (so far).
Pio_masaki you could be talking about something else by internal storage though? Like /system or / or somewhere other than /data/media, /mnt/sdcard[0-] ?
linuxsociety said:
I have never had to wipe the internal user storage AKA /data/media & /sdcard while testing any build, Of course it would be very easy to mess things up and accidentally wipe it from recovery, but I've never ran into any issues needing my internal SD wiped (so far).
Pio_masaki you could be talking about something else by internal storage though? Like /system or / or somewhere other than /data/media, /mnt/sdcard[0-] ?
Click to expand...
Click to collapse
No I mean internal SD. I fully wipe /data including /data/media. Occasionally I dd zero them all too.
Tapatalked from my Galaxy S II.
linuxsociety said:
In TWRP do you have MD5 verification enabled? If you do then it should work after you turn that off, the zip file is signed with SignAPK.jar so it should work without any issues. I have personally flashed both to my device using TWRP. If you are using adb through TWRP to push the .zip then you shouldn't be pushing it to /sdcard/ in recovery the proper location for internal storage is /data/media/ so if you have pushed it to /sdcard/ in adb then it will exist in a directory where permissions aren't accurate for the loader. Push with adb to /data/media if in recovery, or push to /sdcard/ if pushing with adb while your tablet is booted to Android OS.
If for some reason the .zip files are corrupted on github for other users please let me know and I will recompile, recompress, resign, and reupload.. Thanks
Click to expand...
Click to collapse
I do not have MD5 verification enabled. Every time I try to flash it gets to the Verifying partition sizes then I get a failed in red on the screen.
tidewaterns said:
I do not have MD5 verification enabled. Every time I try to flash it gets to the Verifying partition sizes then I get a failed in red on the screen.
Click to expand...
Click to collapse
I would redownload, that's usually a cause if everything else is good. Any error message, like status 7?
Tapatalked from my Galaxy S II.
I finally got it installed and I overclocked it to 1504 mhz . Thanks for your help!
Sent from my A100 using xda premium
Given the amount of RAM on our device, is there any plan to release a native gcc, binutils and maybe gdb? On another note are there any kernels that support swap?
I'm running CM10 Oct 5 atm and have tried on several previous nightlies to enable zram, but I'm not seeing a swap partition showing up. Am I understanding zram wrong? I thought it created a swap partition in RAM and then compressed that.
Hi friends,
This post is to share the important things,concepts related to android......
In this post, many things like roms,kernels,overclocking,undervolting,I/O shedulars,governars,RAM, swap,differnt swaps ,partitions (ext2, ext3, ext4 )are ported....
If something missing or wrong plz tell me and i will add in this post...
I hope this post will help you to improve knowledge...
So lets start....
[1] ANDROID:
Android is the linux based operating system, designed primarily for touchscreen mobile devices like smartphones and tabs..
Android is an open source and google releases the code under the Apache Licence
Following are the versions of android :::
1) 1-1.5 --- Cupcake
2) 1.6 --- Donut
3) 2.0-2.1 --- Eclair
4) 2.2-2.2.3 --- Froyo
5) 2.3-2.3.7 --- Gingerbread
6) 3.0-3.2 --- Honeycomb
7) 4.0-4.0.4 --- Ice Cream Sandwich
8) 4.1-4.2.2 --- Jelly Bean
After knowing about Android,
Lets move towards deep....
[2] Android Rooting:
Android Rooting is process of allowing users which are using Android system to attain privileged control (i.e. Root access) within Android Subsystem.
Rooting is required for more advanced and potentially dangeorous operations like deleting,modifyig system files etc..
Their are many methods for rooting our galaxy y
Most easy method i found is at the thread
http://forum.xda-developers.com/showthread.php?p=29960454
[3] ROM ::
A file containing the executable instructions (the system image ) of an Android operating system & apps is ROM (read only memory)
after rooting your phone you are free to flash any custom rom
FLASHING ROM: flashing rom means installing the system image into device's internal flash memory...
Their are many custom roms available for our galaxy y..
Cyanogenmod, BeautySense, Creeds Rom, Fusion Rom ,
Repencis ROM, Infected ROM Blazed, COD Rom , U.S.S.R, Thunder ROM , EVO-X, CHOBITSDIGITALIS ROM ,
WeUI by amal das, M.U.R, MySS, emralD, xXxxxX MIUI XxXxXx, WinterMod Evo , WP8-Monochromatic 6.0
ACCEND
Links of all these roms will get from thread:
http://forum.xda-developers.com/showthread.php?p=31329931
[4] KERNELS::
Kernels isn't something unique for android, but all O.S. i.e. Windows, Ios, Blackberry, have kernels..
Android devices uses Linux Based kernels
In simply words, the hardware and the software communicate each other by using kernels...i.e. When software needs hardware to do anything it sends that request through kernels..
Most of the things like brightness of screen, volume, is controlled by kernels...
Kernels decides minimum and maximum frequency of CPU,
Overclocking, undervolting are all done by using kernels....
Some of the kernels available for galaxy y are Savie kernel, Merruk kernel, Hells Fusion Kernel, Kuro kernel, White kernel, Repencis Kernel, Deviant kernel etc.
( their are many other kernels list of all the kernels is impossible)
[5] Governers and I/O shedulars::
For understanding both the above terms please read the following post::
http://forum.xda-developers.com/showthread.php?p=19846276
[6] Overclocking:
Android
overclocking increases the
maximum frequency (or speed)
that your CPU can run, thereby
increasing performance of your
Android smartphone or tablet.
Many kernels for our galaxy y uses overclocked frequency..
By overclocking, overall performance of phone increases, we can play hd games lag free..
Only the disadvantage of overclocking is that mobile gets heated fastly....
Most famous kernel for overclocking galaxy y is merruk kernel...
[7] Undervolting::
Kernels are used to undervolt phone...
Undervolting means force the smartphone to work at lower voltage than normal voltage..
Due to undervolting battery backup of phone increases...
After all such part.....
[8] RAM (Random Access Memory)::
It is temporary data storage that the CPU uses during calculations. The more RAM a device th more calculated results the CPU can store.
Which means less time the CPU has to do the same thing over and over again.
In other words, th CPU can check RAM to see if it has already made a particular calculation in the recent past. If it has, it can use the pre-computed results instead of wasting proccessing time in recomputing the same calculation.
In short , more RAM means more efficient the device....
[9] Swap:
swap is nothing but virtual RAM. Using swap a small portion of hard drive is set aside and used like RAM
The great guide how to increase RAM using swap file and swap partition is given here :
http://forum.xda-developers.com/showthread.php?p=26220059
ZRAM:
To know about ZRAM please click the link:
http://forum.xda-developers.com/showthread.php?p=34877656
[10] Cache:
Many times you read the word cache...so
Cache is general type of temporary and quick access data used by the system or user(third party) applications...
Or any temporary information used or created by app is cache..
[11] Dalvik cache:
This word is also read by us many times..
Dalvik is the process virtual machine (VM) in Google's Android
operating system . It is the software that runs the applications on Android devices. Dalvik is thus an integral part of Android, which is typically used
on mobile devices such as mobile phones and tablet computers
Programs are commonly written in Java and compiled to
bytecode. They are then converted from Java Virtual Machine - compatible .class files to Dalvik-compatible .dex
(Dalvik Executable) files before installation on a device. The compact Dalvik Executable format
is designed to be suitable for systems that are constrained in terms of memory and processor
speed.
[12] JIT ::
JIT stands for
"Just In Time," and we use it to
describe a Dalvik JIT compiler,
which was added to Android with
the 2.2 release. It compiles
bytecode into native machine code at runtime. Essentially it takes the code for an app, analyzes it and converts it into something that runs faster. It does all this while the application is running, and that's where the "just in time" tag comes from. The JIT compiler designed for Android also can do this with a very short "warm up"
time, meaning it doesn't take very
long to analyze the code before it
starts working. It stores information in a cache in your
phone's RAM, which means it's not an ideal solution for devices with low memory.
[13] a2sd or app to sd:
app to sd is nothing but to move the app in external storage instead if internal storage....
Some apps are used to move apps in sd card
Some of the kernels also support a2SD....
[14] Linking app to SD:
their is difference between app 2 sd and link 2 sd ...
Link 2 sd means to create a separate part in external storage by specific linux file system such that it bahaves as internal storage and then move the app to that particular memory...
Following are the mainly used file systems....i.e. Partitions...
Partitions:
ext2, ext3 and ext4 are all
filesystems created for Linux i.e. For android..
Ext2
Ext2 stands for second extended
file system. This was developed to overcome
the limitation of the original ext
file system.
Ext2 does not have journaling
feature.
On flash drives, usb drives, ext2 is
recommended, as it doesn’t need
to do the over head of journaling.
Ext3
Ext3 stands for third extended file
system. The main benefit of ext3 is that it
allows journaling. Journaling has a dedicated area in
the file system, where all the
changes are tracked. When the
system crashes, the possibility of
file system corruption is less
because of journaling. You can convert a ext2 file system
to ext3 file system directly
(without backup/restore).
Ext4
Ext4 stands for fourth extended
file system. Supports huge individual file size
and overall file system size.
You can also mount an existing
ext3 fs as ext4 fs (without having
to upgrade it).
Several other new features are
introduced in ext4: multiblock
allocation, delayed allocation,
journal checksum. fast fsck, etc. All
you need to know is that these new
features have improved the
performance and reliability of the
filesystem when compared to ext3.
In ext4, you also have the option
of turning the journaling feature
“off”.
I hope this thread helpded you if anyone wants more about something then plz post in the thread ...
If anything in the post is wrong ,missing tell me.....
Special thanks to
CarlDeanCatabay,
droidphile,
-CALIBAN666-,
manornjan2050,
Omaxe,
And all other devs........
You can press thanks if it doesn't cost you....
Sent from my GT-S5360
Reserved
Sent from my GT-S5360
Well that is some nice compilation ....
u cud make it more attractive...adding more formattings and stuff :good:
Good morning ☺ ,
I've flashed custom ROM and added a custom kernel ( cleanrom 3.8.0 + glitch kernel r226 ) in order to overclock my N7 . I definetly see some improvements over the stock ROM and it got better ( at least in benchmarks ) but when i was tweaking the kernel with tricksted mod i found an option "Dynamic FSYNC" , I never saw it before so obviously i have on idea what it is . Should I leave it enabled or disable it ?? What do we use it for ?
Thank you ?
If i get it right 'dynamic fsync' disables linux file buffering when the device goes into sleep mode. I can remember on CM7 they said it helps preventing data loss when the device crashes during sleep.
But its still in nearly every custom kernel nowadays. To my understanding disabling async/buffering is a very bad thing on flash/eMMC memory as every single byte written leads to an 128KB (erase block size) write operation (much higher cell wear-out) whereas the standard behavior would buffer a specific data size or time (commit=5 seconds for ext4). Also, ext4 is backed by journaling so data loss shouldn't be a problem anymore on most situations. I'm wondering as well what the benefits/purpose of this mod should be these days.
Maybe @faux123 can shed some light?
*** This kernel is now end-of-life, not supported and developed anymore !!! ***
Hi all,
some of you know me from the other OnePlus or Samsung devices areas, where I provide my kernels already for more than three years to OnePlus 3, 2, one and X, Galaxy S5, S3 and Note 10.1 users for all sort of platforms (Samsung, Cyanogenmod, Omnirom etc.)
Please note:
I am not heading to have as many features as possible implemented, this is not my design goal. If you are more into that, move on to other, good existing kernels. If you are searching for a good mix of improvements and new functions while not sacrificing stability, you are welcome here (see below the history section for more info).
Compatibility
Important: This kernel is only meant to be compatible with official OnePlus OOS and nothing else.
So when the kernel does not run on custom rom XYZ, do not even bother me with it or ask hundred times in the thread for compatibility.
I could not care less about it !!
To add: An open beta (aka community build) is NOT an official build supported here. If you use a community build and have issues, don't complain or even report. I am not merging any kernel changes from open betas into my kernels !!
Important notes
When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
This kernel is ONLY compatible to OxygenOs stock, nothing else !!!
If you are using a custom rom that bases on OxygenOs, it might work. However, if it does not work, do not expect me to do tweak to make the kernel running with your favorite rom. I would not do it - my one and only reference is OxygenOs stock.
It is not supposed to be compatible to CM, HydrogenOS etc.
Also note: You have to use Boeffla-Config app which I provide on my homepage to tweak the kernel. 3rd party apps will not be able to unleash the full power of the kernel.
Installation
Read the install instructions in the support section on the Boeffla Site.
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app (outdated at the moment).
Click here to learn about using the config app (outdated at the moment).
I will refuse to give support if you do any undervolting/overclocking and experience freezes or hot reboots.
I will also not provide any support if you do not use Boeffla-Config app to tweak the kernel, other 3rd party tweaking apps are known (and intended) to cause issues.
I will refuse to give support if you have xposed framework installed and reporting any kind of weird issues. My opinion to xposed it quite clear: too powerful for >90% of the users that just mess up their system with it.
Otherwise, you can get in touch with me via the support e-mail address: [email protected]
Please provide kernel version, rom version, a detailed issue description and ideally supporting screenshots or log files.
Change logs
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Change log for OxygenOS 4.x.x kernel - Click here
Change log for OxygenOS 3.x.x kernel - Click here
Known issues
none
Features
Note: This kernel only runs on OOS 3.x.x for the OnePlus 3T - nothing else !!!
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 (you need at least version 2.4.21 or higher !!!) configuration app (get it from http://www.boeffla.de) to configure all kernel settings
Dash charging fully supported
The two CPU clusters (big and little cpu) can be configured completely separate in terms of min/max frequencies, governors and CPU core profiles
Additional governors: Impulse, zzmoove, elementalx, conservative, ondemand, blu_active
Additional schedulers: fiops, bfq, sio, sioplus, fifo, vr, tripndroid, zen, maple
No CPU overclocking and voltage interface, no GPU overclocking and voltage interface
USB charge rate bumped up to 900 mA
Boeffla charge analysis (display of charger type and charge current in Boeffla-Config app in real time)
Boeffla touchkey LED control (LEDs fully off, LED on screen touch, configurable duration)
CPU core profiles to restrict number of CPU cores being used (the OP3 does not hotplug based on load)
Notification LED control (effect + speed for blinking/fading, brightness for continuous notification like battery charging etc.)
Boeffla-Sound engine: Headphone volume and speaker volume (only lowering volumes for speaker)
Dynamic FSync (activated if screen on, deactived if screen off), configurable
Input boost frequencies and duration configurable per CPU cluster, input boost switch
Show CPU frequency usage per CPU and frequency in Boeffla-Config
Show GPU frequency usage per frequency in Boeffla-Config
KCal V2 Color control
Display backlight limits configurable (to avoid display brightness gets too low in some situations)
Display backlight dimmer
Swipe2wake gestures
Control haptic feedback of gestures (except fingerprint)
Haptic feedback intensity control
Swipe2sleep gestures
Boeffla generic wakelock blocker V1.1.0 (documentation)
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (only when data volume is formated with ext4, stock default is f2fs)
Kernel logger (dmesg) configurable
CIFS support (module, do not mount inside /data, if you rooted with Chainfire SuperSu, make sure you uncheck the namespace separation in SuperSu app)
NFS support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
TCP Congestion changed to Westwood
Many additional TCP congestion algorithms available
Entropy values configurable
Hardware touch keys are locked as long as screen is in use (touched) for better usability
Swap supported
Doze mode switchable
Verifiedbootstage flag remove to avoid triggering safetynet
Various minor kernel tweaks
Doze mode configurable in Boeffla-Config
Full selinux strict support (switchable to permissive on demand)
Show speedbin information (PVS level) in Boeffla-Config app
init.d support (in /system/etc/init.d - set correct permissions!)
Entropies configurable
Automatic EFS backup
Integrated full busybox 1.27.2 (own compilation)
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Security patches included, which are not in the official repo
Google gcc 4.9 toolchain (64 bit) used for best stability
Always based on latest OOS kernel sources (https://github.com/OnePlusOSS/androi...neplus_msm8996)
Download
For all information and downloads (stable AND testing versions), visit the Boeffla-Kernel homepage:
www.boeffla.de
History and design targets
Basically I created my first Boeffla-Kernel in 2012 as there was no kernel for the Samsung Galaxy S3 around that had exactly the mix of functionalities that I wanted. I wanted to have full flexibility in undervolting and charge rates for instance, but did not like the sharpness and/or brightness tweaks many kernels have implemented as per default.
Hence, I began to create my own kernel after a while, adding all the features I like. This is the result of my work, which in the end I decided to share with you. I hope you like it as much as I do.
The objective of this kernel is to have a kernel for daily use. It does not aim for best battery life, or best smoothness or best benchmark scores. Also it does not aim to have the broadest feature set available everywhere.
It aims more for a good mix of all, not sacrificing stability and functionality in the end.
And - most important: It aims to stay quite close to stock !!!
These design targets are also valid for the OnePlus kernel here!!!
This said, I will definitely NEVER implement:
things I do personally not need
things I do not like
things that are in any way dangerous
anything which is highly experimental
a CAF based kernel
anything that requires upstreaming of kernel parts to a higher kernel major version
So do not even ask for it if it falls into the listed categories. Everything else I am happy to check and decide.
And: I do not really care about benchmark numbers, they say almost nothing as long as something is not completely wrong. Important for me is the feel-good factor.
I am also not interested in gaming at all, so never expect a gamer kernel. It will just not happen...
Compatibility
To reiterate it again: Flash the kernel only if you are running a compatible rom !!!
Configuration of the kernel
To tweak and configure the kernel, manually load and install the app "Boeffla-Config V2" from the downloads section on www.boeffla.de.
You need at least version 2.4.21 or higher for the OnePlus 3T Boeffla Kernels.
Donation
If you like my work, feel free to donate: Donation-Link
If you donate at least 2,49 EUR (to be in line with the donation app prices on Google Play store), you will receive a personal donation code which unlocks some nice little comfort functions in Boeffla-Config V2 on top.
Source code
All sources can be found in my Github repository: http://github.com/andip71
Credits to developers
Of course, I had never been able to create all that by my own. So I want to give credits to the really good developers around, that have given me all the inspiration and from which I cherry picked lots of the implemented functionalities:
* ZaneZam
* Grarak
* Yank555
* Hardcore
* Chainfire
* AndreiLux
* Netarchy
* Gokhanmoral
* Simone201
* Mialwe
* Entropy512
* Faux
* Harunjo
* FranciscoFranco
* Ak
* Osm0sis
... I just hope I did not forget someone. If so, please let me know and I will add you of course.
Thanks to all of you for your great work !!!
Disclaimer
*** As always - Flash on our own risk! ***
Make sure you flash the correct version depending on your firmware version!
I can and will not take any responsibility for bricked phones or lost data.
It is generally recommended to run a complete Nandroid backup in your custom recovery and safely store your personal data before you flash a new kernel.
Cheers and enjoy
Andi
Latest change log:
OOS4
http://kernel.boeffla.de/oneplus3t/boeffla-kernel-oos/oos4xx/changelog.htm
OOS3
http://kernel.boeffla.de/oneplus3t/boeffla-kernel-oos/oos3xx/changelog.htm
--- Reserved 2 ---
Here we go!
First beta is online for you guys.
As always, find everything on www.boeffla.de
And just to stress it again: It is the VERY FIRST beta, so expect bugs!
Have fund
Andi
nice! downloading right now!
so happy to see you again andi! your kernel was simply the best on my galaxy S5 and I missed your affords in my S7!
so happy flashing to everyone!
Sent from my ONEPLUS A3003 using XDA-Developers mobile app
After jumping from kernel to kernel (since there are many more kernel devs here than on the OP2) with various minor niggles, finally back to the one I feel fits my needs best. This release brings me relief, as now I don't have to go kernel hopping again, and I think Boeffla provides the best support of all. No bugs so far, multirom boot menu works, everything runs great.
Out of curiosity, is the kernel systemless? (Can I revert to stock by just flashing stock boot.img from latest ROM zip?) I ask because flashing the entire stock ROM takes a long time, and the TWRP loading time is also long.
Also, ext4 tweaks is not hidden for me and is enabled when a profile is reset to default settings. I'm on the default filesystems. (f2fs data, ext4 everything else)
Should I leave ext4 tweaks on or off?
PS: I was probably the first person to like and subscribe to this thread. (within 5 minutes of thread creation)
Edit: Flashable stock kernels? Perfect, thank you @Lord Boeffla ! Does it revert any custom kernel to stock kernel?
Been with Boeffla since S3 and via OPO this will be my third phone with the kernel.
Thanks!
Skickat från min ONEPLUS A3003 via Tapatalk
knpk13 said:
After jumping from kernel to kernel (since there are many more kernel devs here than on the OP2) with various minor niggles, finally back to the one I feel fits my needs best. This release brings me relief, as now I don't have to go kernel hopping again. No bugs so far, multirom boot menu works, everything runs great.
Out of curiosity, is the kernel systemless? (Can I revert to stock by just flashing stock boot.img from latest ROM zip?) I ask because flashing the entire stock ROM takes a long time, and the TWRP loading time is also long.
Click to expand...
Click to collapse
This is not possible on OOS in a clean way.
The kernel comes with modules which are placed in /system/lib/modules too.
So only flashing stock boot.img would not replace the kernel modules by stock ones. So it is only a "half-good" solution.
But, as most of the time, I have a solution for you
Look here: http://boeffla.de/index.php/downloads/downloads-general
Flashable stock kernels for the 3T, which also include the modules.
Guess this is what you need.
Andi
knpk13 said:
Also, ext4 tweaks is not hidden for me and is enabled when a profile is reset to default settings. I'm on the default filesystems. (f2fs data, ext4 everything else)
Should I leave ext4 tweaks on or off?
Click to expand...
Click to collapse
This is something I might need to correct in the app then. Leave them off, there is no ext4 anymore on /data volue with stock OOS (but the f**inkg f2fs).
I will look into that over the next days then.
EDIT: Just tried it - cannot replicate that. Maybe your /data partition is indeed formatted in ext4???
(you can check by firing the following command in a terminal: mount | grep data)
Andi
Lord Boeffla said:
This is something I might need to correct in the app then. Leave them off, there is no ext4 anymore on /data volue with stock OOS (but the f**inkg f2fs).
I will look into that over the next days then.
Andi
Click to expand...
Click to collapse
I reopened the app, and ext4 tweaks was off. But when I click on reset profile settings, it turns on. But on reopening again, it turns off automatically every time, so I guess it's working fine. Yes I'm sure I'm on f2fs.
knpk13 said:
I reopened the app, and ext4 tweaks was off. But when I click on reset profile settings, it turns on. But on reopening again, it turns off, so I guess it's working fine.
Click to expand...
Click to collapse
Yep, and also means, your data partition is not formatted with f2fs (my op3t came with /data on f2fs)... lucky you. I love ext4 much more, I even consider reformatting /data with ext4 soon, hehe.
Andi
Ok guys, evening hours here in Germany.
I am off for today. If you have any questions, you can also move over and read in the OP3 thread. The devices are - concerning my kernel - 99,99% the same.
So you would most probably find all answers to your questions already there.
Tomorrow I will catch up again.
Andi
Lord Boeffla said:
Yep, and also means, your data partition is not formatted with f2fs (my op3t came with /data on f2fs)... lucky you. I live ext4 much more, I even consider reformatting /data with ext4 soon, hehe.
Andi
Click to expand...
Click to collapse
I'm sure I'm on f2fs. Even TWRP says I'm on f2fs. 3T comes stock with f2fs. This is the output of mount | grep data, but since I'm using magisk I think the output has many partitions and I can't make sense of it.
I think the ext4 tweaks toggle is working fine since it reverts to off automatically when the app is restarted. Thanks!
Here is the output: https://hastebin.com/iwokiramek.hs
Welcome to the 3t Lord Boeffla.. Enjoyed having your kernels and support on the s5 when I was running that phone.. Look forward to the same here..
Sent from my ONEPLUS A3000 using Tapatalk
Lord Boeffla said:
But, as most of the time, I have a solution for you
Look here: http://boeffla.de/index.php/downloads/downloads-general
Flashable stock kernels for the 3T, which also include the modules.
Guess this is what you need.
Andi
Click to expand...
Click to collapse
nice, been waiting for this since day one. :good:
So it is not oos 4.0.0 compatible
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
inzaghi75 said:
So it is not oos 4.0.0 compatible
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
Click to expand...
Click to collapse
No. OOS 4 has not yet been officially released and no kernel source has been released.
christmas is here since andi is our santa.
welcome to the 3T world.
loyalists like me have been waiting for you perhaps since the device was launched.
glad OnePlus and XDA did such an awesome thing to distribute devices to devs.
been following your work for a while now.
your kernel turned my OpO into a beast.
just flashed onto my 3T.
will report issues as and when(and if) I can find them.
cheers
Glad to see you here Andy!
finally you will develope on 3T:good:
Glad to see you here Andi:victory:
I use your kernel since Galaxy S3, also flashed it on my opo and my wife's opt.
:good: Now the kernel it's running very well on my new op3t.