This ROM is NOT based on any other custom ROM. My work contains many original ideas and innovations that I introduced as the first in the ROM development (see "Changelist" in post #2). Of course, it does not mean that I do not need to thank anyone - there are a lot of people who helped / inspired me anyhow (see "Credits").
I will risk the statement that at this moment my "DevBase" is the most tuned and nuanced custom ROM available at XDA Forum
I agree to use any part of my work to create other custom ROMs, but it would be great if you add me to the credits
I have decided to create a pure base, which can be a pattern for ROM Chefs (not only for beginners) ROM is initially safe de-bloated (read below what does it exactly mean), but all features are present and works!
ROM can be installed by normal users as well. If you like a little de-bloated ROMs, clean, but with all working features - there is no better alternative I think
ROM contains my extended CSC package, which I called N910FAXX (this is a combination OXX, OXA + some additional). Final list of available CSC is as follows:
ATO, AUT, BAL, BTU, CYO, DBT, ETL, EUR, H3G, ILO, ITV, LUX, MEO, MET, NEE, ORX, PHE, PHN, ROM, SEE, SIO, VGR, VIA, TPD, TPH, XEF, XEH, XEO (underlined - VoLTE support)
NEW !!! I present you new, unique option: "Keep current CSC", so you can install my DevBase keeping your original CSC even if it is not listed above! Note that in such case this option has some limitations, so read carefully informations below.
As you probably noticed - in such case your CSC pack will be as complete as it was before, thus if you are currently using any custom ROM - BEFORE the first installation of my DevBase I highly recommend you to flash the latest original stock ROM released for your country, then perform "wipe data" using stock recovery and then CHECK your CSC (chage it if necessary - more information below).
For further updates you do not need to repeat it every time. You can flash directly the next (newer) version of my DevBase with "Keep current CSC" option untouched in /options.prop - you can repeat such update procedure for a long time. As you probably noticed again - if your CSC is not contained in my DevBase, then your CSC pack will not be updated until you flash a newer original stock ROM for your country. But don't worry - CSC updates usually bring nothing (usually the only updated thing in CSC pack is the whitelist of LTE networks). I'm not trying to say "CSC updates are completely unnecessary". It's good idea to update it occasionally (especially if you noticed that major Android update for your country has been released). When you will decide to do it - just flash temporarily again the newest original stock ROM containing your CSC, and then you can return to my the newest DevBase (this time wipe data will not be necessary).
NOTE: Do not use so called "Superwipes" and/or additional /system "formats", otherwise "Keep current CSC" option may not work properly (e.g. if detected CSC is NOT included in my multi CSC package, then it will not be possible to keep detected CSC, as there is no CSC related content to backup / restore).
How can I check my current CSC?
How can I change my current CSC?
Case 1: Your country's original CSC is available in my DevBase
No special/additional steps are needed. Just install my DevBase with edited options.prop file placed on internal sdcard or extSdCard -> type CSC=[your_csc] instead of CSC=KCSC. Remember to perform "Wipe data" in the recovery before install. Note that sometimes additional reboot is required after completing pre-configuration steps to display your CSC correctly in Phone Info app).
Case 2: Your country's original CSC is not available in my DevBase. Your original ROM contains single CSC pack (ommiting parts with model name and incremental version - name of CSC package is same as product code = CSC)
Model: SM-N910F Model name: GALAXY Note 4 Country: Montenegro Version: Android 4.4.4 Changelist: 3311829 Build date: Mon, 17 Nov 2014 05:21:39 +0000 Product Code: TMT PDA: N910FXXU1ANK4 CSC: N910FTMT1ANK1 MODEM: N910FXXU1ANK4
Now you can install my DevBase - just leave "Keep current CSC" option untouched in /options.prop (it's good idea to perform "Wipe data" again from recovery to remove potential "garbage" from /data partition like e.g app data created by CSC bloatware and CSC bloatware updates).
Case 3: Your country's original CSC is not available in my DevBase. Your original ROM contains multi CSC pack (ommiting parts with model name and incremental version - name of CSC package differs from product code and usually begins with the letter "O")
There is no good example for SM-N910F at the date of writing this guide
- Odexed (original stock files) + stock kernel
- Multi CSC OXM (list of natively supported CSC as above) (*)
- Removed SecurityLogAgent.apk (annoying on rooted phones)
- Removed Rlc.apk (to avoid "OEM unlock issue")
- Rooted systemlessly (Magisk v16.7 or SuperSU 2.82 SR5) (*)
- All original features are present and works (except KNOX related apps)
- No visual changes (100% stock look)
2. CscFeature MOD (enabled some built-in, hidden features):
- Added shutter sound menu in Camera app
- Sending/receiving MMS without data on
- Show SMS/MMS sending time instead of receiving
- Added "Call/Message block" option in Settings
- Added "LTE Only" network mode (NOTE: voice calls may not work in this mode)
- 4G/3G network support in any CSC (master/slave SIM, applies to dual SIM variants)
- Call Recording (via "Record" button or "Auto record calls" option)
- Enabled "Recent App Protection" feature
3. Xposed framework & Xposed Installer app [optional] (*)
4. Virtual / physical Safe De-Bloat (more info below) (*)
- ONLY apps available in stores are removed from DevBase, so you can easy (re)install any of these app if you like
- ONLY pre-installed system apps are removed, DevBase installer never touch any updated app nor app installed manually from store
Thus, the following conclusions can be drawn:
1. If you install my DevBase directly over stock ROM without performing "Wipe data" - in most cases almost all these apps will remain untouched, because almost all apps have been updated already (stored on /data). But then you will be able to remove any useless app using the "Application manager", like any other app. Removed manually app will not appear again until you use my DevBase while updating.
2. If you perform "Wipe data" while installing my DevBase - then all apps listed below will be removed. If you would like to use any of these apps - just install it manually from appropriate store. Installed manually app will not be removed during the next DevBase update.
Removed apps list:
FB Pages Manager
Google+ / Photos
(*) - these options can be controlled by editing options.prop file (you can find such file in ZIP's root directory). Just place modified options.prop file (use e.g. Notepad++ to edit) in the root directory of internal emulated scdard (/data/media/0) or extSdCard (recommended if you plan to format internal emulated sdcard) and then start the installation. More info below:
# DevBase by ALEXNDR (_alexndr @ XDA)
# Configuration file to allow customize the installation.
# File inside the ZIP installer is just for reference - please DO NOT modify it!
# If you want to change some options listed below - edit the copy of this file, then place
# modified options.prop file in the root directory of internal emulated scdard (/data/media/0)
# or in the root directory of extSdCard (recommended if you plan to format internal emulated
# sdcard) and then start the installation.
# TIP: You do not need to repeat this step every next update I will release. As long as your
# customized options.prop file is present in the (ext)SdCard - future DevBase installers will
# "read in your mind" that you want to install with such options again.
# NOTE: All below variables and values are case sensitive!
# Enable root access with the selected method. Allowed values:
# magisk - install Magisk & MagiskSU as root solution (default)
# supersu - install SuperSU as root solution, without Magisk
# noroot - do not root device
# Install Xposed framework matched to the ROM (there is also a possibility to detect Xposed profile
# automatically, but auto-detection will not work if user will perform wipe /system). Allowed values:
# auto - detect Xposed profile automatically
# true - force Xposed framework installation
# false - do not install Xposed framework
# CSC Selection. Allowed values:
# KCSC - Keep current CSC, recommended in most cases (automatic selection or copy your current CSC contents).
# You can force the use of natively supported CSC by typing (use UPPERCASE!): ATO, AUT, BAL, BTU, CYO, DBT,
# ETL, EUR, H3G, ILO, ITV, LUX, MEO, MET, NEE, ORX, PHE, PHN, ROM, SEE, SIO, TPD, TPH, VGR, VIA, XEF, XEH, XEO
# Custom CSC Features. Allowed value in each line: <Example_line>value</Example_line>
<CscFeature_Sip_EnableSymbolInSecondary>en_GB;en_U S;az;ca;cs;da;de;et;es;eu;el;fr;gl;ka;hr;it;is;kk; lv;lt;hu;nb;nl;pl;pt;ru;ro;fi;sr;sk;sl;sv;tr;uk;ko ;hy;bg;ar;fa;ur;zh_CN;</CscFeature_Sip_EnableSymbolInSecondary>
# Custom physical debloat list. Allowed value in each line: path to app's directory in /system.
# (NOTE: wildcards are allowed here)
# Custom virtual debloat list. Allowed value in each line: exact app name with .apk extension.
# (NOTE: without app's path/directory, wildcards are NOT allowed here!)
NEW !!! Starting from DevBase v3.0 there is a new customization method - you can change frequently switched root options just by renaming installer's ZIP file name (instead of editing options.prop file). Currently supported "strings" in the file name: "magisk", "supersu", "noroot", "rescue", "xposed", "CSC_xxxx.zip":
Case 1 (default) - install the ROM with Magisk & MagiskSU as root solution
(just flash ZIP file "as it is")
Case 2 - install the ROM with SuperSU as root solution, without Magisk
(place "supersu" string anywhere in the ZIP file name, e.g. "N910Fxxx_DevBase_v5.x_supersu.zip")
Case 3 - do not root device (NOTE: you will get not rooted ROM!)
(place "noroot" string anywhere in the ZIP file name, e.g. "N910Fxxx_DevBase_v5.x_noroot.zip")
In DevBase v4.5+ there is a "rescue" option, which may be especially helpful in case of encrypted device if you experienced bootloop caused by e.g. systemless mod/module/xposed stored on /data (without access to /data from TWRP). In case of bootloop just place "rescue" string anywhere in the ZIP file name, e.g. "N910Fxxx_DevBase_v5.x_rescue.zip" and then (re)install the ROM - should help in case of (probably) all possible bootloop reasons. In addition to the normal (re)installation of the ROM (thus restoring the original /system, kernel, modem, etc.) this option will also force "Core Only Mode" in Magisk and will move all SYSTEMLESS DevBase modifications to /data/devbase/system/.backup, before performing bind mounts, so original files will be used.
In DevBase v4.6+ there is a possibility to force CSC by renaming ZIP file name - this is the only case-sensitive variable which have to be put at the beginning of ZIP file name and must be folloed by "_" (due to the fact that there is a high risk that ZIP file name may contain CSC code accidentally). Example (to force CSC DBT): "DBT_N910FXXU1xxxx_DevBase.zip"
In DevBase ROM v5.6+ there is "xposed" option which allows you to force Xposed framework installation. It is NOT forced by default - you need to force it manually while installing ROM with Xposed first time, renaming ZIP's file name to e.g. "N910Fxxx_DevBase_v5.x_xposed.zip". Next ROM's updates will detect and apply Xposed profile automatically, unless you wipe /system - then auto detection is not possible.
CWM / TWRP recovery (KNOX 0x1) - open file using "Install (Zip)" option and confirm operation. If you want to perform "clean install' - perform "wipe data/factory reset" BEFORE flashing Zip! I highly recommend you to update bootloader/modem also to the newest versions available in post #3, to avoid potential bugs/issues.
Wipe data is NOT required if you are coming from stock ROM or a previous version of my DevBase (if you leave "Keep current CSC" option untouched in /options.prop or if you choose same CSC as you are currently using). In other cases - wipe data is highly recommended!
I do not recommend using any additional superwipes or formats before install my DevBase (my installer cleans your system well enough!).
@Chainfire for systemless SuperSU and a lot of inspiration
@topjohnwu for Magisk, Xposed, another inspiration
@rovo89 & @wanam for Xposed framework & Xposed Installer app
@amarullz for Aroma Installer used in older DevBase versions
@svadev & @_riddle for deodexed tools/binaries used in older DevBase versions
Hit Thanks button if you like my work. If you really appreciate my work - feel free to buy me a beer