[ROM] [AOSP 6.0.0] Marshmallicious | volantis/Nexus 9 | WiFi | MRA58N | 2015/11/07

Search This thread

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,798
Tustin
Goodbye Lollipopalooza... Hello Marshmallicious!!

S1uuOnv.jpg


This started out as a personal project... a way for me to learn how to develop and custom features for Android. And I decided to share my work with the amazing Android community... something to give back to the community. Back then, this was a ROM called ThunderKat, based on Android 4.4 KitKat. Over time, it evolved into Lollipopalooza, based on Android 5.0. And now, here's Marshmallicious, based on Android 6.0.

Now, before you go on ahead, let me be clear about one thing. This is and will remain a minimal AOSP based ROM. It will include a small, but useful set of features... features which add a bit more flare to Android AOSP. Beyond this minimal feature set, this will also include some relevant spit and polish (bug fixes and asset/image updates). As time progressed, so did the quality of the work behind the features this ROM offers. Whenever I look back at a feature I developed before, I look for ways to improved. If you expect a lot of additional features, I recommend using one of the more popular ROMs available like CyanogenMod, SlimRoms, ParanoidAndroid, etc.

I develop and maintain this ROM on my own for the most case, occasionally seeking help and porting useful features and fixes that others here in the community have developed. You will see all the relevant references in the cherry-picked commit in my GitHub repositories.

Due to my limited availability, I will now no longer support Lollipopalooza builds

Now that I'm done with the fancy introduction, let's get down to business...

Changelog:
2015/11/07
1. Fixed force close when choosing keyboards in Language & input settings
2. Enabled doze/ambient mode auto power saving modes (More details)
3. Removed SVELTE (Nexus 9 LTE) init configs from Nexus 9 Wifi init configs
4. Disabled bug report service (which is triggered by holding down volume down, volume up and power)
5. Updated SELinux policies for experimental systemless root using open source Superuser (instruction below)
6. Fixed experimental systemless root for devices with encrypted userdata

2015/11/04
1. Android Marshmallow 6.0.0_r2 (MRA58N) base [Includes November 2015 security patches by Google]
2. Movable on-screen navigation bar buttons (centre, left or right) [Settings > Device > Display]
3. Cursor control within text boxes using the volume rocker [Settings > Personal > Language & input]
4. Long-press of back button to kill foreground app [Settings > Personal > Language & input]
5. Native Android Marshmallow recents dismiss/clear all
6. User-defined custom device hostname [Settings > Wireless & networks > More]
7. Displays apps installing and optimising storage progress on first boot
8. Uses Google pre-built WebView if it is installed. Falls back to AOSP WebView
9. SystemUI Tuner enabled by default
10. Dessert Cake dream enabled and set as default doze dream
11. Enhanced Location QuickSettings tile (toggles between the different location mode [Off > Sensors Only > Battery Saving > High Accuracy])
12. Long-press action for all QuickSettings tiles (opens relevant Settings section)
13. Enhanced power menu [Power Off, Reboot, Aeroplane Mode, Users & Sound Toggle]
14. Advanced reboot [Reboot, Reboot to recovery, Reboot to bootloader] (only available for primary user when device is unlocked)
15. Default required permissions set for Google applications to allow GoogleApps packs
16. F2FS support for the cache partition in addition to the userdata partition.
17. Additional filesystems supported (with vold auto-mount capabilities not available yet) [exFAT and NTFS (NTFS-3G)]
18. Forced encryption of userdata partition is disabled
19. DM-Verity (key-based partition verification) is disabled system-wide
20. Full-screen on-screen keyboard in landscape mode is disabled
21. Sysinit supported (init.d scripts)
22. @Captain_Throwback's BeyondStock kernel 2.0.0 included [support NTFS, exFAT and fast-charge]
23. Several assets and images updated to Material-styled versions
24. Ambient (Doze) mode enabled along with burn-in protection
25. A lot of unneeded debug logging disabled
26. Default wallpaper replaced with Marshmallow stock default wallpaper and Marshmallow stock bootanimation added
27. Includes bionic busybox (credit CyanogenMod)
28. Increased number of status bar notification icons from 5 to 8
29. Miscellaneous bug-fixes and tweaks included (for more details, check the GitHub commits)
30. Full GoogleApps pack (with ARM64 320DPI apps where applicable) with the latest updates

Instructions:
1. Download the Marshmallicious ROM package and the Prerequisites package
2. [OPTIONAL] Download the GoogleApps package
3. Reboot into recovery [A custom recovery like TWRP is required]
4. Wipe as required
a. Full wipe when coming from another ROM
b. Wipe cache and dalvik-cache when flashing a Marshmallicious update​
5. Flash the packages in the following order
a. Prerequisites package
b. Marshmallicious ROM package
c. [OPIONAL] GoogleApps package​
6. Reboot and let the device boot up and remember that the first boot will take a while since this is a de-odex ROM

Root:
I do not support SuperSU because it is closed-source and, hence, cannot be audited. Anything granting low-level privileges to apps and process need to be open-source and auditable. But I will not blankly turn down support requests involving SuperSU if you have chosen to root your ROM using SuperSU.

That said, I am closely following the development of systemless open-source Superuser by @phhusson as well as the SELinux policy changes by @doitright. This is still experimental and may not support all root apps yet.
Because this is currently experimental, this ROM is not pre-rooted. But I have provided a separate ExperimentalRoot package. This package contains a modified boot image with the su binary, init changes and SELinux policy changes and has been built from source. The su binary was built with the latest changes in @phhusson's Superuser GitHub repository. The init and SELinux policy changes are a slightly varied version of the patch created by @doitright. Also included in the zip is the Superuser apk built with the latest changes in @phhusson's Superuser GitHub repository.

I have branches in my GitHub repository which have the SELinux policy and init changes required for systemless Superuser which include all doitright's changes as well as my modifications.
platform_external_sepolicy
platform_system_core

Instructions:
1. Download the ExperimentalRoot package provided above (make sure it matches the ROM release date)
2. Flash the boot image included in the ExperimentalRoot package using fastboot [fastboot flash boot boot.img]
3. Install the Superuser apk included in the ExperimentalRoot package as a regular app

Downloads:
AndroidFileHost
Marshmallicious-Nexus9-Wifi-20151107.zip [Marshmallicious ROM]
GoogleAppsPack-6.x-ARM64-320DPI-20151107.zip [Full Google Apps Pack]
Prerequisites-Marshmallicious-Nexus9-Wifi-MRA58N.zip [Prerequisites (bootloader and vendor images)]
ExperimentalRoot-Marshmallicious-Nexus9-Wifi-20151107.zip [Experimental systemless open-source Superuser]

BasketBuild
Marshmallicious-Nexus9-Wifi-20151107.zip [Marshmallicious ROM]
GoogleAppsPack-6.x-ARM64-320DPI-20151107.zip [Full Google Apps Pack]
Prerequisites-Marshmallicious-Nexus9-Wifi-MRA58N.zip [Prerequisites (bootloader and vendor images)]
ExperimentalRoot-Marshmallicious-Nexus9-Wifi-20151107.zip [Experimental systemless open-source Superuser]

Theming:
This ROM support RRO/Layers themes. But please be aware that not all RRO/Layers themes support Android Marshmallow yet. If you encounter force closes after installing a theme, reboot into recovery mode and delete /vendor/overlay.

Layers/RRO Themes Info:
1. Join the BitSyko Google+ Community for the latest information and themes
2. Download the Layers Manager app to install/uninstall/preview RRO/Layers themes
3. Download the Layers Showcase app to browse available RRO/Layers themes
4. Visit this XDA thread for a comprehensive list of RRO/Layers themes

Help and troubleshooting:
1. Ask for help if you need, but make sure you do your research first.
2. Be patient. It could take a few minutes to flash the ROM.
3. If you flashed a kernel which replaced the SELinux policy file, you may encounter errors and issues. To recover, you will need to reflash the ROM boot image.
4. If you get "failed to mount /dev/block/platform/sdhci-tegra.3/by-name/APP", unmount the system partition and try again
5. If you flashed a kernel with SELinux disabled like the one provided by @USBhost on a previous build, make sure you flash that kernel after flashing the update (before you reboot), or you will get a bootloop and will have to perform a recursive restorecon on the /data partition to restore the SELinux contexts.
6. If you have a folder created in TWRP recovery mode which you cannot access when you boot up the ROM, you will need to perform a recursive restorecon on that folder restore the SELinux contexts.
7. Be ready to provide a clear description of your issues and please provide logcats, dmesg logs and kmesg logs whenever possible.

Sources:
Marshmallicious Manifest
All repositories

Disclaimer
Marshmallows are always delicious... but be careful!!! Make sure you know your limits!!! If you don't know what you are doing, the marshmallows provided here could be life-threatening and render your device inedible. Every marshmallow here has undergone extensive scrutiny, but there is always a chance that something slipped through the cracks since baking is more an art than a science. So if you use the marshmallows here, don't hold the chef responsible for baking these goodies (me!)

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

Credits:
Google, NVidia, ARM, Chainfire, 0xD34D, CyanogenMod team, PureAOSP team, Chroma team, BitSyko team, AndroidFileHost, BasketBuild, phhusson, doitright, XDA (any probably some more I can't remember)
 
Last edited:

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,798
Tustin
hows its going
found it?

Found it. It's actually a kernel change... well, a change in the fstab. Changing the forceencrypt mount flag to encryptable makes it encryptable, but with encryption disabled by default.

Change these line in the kernel initrd fstab.flounder & fstab.flounder64
Code:
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               f2fs       noatime,nosuid,nodev,errors=recover                                   wait,check,forceencrypt=/dev/block/platform/sdhci-tegra.3/by-name/MD1
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait,check,forceencrypt=/dev/block/platform/sdhci-tegra.3/by-name/MD1
to
Code:
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               f2fs       noatime,nosuid,nodev,errors=recover                                   wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1

or fstab.flounder in the flounder device tree.
 

USBhost

Recognized Contributor
Oct 23, 2013
5,988
6,947
u:r:usbhost:s0
Found it. It's actually a kernel change... well, a change in the fstab. Changing the forceencrypt mount flag to encryptable makes it encryptable, but with encryption disabled by default.

Change these line in the kernel initrd fstab.flounder & fstab.flounder64
Code:
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               f2fs       noatime,nosuid,nodev,errors=recover                                   wait,check,forceencrypt=/dev/block/platform/sdhci-tegra.3/by-name/MD1
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait,check,forceencrypt=/dev/block/platform/sdhci-tegra.3/by-name/MD1
to
Code:
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               f2fs       noatime,nosuid,nodev,errors=recover                                   wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic    wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1

or fstab.flounder in the flounder device tree.
So i change it
Then do a factory reset
And i should be good?
 
  • Like
Reactions: spazattac

USBhost

Recognized Contributor
Oct 23, 2013
5,988
6,947
u:r:usbhost:s0
like this right??

Code:
# Android fstab file.
#<src>                                                  <mnt_point>         <type>    <mnt_flags and options>                       <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/platform/sdhci-tegra.3/by-name/APP   /system             ext4      ro                                                    wait
/dev/block/platform/sdhci-tegra.3/by-name/VNR   /vendor             ext4      ro                                                    wait
/dev/block/platform/sdhci-tegra.3/by-name/CAC   /cache              ext4      noatime,nomblk_io_submit,errors=panic                 wait,check
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               f2fs      noatime,errors=recover                    wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               ext4      noatime,nomblk_io_submit,errors=panic    wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1
/dev/block/platform/sdhci-tegra.3/by-name/LNX   /boot               emmc      defaults                                              defaults
/dev/block/platform/sdhci-tegra.3/by-name/SOS   /recovery           emmc      defaults                                              defaults
/dev/block/platform/sdhci-tegra.3/by-name/MSC   /misc               emmc      defaults                                              defaults
/dev/block/platform/sdhci-tegra.3/by-name/EBT   /bootloader         emmc      defaults                                              defaults
/dev/block/platform/sdhci-tegra.3/by-name/PST   /persistent         emmc      defaults                                              defaults
/dev/block/zram0                                none                swap      defaults                                              zramsize=533413200
 

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,798
Tustin
So i change it
Then do a factory reset
And i should be good?

Yes...

like this right??

Code:
# Android fstab file.
#<src>                                                  <mnt_point>         <type>    <mnt_flags and options>                       <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/platform/sdhci-tegra.3/by-name/APP   /system             ext4      ro                                                    wait
/dev/block/platform/sdhci-tegra.3/by-name/VNR   /vendor             ext4      ro                                                    wait
/dev/block/platform/sdhci-tegra.3/by-name/CAC   /cache              ext4      noatime,nomblk_io_submit,errors=panic                 wait,check
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               f2fs      noatime,errors=recover                    wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1
/dev/block/platform/sdhci-tegra.3/by-name/UDA   /data               ext4      noatime,nomblk_io_submit,errors=panic    wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1
/dev/block/platform/sdhci-tegra.3/by-name/LNX   /boot               emmc      defaults                                              defaults
/dev/block/platform/sdhci-tegra.3/by-name/SOS   /recovery           emmc      defaults                                              defaults
/dev/block/platform/sdhci-tegra.3/by-name/MSC   /misc               emmc      defaults                                              defaults
/dev/block/platform/sdhci-tegra.3/by-name/EBT   /bootloader         emmc      defaults                                              defaults
/dev/block/platform/sdhci-tegra.3/by-name/PST   /persistent         emmc      defaults                                              defaults
/dev/block/zram0                                none                swap      defaults                                              zramsize=533413200

Correct! There are 2 fstab file (The 64 bit build has 2), edit both...
 
Last edited:

USBhost

Recognized Contributor
Oct 23, 2013
5,988
6,947
u:r:usbhost:s0
Yes...



Correct! There are 2 fstab file (The 64 bit build has 2), edit both...

ok awesome doing a factory reset now


Edit: can you add long back to kill app

---------- Post added at 07:34 PM ---------- Previous post was at 07:13 PM ----------

it booted
and it worked cheers tytyty

---------- Post added at 07:45 PM ---------- Previous post was at 07:34 PM ----------

it feels so much faster now
 

Attachments

  • Screenshot_2014-11-09-20-37-39.png
    Screenshot_2014-11-09-20-37-39.png
    246.4 KB · Views: 2,477
Last edited:

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,798
Tustin
Just curious about what people are willing to try when it come to custom ROMs... The Nexus 9 is a 64-bit capable device and AOSP allows for 3 variations in the build
1. 64-bit with 32-bit support (like the stock ROM and this ROM here)
2. Pure 64-bit (no apps with libraries not in 64-bit format would work)
3. 32-bit only (Well, like Android for pretty much every device, though I think Bluetooth doesn't work in that case)
 

USBhost

Recognized Contributor
Oct 23, 2013
5,988
6,947
u:r:usbhost:s0
Just curious about what people are willing to try when it come to custom ROMs... The Nexus 9 is a 64-bit capable device and AOSP allows for 3 variations in the build
1. 64-bit with 32-bit support (like the stock ROM and this ROM here)
2. Pure 64-bit (no apps with libraries not in 64-bit format would work)
3. 32-bit only (Well, like Android for pretty much every device, though I think Bluetooth doesn't work in that case)

1

Then in about 6-9 months 2
 

Top Liked Posts

  • There are no posts matching your filters.
  • 86
    Goodbye Lollipopalooza... Hello Marshmallicious!!

    S1uuOnv.jpg


    This started out as a personal project... a way for me to learn how to develop and custom features for Android. And I decided to share my work with the amazing Android community... something to give back to the community. Back then, this was a ROM called ThunderKat, based on Android 4.4 KitKat. Over time, it evolved into Lollipopalooza, based on Android 5.0. And now, here's Marshmallicious, based on Android 6.0.

    Now, before you go on ahead, let me be clear about one thing. This is and will remain a minimal AOSP based ROM. It will include a small, but useful set of features... features which add a bit more flare to Android AOSP. Beyond this minimal feature set, this will also include some relevant spit and polish (bug fixes and asset/image updates). As time progressed, so did the quality of the work behind the features this ROM offers. Whenever I look back at a feature I developed before, I look for ways to improved. If you expect a lot of additional features, I recommend using one of the more popular ROMs available like CyanogenMod, SlimRoms, ParanoidAndroid, etc.

    I develop and maintain this ROM on my own for the most case, occasionally seeking help and porting useful features and fixes that others here in the community have developed. You will see all the relevant references in the cherry-picked commit in my GitHub repositories.

    Due to my limited availability, I will now no longer support Lollipopalooza builds

    Now that I'm done with the fancy introduction, let's get down to business...

    Changelog:
    2015/11/07
    1. Fixed force close when choosing keyboards in Language & input settings
    2. Enabled doze/ambient mode auto power saving modes (More details)
    3. Removed SVELTE (Nexus 9 LTE) init configs from Nexus 9 Wifi init configs
    4. Disabled bug report service (which is triggered by holding down volume down, volume up and power)
    5. Updated SELinux policies for experimental systemless root using open source Superuser (instruction below)
    6. Fixed experimental systemless root for devices with encrypted userdata

    2015/11/04
    1. Android Marshmallow 6.0.0_r2 (MRA58N) base [Includes November 2015 security patches by Google]
    2. Movable on-screen navigation bar buttons (centre, left or right) [Settings > Device > Display]
    3. Cursor control within text boxes using the volume rocker [Settings > Personal > Language & input]
    4. Long-press of back button to kill foreground app [Settings > Personal > Language & input]
    5. Native Android Marshmallow recents dismiss/clear all
    6. User-defined custom device hostname [Settings > Wireless & networks > More]
    7. Displays apps installing and optimising storage progress on first boot
    8. Uses Google pre-built WebView if it is installed. Falls back to AOSP WebView
    9. SystemUI Tuner enabled by default
    10. Dessert Cake dream enabled and set as default doze dream
    11. Enhanced Location QuickSettings tile (toggles between the different location mode [Off > Sensors Only > Battery Saving > High Accuracy])
    12. Long-press action for all QuickSettings tiles (opens relevant Settings section)
    13. Enhanced power menu [Power Off, Reboot, Aeroplane Mode, Users & Sound Toggle]
    14. Advanced reboot [Reboot, Reboot to recovery, Reboot to bootloader] (only available for primary user when device is unlocked)
    15. Default required permissions set for Google applications to allow GoogleApps packs
    16. F2FS support for the cache partition in addition to the userdata partition.
    17. Additional filesystems supported (with vold auto-mount capabilities not available yet) [exFAT and NTFS (NTFS-3G)]
    18. Forced encryption of userdata partition is disabled
    19. DM-Verity (key-based partition verification) is disabled system-wide
    20. Full-screen on-screen keyboard in landscape mode is disabled
    21. Sysinit supported (init.d scripts)
    22. @Captain_Throwback's BeyondStock kernel 2.0.0 included [support NTFS, exFAT and fast-charge]
    23. Several assets and images updated to Material-styled versions
    24. Ambient (Doze) mode enabled along with burn-in protection
    25. A lot of unneeded debug logging disabled
    26. Default wallpaper replaced with Marshmallow stock default wallpaper and Marshmallow stock bootanimation added
    27. Includes bionic busybox (credit CyanogenMod)
    28. Increased number of status bar notification icons from 5 to 8
    29. Miscellaneous bug-fixes and tweaks included (for more details, check the GitHub commits)
    30. Full GoogleApps pack (with ARM64 320DPI apps where applicable) with the latest updates

    Instructions:
    1. Download the Marshmallicious ROM package and the Prerequisites package
    2. [OPTIONAL] Download the GoogleApps package
    3. Reboot into recovery [A custom recovery like TWRP is required]
    4. Wipe as required
    a. Full wipe when coming from another ROM
    b. Wipe cache and dalvik-cache when flashing a Marshmallicious update​
    5. Flash the packages in the following order
    a. Prerequisites package
    b. Marshmallicious ROM package
    c. [OPIONAL] GoogleApps package​
    6. Reboot and let the device boot up and remember that the first boot will take a while since this is a de-odex ROM

    Root:
    I do not support SuperSU because it is closed-source and, hence, cannot be audited. Anything granting low-level privileges to apps and process need to be open-source and auditable. But I will not blankly turn down support requests involving SuperSU if you have chosen to root your ROM using SuperSU.

    That said, I am closely following the development of systemless open-source Superuser by @phhusson as well as the SELinux policy changes by @doitright. This is still experimental and may not support all root apps yet.
    Because this is currently experimental, this ROM is not pre-rooted. But I have provided a separate ExperimentalRoot package. This package contains a modified boot image with the su binary, init changes and SELinux policy changes and has been built from source. The su binary was built with the latest changes in @phhusson's Superuser GitHub repository. The init and SELinux policy changes are a slightly varied version of the patch created by @doitright. Also included in the zip is the Superuser apk built with the latest changes in @phhusson's Superuser GitHub repository.

    I have branches in my GitHub repository which have the SELinux policy and init changes required for systemless Superuser which include all doitright's changes as well as my modifications.
    platform_external_sepolicy
    platform_system_core

    Instructions:
    1. Download the ExperimentalRoot package provided above (make sure it matches the ROM release date)
    2. Flash the boot image included in the ExperimentalRoot package using fastboot [fastboot flash boot boot.img]
    3. Install the Superuser apk included in the ExperimentalRoot package as a regular app

    Downloads:
    AndroidFileHost
    Marshmallicious-Nexus9-Wifi-20151107.zip [Marshmallicious ROM]
    GoogleAppsPack-6.x-ARM64-320DPI-20151107.zip [Full Google Apps Pack]
    Prerequisites-Marshmallicious-Nexus9-Wifi-MRA58N.zip [Prerequisites (bootloader and vendor images)]
    ExperimentalRoot-Marshmallicious-Nexus9-Wifi-20151107.zip [Experimental systemless open-source Superuser]

    BasketBuild
    Marshmallicious-Nexus9-Wifi-20151107.zip [Marshmallicious ROM]
    GoogleAppsPack-6.x-ARM64-320DPI-20151107.zip [Full Google Apps Pack]
    Prerequisites-Marshmallicious-Nexus9-Wifi-MRA58N.zip [Prerequisites (bootloader and vendor images)]
    ExperimentalRoot-Marshmallicious-Nexus9-Wifi-20151107.zip [Experimental systemless open-source Superuser]

    Theming:
    This ROM support RRO/Layers themes. But please be aware that not all RRO/Layers themes support Android Marshmallow yet. If you encounter force closes after installing a theme, reboot into recovery mode and delete /vendor/overlay.

    Layers/RRO Themes Info:
    1. Join the BitSyko Google+ Community for the latest information and themes
    2. Download the Layers Manager app to install/uninstall/preview RRO/Layers themes
    3. Download the Layers Showcase app to browse available RRO/Layers themes
    4. Visit this XDA thread for a comprehensive list of RRO/Layers themes

    Help and troubleshooting:
    1. Ask for help if you need, but make sure you do your research first.
    2. Be patient. It could take a few minutes to flash the ROM.
    3. If you flashed a kernel which replaced the SELinux policy file, you may encounter errors and issues. To recover, you will need to reflash the ROM boot image.
    4. If you get "failed to mount /dev/block/platform/sdhci-tegra.3/by-name/APP", unmount the system partition and try again
    5. If you flashed a kernel with SELinux disabled like the one provided by @USBhost on a previous build, make sure you flash that kernel after flashing the update (before you reboot), or you will get a bootloop and will have to perform a recursive restorecon on the /data partition to restore the SELinux contexts.
    6. If you have a folder created in TWRP recovery mode which you cannot access when you boot up the ROM, you will need to perform a recursive restorecon on that folder restore the SELinux contexts.
    7. Be ready to provide a clear description of your issues and please provide logcats, dmesg logs and kmesg logs whenever possible.

    Sources:
    Marshmallicious Manifest
    All repositories

    Disclaimer
    Marshmallows are always delicious... but be careful!!! Make sure you know your limits!!! If you don't know what you are doing, the marshmallows provided here could be life-threatening and render your device inedible. Every marshmallow here has undergone extensive scrutiny, but there is always a chance that something slipped through the cracks since baking is more an art than a science. So if you use the marshmallows here, don't hold the chef responsible for baking these goodies (me!)

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

    Credits:
    Google, NVidia, ARM, Chainfire, 0xD34D, CyanogenMod team, PureAOSP team, Chroma team, BitSyko team, AndroidFileHost, BasketBuild, phhusson, doitright, XDA (any probably some more I can't remember)
    29
    I know it's been a while, but I haven't been able to spend time on this for a long time because of lack of hardware. I use my work computer (which is my only computer) for this, and because of parallel projects, I did not have enough of free disk space.

    Anyhow... 5.1 build is quite nearly ready. I just need to make a few changes to make all my additions over AOSP work with 5.1. But most features work...
    20
    Android 5.1.1 update in OP... along with Layers 2.1 support!
    19
    Last week of my vacation... I'll start working on updating this next week....
    18
    New release in OP... Android 5.1_r5, RRO/Layers support and more... details in OP!
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