Android OS Forum banner
1 - 20 of 43 Posts

Android & Linux FTW!!
294 Posts
Donning a new name in favour of the new delicious version of Android... Welcome to the ThunderKat Project!!


This is my very own personally maintained custom ROM for the Nexus 10 (manta) called ThunderKat. It is an AOSP (Android Open Source Project) 4.4 ROM with a simple aim... add a few useful features to AOSP without deviating too much.

This new Android 4.4 based release is a complete re-work... I manually re-merged and re-developed each additional functionality added to this ROM. Each new release will feature a few new features or updates & bug fixes to existing features. Keeping each release small will allow me to test the ROM thoroughly and increase the frequency of releases.

I don't expect this to compete with the big boys (CyanogenMod, AOKP, Paranoid Android and the like) and this ROM will have a considerably limited feature-set compared to them. If you want a lot of customisations and configurations, they are definitely the way to go.

This ROM is accompanied by the latest & greatest ThunderKat Kernel at the time the ROM was built. For kernel features and additions, view the ThunderKat Kernel thread.

Changelog (notable new features):
1. Merged Android 4.4.4_r2.0.1 (KTU84Q)
2. Heads Up notifications based on the SlimRoms implementations
3. Switched to Superuser from CyanogenMod repositories (which is being updated more frequently than Koush's repositories)
4. Switched to SlimRoms vold (CyanogenMod vold had too many dependencies on CyanogenMods libselinux like cryptfs)
5. Switched to SlimRoms busybox (CyanogenMod busybox had too many dependencies on CyanogenMods libselinux)
6. Used Graphite optimized GCC4.8 toolchains to build the ROM and kernel
7. Added JustArchi's build optimization v3 (
8. Updates to the various apps from OmniRom & CyanogenMod included
9. Fixed OTG USB storage filesystem mounting issues (tested with FAT32 & NTFS)
10. Updated kernel with ROW & SIO I/O schedulers and upstream F2FS changes
11. Fixed DevTools media scanner
12. Updated bionic tzdata to the latest IANA time zone (zoneinfo) database file version 2014f (released 2014/08/05)
13. Miscellaneous bug-fixes and enhancements (see GitHub commits)

1. Resynced all repositories (2014/06/14)
2. Temporarily revert/remove stagefright FFMPEG to fix the YouTube/Netflix video playback issues.

1. Merged Android 4.4.3_r1.1 (KTU84M)
2. Updated CyanogenMod applications
3. Added OmniRom Launcher3 with configurable rows/columns, icon-pack support and custom hotwords recognition
4. Added stagefright FFMPEG decoder to support more media formats (credit Michael Chen, Android X86 project, CyanogenMod & SlimRoms)
5. Added OmniTorch
6. SEPolicy updates for ext4, vold, exFAT & ASEC
7. OpenSSL with latest CVE security patches

a. CVE-2014-0160 - Heartbeat extension bounds check

b. CVE-2014-0224 - SSL/TLS MITM (CCS) vulnerability fix
c. CVE-2014-0221 - DTLS hello request without recursion

d. CVE-2014-0195 - Consistency check for DTLS fragments

8. Updated ThunderKat kernel 2014/06/05 which includes 4.4.3 AOSP kernel updates and F2FS support
9. Added "Powered by Android" Google Nexus bootanimation (credit Kiernan Moore & sgosiaco)
10. Updated to the latest IANA time zone (zoneinfo) database file version 2014d (released 2014/05/27)

1. Re-synced repositories (2014/01/10 - 04:30PM PST)
2. Fixed ART runtime on GCC-4.8 builds (credit SlimRoms)
3. Fixed Google Play backup-restore on Android 4.4+
4. Updated Quick Settings location tile drawables to reflect the current location mode (credit SlimRoms for drawables)
5. Enabled DessertCake dream
6. Fixed wallpaper reset when restarting SystemUI
7. Improved AppOps layout (credit CyanogenMod)
8. Removed option to move navigation bar buttons for phones
9. Added back option to switch to ART runtime in Settings > Developer options
10. Added detailed warning message when switching to ART runtime
11. Allow user to trigger volume media rescan (only for internal emulated volumes, primary volumes & non-removable volumes) from Settings > Storage (credit SlimRoms)
12. Updated to libflac from AOSP master to fix pop & crackle when playing FLAC audio files
13. Use fixed bootanimation from @dankoman which does the full 360-degree rotation properly

1. Bugfix: Properly update the state of the Expanded Desktop, Sync & Ringer Mode Quick Settings tiles when changes are triggered elsewhere

1. Re-synced repositories (2013/12/26 - 06:40PM PST)
2. Added Expanded Desktop Quick Settings tile. Press to toggle. Long-press for Display Settings
3. Added Sync Quick Settings tile. Press to toggle. Long-press for Sync Settings
4. Added Ringer Mode Quick Settings tile. Press to toggle between Normal, Vibrate & Silent ringer modes. Long-press for Sound Settings
5. Added back button long-press foreground app kill (configure via Settings > Developer options)
6. Added ability to set a user-defined hostname (configure via Settings > Developer options)
7. Added screen-off volume rocker wake (configure via Settings > Display)
8. Added screen-off volume rocker long-press music controls (configure via Settings > Sound)
9. Added safe headset volume toggle (configure via Settings > Sound)
10. Added lockscreen quick unlock for pin and password security options (configure via Settings > Security)
11. Updated Settings application Android drawables to match the new KitKat style guidelines (credit SlimRoms)
12. Miscellaneous bug-fixes and enhancements

1. Re-based to AOSP Android 4.4.2_r1 (KOT49H)
2. Miscellaneous code cleanup
3. Various fixes for the Exchange security policy bypass
4. Updated ThunderKat kernel which includes 4.4.1/4.4.2 AOSP kernel updates
5. Add support for exec command with support for properties expansion in init scripts

1. Re-synced repositories (2013/11/01 - 03:00AM PST)
2. Added QuietHours (configure via Settings > Sounds)
3. Categorised Settings > Display screen
4. Added option to enabled battery percent meter in Settings > Display
5. Added potential external storage access permissions
6. Fixed Settings application locale issues
7. Enabled root access by default
8. Disabled ability to change to ART runtime via Developer Settings temporarily
9. Added system-wide expanded desktop using the new immersive mode feature (credit SlimRoms & CyanogenMod)
10. Changed Settings > Apps to go to Application Settings instead of directly going to Manage Applications
11. Enabled App Ops (configure via Settings > Apps)
12. Enabled keyboard Quick Launch configurations (configure via Settings > Apps)
13. Disabled lock/unlock sounds during music playback
14. Added miscellaneous bug fixes including updated Superuser & CyanogenMod applications

1. Based on AOSP Android 4.4_r1.2 (KRT16S) source
2. Built using Google GCC 4.8 toolchain
3. Added LockClock (cLock), CMFileManager & Calculator from CyanogenMod
4. Replaced AOSP bionic with bionic from CyanogenMod
5. Added busybox, fuse, ntfs-3g, e2fsprogs & vold from CyanogenMod
6. Added embedded Superuser from Koush
7. Added USB OTG read/write support with dismissable notifications for non-primary volumes
8. Added fixes for GCC 4.8+ toolchains
9. Added various build build optimisation including Cortex-A15 optimisations & O3
10. Enabled secure boot and secure adb
11. Enabled Google Location Services
12. Added miscellaneous build tweaks, additions & removals
13. Added Navigation bar positioning (default/centre, left or right) via Settings -> Display
14. Added Recent Apps clear all functionality with long-press action to drop VM caches
15. Inverted press/long-press actions of Wifi, Bluetooth & Location tiles
16. Modified Location tile to switch between the different location modes (Off/Sensors Only/Battery Saving/High Accuracy) on press
17. Updated several Android drawables to match the new KitKat style guidelines (credit SlimRoms)
18. Updated bluetooth AVRCP to use ARTIST metadata, and use ALBUMARTIST metadata only if ARTIST is not present
19. Updated the Bluetooth application to remove file format transfer restriction, and to use the Download directory to save received files
20. Enabled SELinux status information under Settings -> About
21. Enabled translucent window decoration (status bar & navigation bar)
22. Updated device overlays
23. Disabled headset safe volume restriction
24. Added init.d support
25. Added advanced power menu (when screen is unlocked)
26. Included new Launcher3
27. Included the latest proprietary files, binaries and drivers provided by Google
28. Added the official Nexus 10 KitKat bootanimation
29. Included 48KHz ringtones, notifications, ui sounds and alarms
30. Added ThunderKat kernel dated 2013/11/21

ThunderKat_manta-KTU84Q-20140824 (AndroidFileHost)
ThunderKat_manta-KTU84Q-20140824 (

Archive [4.4.x] - (AndroidFileHost)
Archive [4.4.x] - (
Archive [4.3.x] - Unsupported
Archive [4.2.x] - Unsupported

Google Apps Pack:
1. Built from de-odexed 4.4.4 KTU84Q Nexus factory image
2. Latest Play Store apps as of 2014/08/23

GoogleAppsPack-4.4.4-20140823 (AndroidFileHost)
GoogleAppsPack-4.4.4-20140823 (


Tips & Tricks
Launcher replacements enhance your customisation capabilities. I recommend one of these amazing launcher replacement:
1. Action Launcher Pro by Chris Lacy
2. Apex Launcher by Android Does
3. Nova Launcher by TeslaCoil Software

Adware is often intrusive. If you wish to block adware and advertisements, I recommend AdAway by Dominik Schürmann.

Need to know what app or service is eating your battery? Try BetterBatteryStats by Sven Knispel

Freshen up your device with a variety of fonts using Fontster

You can get some more modifications and tweaks using the Xposed Framework and modules

1. Unlocked bootloader
2. Custom recovery like TWRP or CWM

1. Wipe data/factory reset if you are moving from any ROM other than a previous version of ThunderKat
2. Wipe cache/dalvik cache for every update
3. Flash the ROM using a custom recovery
4. [Optional] Flash Google Apps Pack using a custom recovery. You can choose to install any other Android 4.4 compliant Google Apps Pack

I can make no guarantees that your experience with this ROM will be flawless. If you decide to flash this ROM, remember that you are doing so at your own discretion. I cannot and will not be held responsible if your jelly beans become rotten and your tablet decides implode. I will try to help you to the best of my ability, but beyond that, you stand alone behind enemy lines!! Have fun!!

ART Runtime Disclaimer:
ART is an the new Android Runtime which is being developed as a replacement to Dalvik. ART was introduced with Android 4.4 and is still an experimental feature. To switch to ART, go to Settings > Developer options > Select runtime and choose Use ART. Unlike Dalvik which is a JIT (just-in-time) compiler, ART is an AOT (ahead-of-time) compiler. Being an AOT compiler, ART will improve overall performance, but will increase the amount of space used by apps. Being an extremely experimental feature still in the early stages of development, ART can cause various issues like force closes, random restarts, boot loops or the like. While I have done some level to testing, I cannot guarantee that using ART will be a flawless experience for you. And be warned, I will not support any issues caused because of ART. I do not recommend using ART if stability and overall operational consistency is a requirement for you, or if you do not have experience with adb. If you wish to use ART, remember that you will not receive support from me. If you have any issues, please switch back to Dalvik and see if you still have the issue before reporting it.

Superuser vs. SuperSU
I have no personal issues with ChainsDD, and I appreciate and respect his contributions to Android. But I will never include SuperSU with any of my ROMs for one simple reason. SuperSU is closed-source. Superuser access allows unrestricted root level access to Android and I am not comfortable, nor do I ethically agree with using a closed-source software for this purpose. If I cannot see all the code which allows elevating access rights, I will not include that software. If you personally choose to use SuperSU or any other closed-source software of this nature, I will not support issues arising from the use of such software.

Having Issues?
If you are having issues, I will try my best to help you. But you need to provide me with some information so that I can narrow down the possible cause of the issue. What would be useful is logcats, dmesg logs & last_kmsg logs. Here's a nice wiki about how to get logs

Support this project:
If you like my work, buy me a beer so that I can pass time while my laptop churns out builds...
Google Wallet (Send Money to craigacgomez[at]gmail[dot]com)

Google, Samsung, ARM,, CyanogenMod, TeamWin, Koush, SlimRoms, OmniRom, AndroidFileHost

Android & Linux FTW!!
294 Posts
Discussion Starter · #3 ·
How did you unlock the bl and flash recovery?
Just like all nexus devices....
1. Reboot into bootloader (Power + Vol Up + Vol Down)
2. fastboot oem unlock
3. fastboot flash recovery custom_recovery.img
4. Profit!

Android & Linux FTW!!
294 Posts
Updated ROM available in OP...

New in Nov 18 2012 Build:
1. Custom kernel (see "Kernel Features" in OP)
2. UNC patched busybox for CIFS. CIFS is now fully functional with the custom kernel
3. Power Menu controlled Extended desktop (credit CyanogenMod). Enable via Settings > Display.
4. WebView dream/screensaver

Also included stock kernel update zip for anyone who wants it.

Android & Linux FTW!!
294 Posts
New release in OP... all the existing feature plus:

1. Excluded OpenWnn (Japanese keyboard), PinyinIME (Chinese keyboard), AOSP Music & AOSP QuickSearchBox from build
2. Rebuilt busybox with CyanogenMod config
3. Made busybox "mount" the default mount symlink for CIFS support (Removed toolbox "mount" symlink)
4. Only included stock ROM audio files
5. Fix Android 4.2 bug where December is missing from the Contacts Events date picker
6. Quick Setting mod (thanks to @kevdliu for the base code) [Source]
- Press to directly toggle WiFi and long press to access WiFi settings menu
- Press to directly toggle BT and long press to access BT settings menu
- Add Volume Tile (Press to display Media Volume slider and long press to access Volume settings menu)
- Add Screen Off Tile
- Add Clock (Press to access Clock settings menu) - added by me

Also updated the Google Apps Pack
- Fixed Setup wizard restore from Google account
- Google Current Deams

Android & Linux FTW!!
294 Posts
Discussion Starter · #7 ·
Updated OP with new kernel and Google Apps Pack V2

New in Nov 20 2012 Kernel:
1. Fixed USB MTP detection
2. Enable adb by default

New in Nov 20 2012 Google Apps Pack V2:
1. Fixed Google Chrome settings FC
2. Fixed Restore from Google Account (worked for me!!)
3. Updated Play Store to 3.10.9

Android & Linux FTW!!
294 Posts
Updated ROM in OP

New in Nov 20 2012 Build:
1. USB OTG support (Screenshot) [Important: Read "USB OTG Information" section in the OP]
2. Added all the stock ROM wallpapers

Swagger > 9000
126 Posts
Updated ROM in OP

New in Nov 20 2012 Build:
1. USB OTG support (Screenshot) [Important: Read "USB OTG Information" section in the OP]
2. Added all the stock ROM wallpapers
Thank you for your work on this. I have yet to do anything besides unlock, root, and flash CWM. I thought I would play first. That said, do you have any plans to add the CM color tuning option? Or, in the very least add to the kernel the ability to modify the settings? (Is that ability even kernel-related?) I think the display is gorgeous in certain areas, but in others the colors seemed washed. I think it may be my personal preference as I like lower gamma and higher contrast from my displays.

Android & Linux FTW!!
294 Posts
Discussion Starter · #11 ·
So with DRM libraries services like Google Play video will work?
Google Play Movies works fine... not too sure about Hulu and other DRM apps though, since I don't use these... but they should work fine!

37 Posts
Colour tuning is a kernel mod... I will try to get this incorporated, but I'm no kernel expert...

Google Play Movies works fine... not too sure about Hulu and other DRM apps though, since I don't use these... but they should work fine!
Great! That was the only ROM feature I was curious about for the N10. On my phone I never used play for any video but realize the ROM I'm running doesn't have the DRM it requires.
Thanks for being one of the first to tackle developing a ROM.

Android & Linux FTW!!
294 Posts
OTG support just got better... new build in OP

New in Nov 21 2012 Build:
1. Full read-write access for FAT USB OTG storage disks
2. Read-only access for NTFS USB OTG storage disks
[Important: Read "USB OTG Information" section in OP]

37 Posts
Can I jut copy the AOSP browser? I assume it scales like any other application for the higher resolution. I'm finding that Chrome causes a reboot daily for me. The stock JB browser is extremely quick an handle flash well.

Android & Linux FTW!!
294 Posts
Discussion Starter · #16 ·
Can I jut copy the AOSP browser? I assume it scales like any other application for the higher resolution. I'm finding that Chrome causes a reboot daily for me. The stock JB browser is extremely quick an handle flash well.
I'm assuming you mean you want to copy it to a stock ROM?? If so, yes, it should work... but make sure you remove BrowserProxyProvider.apk / .odex

Android & Linux FTW!!
294 Posts
can you work your magic for the Nexus 7?
If you are ready to test it (I don't have a Nexus 7)... I could give it a shot soon! Let me know and I'll PM you when I have something...

Android & Linux FTW!!
294 Posts
Updated build available in OP or via GooManager

New in Nov 22 2012 Build:
1. Allow USB/SD removal notification to be dismissed after unplugging USB OTG device
2. Updated to the latest Quick Settings mod by @kevdliu with Quick Settings Control Panel to enable/disable tiles

Android & Linux FTW!!
294 Posts
Discussion Starter · #19 ·
New kernel added to OP...

New in Nov 23 2012 Kernel:
1. Enable OnDemand, Performance & PowerSave CPU frequency governors [Important: Read CPU Governor Info in OP]
2. Add SIO & V(R) I/O schedulers
3. Separate zips for stock ROMs & my AOSP+ ROM
4. Added my kernel source and defconfig to GitHub
1 - 20 of 43 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.