[DEV] [KERNEL] UNOFFICIAL - Jelly Bean optimized Kernel for A100

Search This thread

Phatboyj420

Senior Member
Jun 4, 2010
351
58
Lebanon
@ linuxsociety

Would it be possible to create the Zram-swap on the External_Sd?
If so could you script: Zram - 350MB be altered to do so and How?

I have stumbled across several different ways of creating swap devices on External Sd-Card,
and most work to create the swap-file but fail to actually make use of it.

Thanks in advance
 

Top Liked Posts

  • There are no posts matching your filters.
  • 39
    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!


    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!!

    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:

    1. Set Download path to: /sdcard/goomanager/ in "Settings" (This is important as the location on Android and TWRP need to both be exact same!)
    2. Go back to the main screen in Goo Manager and click Browse Compatible Roms
    3. Choose 'godmachine81'
    4. For kernels choose a100_kernel (you are welcome to look around in my other directories)
    5. Choose the release you wish to download
    6. Choose 'begin download'
    7. You will see a notification for 'Download Finished' - Tap on it
    8. It will prompt you to Select Zip(s) to flash, you may choose more than 1!
    9. 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'
    10. 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)
    11. 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

    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 :D

    9
    Hey guys I just done some code cleanup and a few patches and have a new kernel build that will most likely be version 1.6 if there are no major issues (new ones) you can download it here: gm kernel a100 version 1.6

    Please report any issues you might have that wasn't an issue in 1.5 release before I update the OP, I will hold off on updating the OP for a couple days to give everyone time to test it and report back. Thanks everyone!

    Some changes in 1.6:
    • New Deadline IO Sched fifo/writes ratio 1:1 (VR still default)
    • Increase Max/Min memory read-ahead
    • Cleaned up some dmesg spam
    • Fix the unreported issue of debug_fs (glad I caught it myself heh)
    • Included init script to tweak disk I/O (if you don't like this you can remove /system/etc/init.d/50tweakio)

    Don't expect major performance changes with this release, it's mostly just a few minor patches and corrections to the 1.5 release and the version bumped to stay at the same release as the A200/A500 gm kernels. However you will notice better benchmarking scores due to the Tweaked IO settings, but as far as actual user experience you won't be able to notice it as much unless you do a lot of database reads/writes.

    Thanks again!

    **Edit: My Kernel is now available via goo.im so you can use Goo Manager from the Play Store and download and flash my kernel with ease. Also if you use my TWRP it is supported very well with Goo Manager, just be sure that you set your Goo Manager download path to /data/media/GooManager/ After you do this, when you choose to flash with Goo Manager, it will automatically reboot to recovery, flash your new kernel, then reboot - So no user interaction is required. Also the TWRP Recovery by me is available through Goo Manager in flashable form
    7
    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.
    4
    And remember kiddies, don't piss off the devs!

    Sent from my A100 using xda premium

    Ok, lets not keep the arguments going on here please. Everyone get along and realize that nobody has left and only temporary actions are being placed on how things are hosted and listed by me. I will be continuing to work with the A100 for the community, but I won't make any promises that I can't keep for sure. God-Droid Rom is from now on off-topic in my kernel threads or anywhere else on XDA until further notice. (no rudeness intended) If you'd like to discuss anything related to the GodDroid roms, please do so on the Goo.IM page at: http://goo.im/devs/godmachine81/a100_roms/

    Thanks everyone for such great feedback and please remember that without the community working together we never get anywhere!
    3
    Sorry for disappearing guys :(

    Sorry for making you guys think I have died, Just read the last couple of entries in this thread. I can go ahead and explain why the kernel doesn't work with the 4.3 Roms. WPA_Supplicant isn't compatible with my kernel in the newer roms, you may be able to port the WPA_Supplicant from the roms in which I supported with my kernel UP to the 4.3 / 4.4 Roms and get it working that way. I can't test much myself as I no longer own the device and my development has unfortunately ended on the Iconia Tabs. I am however happy that so many users had great results from my kernel during the lifetime of their tablets and still continue to enjoy the benefits of the kernel I provided them with, actually I am surprised to see that it is still one of the most used kernels for the Iconia Tabs still in existence.

    I will ask any or all users that really appreciate the work I contributed to the device (which consisted of several months worth of work - being up several days/nights testing and developing) to please donate to help with further development on newer devices and quite possibly bringing back development to these devices (If I can get another one).

    If someone was willing to contribute a working Iconia A100/A200/A500 device to me I'd be willing to pick up where I left off and release some newer ROMS and Kernels to support your device. The Iconia Tabs where a great milestone in my development of android roms/kernels, and I really appreciate all the positive support received by the users. Right now I am struggling to get by and working doing hard manual labor, so my time available to do development work is minimal, especially on a device I no longer own. And we all know that doing manual hard labor doesn't bring much money in to support a family with kids, and sure doesn't allow me to spare the money to buy devices.

    Again, If you feel like my work has been of value to you and your Iconia Tab, please help a developer out as I do my work out of the heart and free of charge, but in order to continue and possibly pick back up on development I'll have to have funds to support my time I put into it. Any and All donations are greatly appreciated by my family and I.

    Lance (aka godmachine81)
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone