5.2.20170413
- install NanoMod or NanoMod-microG Magisk-Module
- actually NanoMod is an Overlay to
/system
which holds the apps - allows for a user-defined list of system apps to be made unavailable (let's call this pseudo-debloat feature)
- disabling the NanoMod module in Magisk will revert everything, as it's not actually doing any changes to
/system
- boot process may take a bit longer as NanoMod is a pretty big Magisk Module
- for more information on Magisk
- actually NanoMod is an Overlay to
- install microG
- install F-Droid and many OpenSource applications
- install GNU Bash Shell
- install GNU Nano Shell Editor
- install The Legend of Zelda rintones and sounds
- it's dangerous to root alone
Because I wanted to have a simple way to achieve my desired setup on any device or any ROM. That's it, basically. And since it already exists, I thought I'd push it to XDA aswell. Actually this is the generic version of my NanoROM for Galaxy S6, where I basically made the same changes to the ROM (except NanoMod is for LOS/AOSP based ROMs, not TouchWiz).
Each provided application under it's original license. My own work (NanoMod itself) is licensed under the GNU General Public License version 3 or newer
- Full package contains everything mentioned above
- microG package only contains microG and nothing else
- F-Droid package only contains F-Droid and it's Privileged Extension
- Download release build
- or create zip file from this repository
- on GNU/Linux or BSD you can use the provided mod.sh script, either
mod.sh zip
for the full packagemod.sh microg
for the microg only packagemod.sh fdroid
for the F-Droid only package
- on GNU/Linux or BSD you can use the provided mod.sh script, either
- perform full wipe
- recommended, but not required
- install desired ROM
- make sure it does not include GApps
- install desired Kernel (if any)
- install Magisk
- install NanoMod
- for microG to work, your ROM needs to have fake signature signing enabled
- to achieve that, use the supplied
framework-patcher.sh
. This shell script for GNU Bash (and compatible shells) works on Unixoid operating systems like GNU/Linux, BSD or Mac OSX. It automizes the process of downloading Haystack , pulling files from phone, patching and populating them in the NanoMod Magisk Module.
- reboot into system
- go into microG settings and set up everything like:
- check results in Self-Check, grant missing permissions (by tapping on them)
- especially the 'Battery Optimization' item
- enable Google device registration
- enable Google Cloud Messaging (only if you want to receive push messages from your applications)
- enable Google SafetyNet (only if you you want to be able to use applications that require SafetyNet, for example AndroidPay, Pokémon GO, ...); set to use the official servers
- in UnifiedNlp Settings choose
- Mozilla Location Backend as Geolocation backend
- Nominatim as Address lockup backend
- after everything is done, reboot
- go to Play Store, setup account and install your apps
- check results in Self-Check, grant missing permissions (by tapping on them)
- go into microG settings and set up everything like:
To alter the installation you can create the file
/data/media/0/.nanomod-setup
on your phone, which can also be accessed or created as
/sdcard/.nanomod-setup
populate it with the following content for the full package
nanomod.microg=1
nanomod.fdroid=1
nanomod.apps=1
nanomod.play=1
nanomod.reinstall=0
nanomod.overlay=1
nanomod.zelda=1
the microg only package only supports the following options
nanomod.play=1
nanomod.reinstall=0
where 1
means on
and 0
means off
. Description:
nanomod.fdroid=[0|1]
whether to populate F-Droid.
nanomod.apps=[0|1]
whether to populate FOSS apps (see below).
nanomod.microg=[0|1]
whether to populate microG.
nanomod.play=[0|1|2]
what app store to use. 0
will not populate any app store, 1
will populate Play Store, 2
will populate Yalp Store.
nanomod.overlay=[0|1]
whether to populate the overlay to pseudo-debloat /system
applications.
nanomod.zelda=[0|1]
whether to populate Zelda ringtones and sounds.
nanomod.reinstall=[0|1]
whether to backup an already patched services.jar
and re-use it.
Only use this, when you re-install NanoMod on the same ROM. If you updated or changed the ROM, re-run framework-patcher.sh
instead. See "Installation" below.
If no /data/media/0/.nanomod-setup
is found, the default one will be installed (equals to the example above).
The following applications are pseudo-debloated by default
- Basic Dreams
- CM File Manager
- Eleven (Audio Player)
- E-Mail + Exchange2
- Browser, Gello, Slimperience (Browser)
- PhotoTable
- Sound Recorder, Recorder
- messaging (SMS & MMS)
- Wallpaper, WallpaperPickerGoogle (Google Wallpaper application)
- Wallpaper Backup
- mGerrit
- FM Radio
- Gallery2
- OmniSwitch
- Screencast
- Snap, Snapdragon Camera (Camera)
- Resurrection Remix Statistics
- Sim Toolkit
- Pixel Launcher
- Trebuchet
You can add or remove applications from the list by modifying the file
/data/media/0/.nanomod-overlay
on your device, which is also accesible as
/sdcard/.nanomod-overlay
See the default settings . The syntax is pretty simple:
- one item per line
- name must be an exact match
- applications in
/system/app
insideAPPS=( ... )
- applications in
/system/priv-app
insidePRIV_APPS=( ... )
After you've made your changes, issue the following command on your phone, either using adb shell
or Termux:
nanomod-overlay --update
This needs to be done in normal environment, not from recovery. If you know how to manually mount /magisk
in recovery, you can update the overlay using:
/magisk/NanoMod/system/bin/nanomod-overlay --update
from recovery, aswell. After reboot your changes get applied. For more options, check:
nanomod-overlay --help
respectively
/magisk/NanoMod/system/bin/nanomod-overlay --help
from recovery.
The following applications are magic-mounted as /system
applications
- AdAway
- Amaze (File Manager)
- AnySoftKeyboard
- Face Slim (Facebook client)
- F-Droid (FOSS app store)
- Hacker's Keyboard
- K-9 Mail
- Kernel Adiutor
- KeyPassDroid (Password Safe)
- (Simple) Gallery
- Lightning (Browser)
- Magisk Manager
- New Pipe (YouTube client)
- Oandbackup (App backup and restore)
- Odyssey (Audio player)
- OpenCamera
- OpenKeyChain
- OpenLauncher
- OpenVPN
- QKSMS
- Substratum (App and Compiler)
- will run in legacy mode on non-OMS ROMs
- Termux
- Twidere (Twitter client)
- VLC (Audio/Video Player)
- XDA Labs
- source not (yet) available
- Yahoo Weather Provider
List of known issues
- microG DroidGuard Helper or Play Store crashing
- there's currently an issue with Magisk that prevents microG DroidGuard Helper or Play Store from properly working when magic-mounted as
/system
application, see Magisk Issue 155 - this does not happen on all devices
- if you are affected of this issue, instead install them as an user app, by installing the apk from
/system/priv-app/DroidGuardHelper/DroidGuardHelper.apk
for microG DroidGuard Helper/system/priv-app/Phonesky/Phonesky.apk
for Play Store
- there's currently an issue with Magisk that prevents microG DroidGuard Helper or Play Store from properly working when magic-mounted as
- Play Store lacks fake sign permission
- on ROMs like crDroid or OmniROM, that have built-in fake signing and don't require running
framework-patcher.sh
, in some cases the Play Store is not granted fake sign permission, to fix this issue one of the following commands as root on your phonenanomod-overlay --permission
pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE
- on ROMs like crDroid or OmniROM, that have built-in fake signing and don't require running
Magisk allows modifying the ROM in system less fashion, it also brings it's own root solution (MagiskSU, which apparently is a fork of PHH SuperUser) and an companion application.
To pass SafetyNet enable MagiskHide in Magisk Manager and reboot.
After enabling MagiskHide and reboot go to Magisk Manager again, you'll now notice a new MagiskHide settings tab. In this tab you can select any application root should be hidden for. No reboot is required for this to take effect.
Note: don't select too many apps (10+), else MagiskHide may be too slow to actually hide root before the application checks for it.
The following The Legend of Zelda sounds will be populated
- Flute
- Gold Bug Catch
- Hey Listen
- Intro
- Midna Alert
- Secret
- Start
- Vessel
- Bolero of Fire
- Gerudo Valley
- House Remix (original title theme)
- Lost Woods Dubstep
- Lost Woods
- Market Theme
- Minuet of Forest
- Nocturne of Shadows
- Prelude of Light
- Requiem of Spirits
- Sarias Song
- Serenade of Water
- Shadow World
- Song of Storms
- Song of Time
- Lock
- LowBattery
- Unlock
Q: will there be a GApps version, instead of microG?
A: no. but you can choose not to populate microG.
Q: will there be support for x86?
A: x86 support is not planned currently.
Q: what devices was this tested on?
A: Moto X Play (lux), Samsung Galaxy Tab 4 (matissewifi), Samsung Galaxy S6 (zeroflte)
Q: what ROMs was this tested on?
A: LineageOS, Resurrection Remix, AICP, AOSP Extended, crDroid, should work on any LineageOS / AOSP based ROM that is working with Magisk.