[Galaxy S6 Android Development] Setialpha:
*** NanoROM 7.0.2 20170302 ****

=== See 2nd Post for ChangeLog ===

=== See 3rd Post for Kernel Settings ===

=== Disclaimer ===

This ROM is made for S6 G920F / G925F only
flash at your own risk, your warranty will be void (knox flag 0x1)
I'm not responsible if your device bricks or whatever.

=== What does TWOSP mean ===

TW = TouchWiz, OSP = Open Source Project. That's just same marketing-bull****-bingo-buzzword because this ROM contains lots of Open Source Software. Nothing serious.

=== Why yet another ROM ===

I'm one of those few users who experienced sudden random reboots after updating stock firmware after rooting their device. So the following huge text may contain a taste of drama.

No custom ROM or even Stock ROM did work for me, because PLOD(tm) (pink led of doom & Knuckles). Only working ROM is CM13, but that's lacking proper in-call mic (sometimes doesn't work) and Camera, so it's sadly a no-op.

So I was trying to figure out what goes wrong and try to build a ROM that does simply work for my device and not result in a myriad of random reboots. So here it is: my second customized stock android ROM (the first one was for some ARNOVA Tablet).

And since the ROM does now already exist, I was like:

so here I am. And maybe it will solve the issue for other users, too.

=== So what does cause those random reboots ===

I don't know exactly. No really, it's difficult to say. Next follows a list of my personal observations on my device. Other devices might behave the same or not (depending on what is wrong with the device).

So this observations might be what will help you to reduce or prevent the random reboots, but they also might not. Enough bla-bla, let's go.

What's not causing it:

xposed

supersu

user apps

Because bare stock ROM installed from KIES will do reboot randomly aswell. It's a mix of kernel (Hacker Kernel gives less than others), build.prop (stock gives less than customized), Google Apps and other bloatware. So picking out a specific issue is difficult.

I also found out that 'userspace' governor and power suspend mode improve stability across different ROMs, so this ROM does set them by default.

Of course devices that have severe hardware damage will still suffer from them, don't expect my ROM to do wonders to broken devices.

=== Why only G920F / G925F ===

Because that's the only model I own, I don't like blind support, but I added G925F kernel upon request.

There are many great multi-device ROMs outwhere to choose from.

=== GApps Vs. microG ===

This ROM allows you to choose between GApps and microG:

1. GApps

Usual Google Apps as you know them, nothing special to do.

2. microG

Open source Google Apps replacement. This ROM requires you to do the following steps prior to be able to use the Play Store:

- go to Settings > microG and activate:
- main screen:
- device check-in (for cloud messaging)
- cloud messaging (for app push messages)
- UnifiedNlp Settings:
- configure location backends:
- choose Mozilla and grant permissions
- configure address lookup backends:
- choose Nominatim
- reboot device
- enter Play Store and login as usual
- et voila: you're now on the most possible Open Source ROM for S6
(if we don't take the non-fully-functional CM13 into account)
- NOTE: if the Play Store does not show your already installed apps, or if it does
not show your purchased apps as purchased, got to Settings > Apps >
System Apps > Play Store and force stop it, then it'll properly work
- NOTE: if you get random reboots with microG: disable account sync

=== Removed Apps ===

all bloatware crap

=== Added Apps & Features ===

lotsa awesome stuff, namely:

> [...] means AROMA chooseable
> {...} means user app

Oandbackup (backup/restore apps and data)

AdAway (block annoying ads)

Amaze Filemanager (beta with full MM support)

{Always On: Ambient Clock (always-on clock, battery, notifications)}

Clock (AOSP/DU)

Calculator (AOSP)

{CyanogenMod Screencast (record your screen)}

Etar (Calendar replacement)

F-Droid (App Store for open source apps)

Face Slim (more privacy when facebooking)

Hacker's Keyboard (full fletched PC keyboard)

K-9 Mail (feature rich mail client)

Lightning (fast and small web browser)

Neo Power Menu (Xposed) (fully customizable power menu, supports

hardware reboot

software reboot

shutdown

reboot to recovery

reboot to bootloader

reboot into safe mode

take screenshot

activate torchlight)

NewPipe (YouTube client with download support)

[OpenCamera (awesome camera app)]

QKSMS (open source version)

Settings Editor Xposed Module (modify SecSettings2)

{Termux (best terminal client outwhere)}

Twidere (ultimate Twitter client)

{VLC (media player)}

{XDA Labs}

Xposed Installer (new, materialized)

[Good Lock UI] or [TouchWiz UI]

modified Good Lock brings the following changes compared to original:

rounded recents (for traditional recents)

rounded notifications

centered clock

WiFi icon on left

Cellular icon on left

removed unlock text

quick pulldown from right side

reduced notification panel paddings

optional: version with zero padding chooseable

carrier label on lockscreen on right

statusbar on home and lock screen have the same height

remove annoying notification if no user routine exists

enable System UI Tuner (Settings > Applications)

hide from Launcher (it's accessible from expanded status bar)

short click on status bar battery icon: screen of

long click on status bar battery icon: show power menu

Cyanogen Mod Music Visualization

other minor adjustments

TouchWiz is the original version, except for enabled System UI Tuner

Hacker Kernel v14

[AOSP] or [Samsung] Dialer & Contacts

[Samsung] or [Hacker] or [AOSP/DU] or [Enhanced AOSP] Keyboard

when choosing one of the AOSP Keyboards the Flat Style Keyboard Xposed module will be installed aswell (powerful theming)

[Samsung] or [Open] Camera

[Samsung] or [AOSP/DU] Gallery

choose [Doze] or [No Doze] Framework

[Play] or [Blank] Store (only microG)

Magisk with Auto Magisk

PHH SuperUser

Busybox

GNU Bash Shell

[Trebuchet Launcher] or [TouchWiz Launcher]

The Legend of Zelda tones (It's dangerous to reboot alone)

999kernel init script: anti-random-reboot kernel settings

remount-rw script: remount / and /system read-write

remount-ro script: remount / and /system read-only

testmenu script: access testmenu (allows changing SMSC)

anti-knox build.prop

installer auto-detects whether device is Flat or Edge and installs correct kernel version accordingly

several changes to Settings Application

embed AdAway in connectiviy group

embed Always On in device group

embed Xposed Installer in system group

embed Auto Magisk in system group

embed PHH SuperUser in system group

embed microG in system group (if choosen)

embed Settings Editor in system group

embed Neo Power Menu in system group

hide all those apps from Launcher

enable developer options by default

remove 'Manual' from system group

several Samsung Bloatware (AROMA chooseable):

Samsung Account

Samsung Apps

Samsung Theme Store

Samsung Backup

Samsung Voice

Samsung Voice Note

Samsung TTS

Samsung Fonts

Samsung Edge Features

several build.prop changes (AROMA chooseable):

enable Multi User UI

shorter sensor delay

faster boot/shutdown animation

higher jpeg quality

disable ADB, MTP, USB notification [TouchWiz SystemUI]

less frequent WiFi scans

power saving settings

faster scrolling

improved voice call clarity

disable error checking

disable sending usage data to Google

non-chooseable, built-in changes:

disable FOTA / Sofware Update menu

fully disabled KNOX / TIMA

disabled wake disply on USB plug in/out

added back 'Once' / 'Always' buttons to 'Open With' Dialog

=== Recommended Apps ===

not included because reasons, but still cool:

Easy XKCD (F-Droid)

Overchan (F-Droid)

KeePassDroid (F-Droid)

Play Permissions (Xposed)

Play Store Changelog (Xposed)

=== Notes ===

You need to install Xposed Framework separately (not bundled)

Recommended recovery is arter97's TWRP version 3.0.2

I recommend disabling wifi during standby (that is, if you don't have mobile network active during standby) Play Store auto-updates, that usually improves stability for me

If you installed GApps: I also recommend disabling Google ads and Google app verification in Settings > Apps > Google >> Ads / >> Security (because I don't like those "features", call me a tinfoil head :P)

Further I recommend doing a TWRP backup after everything is setup and working fine (so that you can revert to a working state any time)

If you're on GNU/Linux, I recommend using gMtp for file transfer. ADB sometimes gives weird file permissions.

=== Issues ===

A List of issues, all minor, but I'll still look into them, if I get some time to do so:

You currently need to manually enable supplied Xposed modules (and restart your device).

Don't create a new routine in Good Lock. This triggers some bug in it that causes uninstallation and leaves you without System UI (black screen, no statusbar and launcher, etc).

? You tell me.

=== Download ===

ROM, Bloatware AddOn, Flashable Modem/Bootloader, Synapse Profile, Archive Folder and Beta Folder

Modified Good Lock, microG (broken-out downloads)

Xposed Framework (wanam) for versions until 5.5.7

Xposed Framework (systemless) for versions 5.6.0 and newer

TWRP (arter97)

Fancy materialized TWRP themes

=== Installation ===

virgin S6:

install TWRP, Modem and Bootloader via Odin

go to recovery (possibly backup stock firmware)

factory reset using TWRP

install ROM

reboot and setup

go to recovery and install Xposed

reboot > profit (?)

rooted S6:

update TWRP

reboot recovery

update Modem and Bootloader

reboot recovery (possibly backup current ROM)

factory reset using TWRP

install ROM

reboot and setup

go to recovery and install Xposed

reboot > profit (?)

=== Update ===

- backup ROM in TWRP

route a) dirty flash

install NanoROM

reboot

route b) proper flash

factory reset in TWRP

install NanoROM

reboot

wait until Setup Wizard pops up

reboot into TWRP

restore /data (only /data) from previously made backup

reboot

=== First Start ===

setup phone normally

[optional] go to Settings > AdAway and activate ad blocking

go to Settings > Xposed Framework > Modules > Enable modules

reboot > now [AdAway and] Xposed Modules are set up and working

Note: it may reboot once because of Super Su (but it doesn't on my device) before first sucessful start. It however will reboot once during setup of Xposed Framework.

=== Future ===

As my goal is to get my S6 properly working, I'm not going to add new features without heavily testing them and I won't rush out any update because of a new change set.

I just wanna use my S6 properly (though I do have a Moto G 2015 aswell, but still).

=== Credits ===

That said this ROM contains work from other developers, that saved me a lot of time, because I could adjust already existing stuff. If you feel like missing from this list, please inform me, I'll add you as soon as possible.

Theese people contain:

ChainFire	(SuperSu)

Wanam	(Xposed for Sammy)

ambasadii	(PureStock ExtraLite)

edgarf28	(XtreStoLite)

Mentalmulso	(WETA No Odin)

thehacker911	(Hacker Kernel)

arter97	(arter97 Kernel, TWRP)

Osmosis	(Busybox)

3lo0sh	(GNU Bash Shell)

alesimula	(Trebuchet)

My free time	(for being sacrified)

the authors of all included apps

everyone I possibly forgot (you're awesome!)

XDA:DevDB Information

NanoROM, ROM for the Samsung Galaxy S6

Contributors

Setialpha

ROM OS Version: 6.0.x Marshmallow

ROM Kernel: Linux 3.10.x

ROM Firmware Required: Custom Recovery, Lastest Bootloader

Based On: Stock Touchwiz

Version Information

Status: Stable

Current Stable Version: 7.0.2

Stable Release Date: 2017-03-02

Created 2016-04-14

Last Updated 2017-03-02