[G920F/FD/W8/...][6.0+] SYSTEMLESS DevBase | Encryption support | Stock OTA updates - Galaxy S6 Android Development

SYSTEMLESS DevBase has been developed and physically tested on S7 Edge (G935F), so main thread containing the most detailed description you can find here:
>> [SAMSUNG][6.0+] SYSTEMLESS DevBase | Encryption support | Stock OTA updates <<
However, it should work on ALL SAMSUNG DEVICES running Android 6.0+, so if you are Galaxy S6 flat (G920xx) owner - please place your feedback & discussion here to let me know about device-specific issues or to let me know that everything works perfect
---------------------------------------------------------------------------
Are you tired with traditional custom ROMs?
Do you miss custom ROMs but you would like to have encrypted /data (for privacy/security reasons)?
You are in the right place! I present you SYSTEMLESS DevBase - an SYSTEMLESS equivalent of my previous work (for older devices)
Prerequisites:
- Samsung device running stock or stock-based Android 6.0+ (mandatory!)
- Rooted device - SuperSU v2.76+ installed in SYSTEMLESS mode (mandatory!) (*)
- Stock, untouched /system partition (not mandatory, but recommended for working OTA)
- Stock recovery (not mandatory, but recommended for working OTA)
(*) NOTE: The latest CF-Auto-Root image for G920F contains SuperSU v2.74 which does not support SYSTEMLESS solutions (su.d is not triggered early enough). It is NOT enough to update it via PlayStore to the newest version and update su binaries! You need to update it using TWRP / FlashFire installable ZIP from THIS STABLE or THIS BETA thread. Alternatively you can use "EverRoot" -> "Inject SuperSU" option in FlashFire even if you are rooted already by CF-Auto-Root (it will update SuperSU in the same way as flashing ZIP).
SYSTEMLESS DevBase:
1. Benefits / main features:
- Works with encypted /data partition
- Working official OTA updates! (see Tips & Tricks)
- Does NOT perform any phisical modifications in /system
- Does NOT perform any additional changes/patches to the kernel
- Removed KNOX warnings (systemlessly removed SecurityLogAgent)
- It contains SYSTEMLESS BusyBox (bionic, the most stable and respected release)
- It allows you to easily modify most of files & apps in your /system - SYSTEMLESSLY (see Tips & Tricks)
- It does not interfere with Magisk! You can use Magisk in paralell with SYSTEMLESS DevBase if you need it for your favorite module.
2. Systemless Safe De-Bloat (more info below):
What does it mean and why is it called "safe"?
- ONLY apps available in stores will be systemlessly removed from the ROM, so you can easily (re)install any of these app if you like
- ONLY pre-installed system apps are will be systemlessly 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 SYSTEMLESS DevBase directly over working stock ROM - 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" -> [Name_Of_App_To_Remove] -> MORE -> Uninstall updates. NOTE: App will disappear arter reboot and will be visible even in Titanium Backup!
2. If you perform "Wipe data" directly before installing SuperSU and my SYSTEMLESS DevBase (before you let to install app's updates) - 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 or re-install.
Removed apps list (depends on the device, should cover all devices starting from Galaxy S5):
ChatON
Chrome
Drive
Dropbox
EditorsDocs
Evernote
Excel
Facebook
FB Messenger
FB Pages Manager
Flipboard
Google+ / Photos
Group Play
Hangouts
Instagram
OneDrive
OneNote
PEN.UP
Play Books
Play Games
Play Movies
Play Music
Play Newsstand
PowerPoint
Skype
Smart Remote
WhatsApp
Word
NEW! Safe De-Bloat feature automatically detects and systemlessly removes apps not listed above, but present in your CSC package
3. Systemless 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 "Exit Internet" option to stock browser
- Added call button in Phone Logs (**)
- Added "Call/Message block" option in Settings
- Added symbols as secondary keys in Samsung keyboard (**)
- Call Recording (manual control, added "Record" button)
(**) may not work starting from Android 7.0 Nougat
Installation:
1. FlashFire app (recommended ***):
- Open file using "Flash ZIP or OTA" option
- UNTICK "Mount /system read/write" [extremely important for working OTA!]
- Enable "EverRoot" -> "Inject SuperSU" option if necessary (see NOTE above (*))
- Tap "FLASH"
2. TWRP recovery:
- Tap "Keep Read Only" on the Welcome screen [extremely important for working OTA!]
- Open file using "Install" option (use extSdCard or OTG storage in case of encrypted /data)
- Confirm flash by swiping right
- Tap "Reboot System"
NOTE1: One additional auto-reboot may be performed at first boot. It is not a bug (may be required for systemless build.prop support - see Tips & Tricks for more explanations)
NOTE2: Do not worry about red "mount /data failed..." messages displayed in TWRP in case of encrypted /data (installer will do the work anyway!)
(***) As far as I know - FlashFire is the only flashing tool with full access to /data during flash in case of encrypted devices. It is also the only tool which allows you to perform full backup/restore of partitions, including encrypted /data. It does NOT require custom recovery to work!
Credits: @Chainfire for systemless SuperSU and a lot of inspiration
Hit Thanks button if you like my work. If you really appreciate my work - feel free to buy me a beer

Download
>> Recent SYSTEMLESS DevBase <<
Note:
Check MD5 sum BEFORE flash (useful TOOL), because flashing damaged or incomplete ZIP files can lead to issues! Correct MD5 sum is shown on the AndroidFileHost website while downloading.
Changelog
Please visit MAIN THREAD - post #3

Tips & Tricks
1. OTA updates:
- Basically, the only thing you need to take OTA update is to perform "Full unroot" in the SuperSU app. However, a better way is to use "unroot2ota" terminal command, because this will not remove DevBase boot script from /su/su.d and the only thing you will need to re-activate SYSTEMLESS DevBase (and all your systemless MODs) after performing OTA update is just re-root your device with CF-Auto-Root.
- If you flashed custom recovery like TWRP - it is mandatory to restore your stock recovery (otherwise OTA will not work). You can do it using FlashFire app (the easiest way) - just open recovery.img file (extracted from your original FW) using "Flash firmware package" option, disable "Preserve recovery" option and then tap "FLASH". EDIT: Starting from version v1.2 there is a new "unroot2ota" feature which allow you to restore stock recovery using /system/recovery-fromm-boot.p file. There is no guarantee to perform it successfully (even if there is no error message) but in most cases it works well (tested on Nougat beta). Please go to recovery before you try to get OTA to check if you have stock recovery already after performing "unroot2ota" (if not - you need to use PC Odin to flash recovery.img packed in tar file).
- It is recommended to temporarily disable "Auto-update apps" in Play Store settings before you unroot your device. It will prevent updating applications covered by Safe De-Bloat list, as there apps will temporarily appear until you re-root the phone after performing OTA update.
Note (devices which use dm-verity): You should never allow /system modifications in TWRP, never allow to remount /system r/w in any app (e.g. Root Explorer, FlashFire, etc.) and never flash a ZIP file which could modify your /system or remount it r/w. Failure to follow these recommendations will break dm-verity verification and will cause, that your device may not be able to boot with the stock kernel (you will need to re-flash your original FW using PC Odin to make your device bootable).
2. Making your own modifications:
- You can systemlessly replace any existing system app by modded one. Just put modified app to /data/devbase/system/app or /data/devbase/system/priv-app and then reboot your device
- You can systemlessly replace jar or apk in /system/framework. Just put modified one to /data/devbase/system/framework and then reboot your device (NOTE: framework support has been added for advanced users -> there is high risk of bootloop if you do something wrong!)
- You can systemlessly add or override any line in /system/build.prop. Just put (only new or changed) line to /data/devbase/system/build.prop and then reboot your device (NOTE: one additional auto-reboot will be performed if /data/devbase/system/build.prop file has been added, modified or removed. It is not a bug - it is required for the changes in /data/devbase/system/build.prop to take effect!)
- You can systemlessly replace any existing file in /system/csc and /system/etc (but NOT in subdirectories). Just put modified copy of a file to /data/devbase/system/csc or /data/devbase/system/etc and then reboot device
Limitations: original app or file MUST physically exist with the same name in /system, you can NOT add a new app or file this way!
Example 1 (Ad-Blocking): Download the latest Ad-Blocking ZIP installer from THIS thread. Extract "hosts" file (placed in /system/etc inside ZIP file), then copy it to /data/devbase/system/etc, set rw-r--r-- (644) permissions and then reboot device
Example 2 (modded SystemUI): Create "SystemUI" directory in /data/devbase/system/priv-app and then put modified "SystemUI.apk" file into it. Set rwxr-xr-x (755) permissions to "SystemUI" directory, rw-r--r-- (644) permissions to "SystemUI.apk" and then reboot device
Example 3 (De-Bloating a bit more): You can just create empty directories in /data/devbase/system/app (or priv-app) corresponding to applications in /system/app (or priv-app). Alternatively (more advanced method), you can add an app to modded enforceskippingpackages.txt file (you can find it in /data/devbase/system/etc or /data/devbase/system/csc_contents, depending on the original location in /system) and increase number in the 1st line. Second method should not be used by beginners (without a basic knowledge related to UNIX text format)
3. How to manually maintain the newest ROM version:
If you do not care about OTA - you can manually update your device to the newest ROM available @ Sammobile, keeping your original CSC (you need multi-file original FW, I mean separate files for BL/AP/CP/CSC). You need to download 2 ROMs: ROM with the newest changelist and the latest ROM containing your original CSC. Extract both and open in PC Odin BL/AP/CP files from the ROM with highest changelist but open CSC file from the ROM containing your CSC (I recommend to use HOME_CSC_* file to avoid auto-wipe-data). Flash such "mix", re-root and enjoy

Reserved

There is new version available
Changelog
v1.1:
- Added SYSTEMLESS support for /system/framework
- Added SYSTEMLESS support for /system/build.prop (overrides & additions)
- Added major Android update detection (auto-remove mods for older API to prevent bootloops & FCs)
- Added BusyBox bionic (the most stable and respected release)
- Added logging to /data/devbase/last_boot.log (API & errors)
- Added SuperSU boot patcher version checker (exits su.d boot script if < 2.76)
- Added "Please DO NOT wipe /cache" warning in case of encrypted devices and TWRP recovery
- Minor changes & optimizations in the shell code
- Added SYSTEMLESS DevBase uninstaller
Download link:
>> SYSTEMLESS_DevBase_v1.1.zip <<
Since new version has many more features -> there are more possibilities of bootloop (especially if you are playing with framework mods). I have created DevBase remover to let you get out from bootloop. Of course uninstaller does NOT "know" which mod caused the problem, so it will not remove any file from /data/devbase directory, it will remove only /su/su.d/0000000devbase boot script to make your device bootable (again) so you can manually delete problematic mod:
>> SYSTEMLESS_DevBase_remover.zip <<

Thanks master for this new job.
A little question... The CSC changes on my phone do not apply, none, but the debloat changes are OK. I checked the log in data/devbase but it is empty ... What is wrong?
Enviado desde mi SM-G920I mediante Tapatalk

Another update:
v1.3:
- Fixed CscFeature MOD (e.g. G920I case, now should work with all Samsung devices/variants)
v1.2:
- Added info in Settings/About device/Software info/Build number (can be overrided by editing /data/devbase/system/build.prop)
- unroot2ota: added ability to restore stock recovery using /system/recovery-from-boot.p file (no guarantee)
- unroot2ota: check /system partition for common modifications before unroot
- Minor changes & improvements in the shell code
>> SYSTEMLESS_DevBase_v1.3.zip <<

Deleted

_alexndr said:
Are you tired with traditional custom ROMs?
Do you miss custom ROMs but you would like to have encrypted /data (for privacy/security reasons)?
You are in the right place! I present you SYSTEMLESS DevBase - an SYSTEMLESS equivalent of my previous work (for older devices)
Click to expand...
Click to collapse
I just don't get it. What exactly is it? What is the purpose? It ain't a ROM is it?

Related

[EOL][ROM][N910F][ALEXNDR] * DRF1 * DevBase v5.9 * Multi CSC, Safe De-Bloat [Aug-11]

Important notes for Developers / Chefs !!!
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
Hello
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.
How does it work? Normally, if your current CSC is listed above (contained in my DevBase), this option detects it and automatically applies during install. However, if the detected CSC is not contained in my DevBase, then my new script makes a copy of all known contents associated with CSC (except so-called "CSC bloatware" placed in /system/app & priv-app, e.g brand and/or country specific apps), then installer cleans /system partition as usual, then it flashes new ROM base and then it restores backed up CSC contents instead of my multi CSC pack. It seems to be easy, but was rather laborious - I have analyzed almost all multi CSC packs and most of single CSC packs available in the world (designed to work with N910FXX... base) to make this script as accurate as possible.
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?
Install Phone INFO app from Play Store and check your CSC. If you are using stock ROM and everything is ok with your CSC - all CSC fields in Phone Info app should display the same CSC, as below (otherwise, you probably forgot about wipe data when you were installing ROM with another CSC).
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
How can I change my current CSC?
Q: Recently I tested several ROMs, in result of it my CSC has changed. I would like to install your DevBase, but first I want to restore my country's original CSC. What should I do?
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)
Example:
Code:
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: [COLOR="Red"]TMT[/COLOR]
PDA: N910FXXU1ANK4
CSC: N910F[COLOR="red"]TMT[/COLOR]1ANK1
MODEM: N910FXXU1ANK4
In this case you need to flash your original ROM using PC Odin, then perform wipe data using stock recovery and then check your CSC in Phone Info app (note that sometimes additional reboot is required after completing pre-configuration steps to display your CSC correctly in Phone Info app).
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")
Example:
Code:
There is no good example for SM-N910F at the date of writing this guide
There is no good example for SM-N910F at the date of writing this guide. The only multi CSC package not contained in my DevBase is Vodafone N910FVFG.... but it is BRANDED! Therefore, I recommend to change it to unbranded, from DevBase's supported list (steps same as Case 1). If you really want to know what should you do in such case (in theory) - please read related DevBase threads for Note 3 or S5
ALEXNDR.N910FXXU1DRF1:
1. Base:
- 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) (*)
What does it mean and why is it called "safe"?
- 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:
Chrome
Drive
Dropbox
Evernote
Facebook
FB Messenger
FB Pages Manager
Flipboard
Google+ / Photos
Hangouts
Instagram
PEN.UP
Play Books
Play Games
Play Movies
Play Music
Play Newsstand
Smart Remote
WhatsApp
(*) - 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
root=magisk
# 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
xposed=auto
# 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
CSC=KCSC
# Custom CSC Features. Allowed value in each line: <Example_line>value</Example_line>
<CscFeature_Sip_EnableSymbolInSecondary>en_GB;en_US;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>
<CscFeature_Sip_ConfigOpBranding>SPR</CscFeature_Sip_ConfigOpBranding>
<CscFeature_Common_SupportWcdmaInSlave>true</CscFeature_Common_SupportWcdmaInSlave>
<CscFeature_VoiceCall_ConfigRecording>RecordingAllowed</CscFeature_VoiceCall_ConfigRecording>
<CscFeature_Setting_EnableMenuBlockCallMsg>true</CscFeature_Setting_EnableMenuBlockCallMsg>
<CscFeature_Setting_CustNetworkSelMenu4>LTEONLY</CscFeature_Setting_CustNetworkSelMenu4>
<CscFeature_Setting_SupportRealTimeNetworkSpeed>true</CscFeature_Setting_SupportRealTimeNetworkSpeed>
<CscFeature_SmartManager_DisableAntiMalware>true</CscFeature_SmartManager_DisableAntiMalware>
<CscFeature_SystemUI_SupportRecentAppProtection>true</CscFeature_SystemUI_SupportRecentAppProtection>
<CscFeature_Contact_EnableCallButtonInList>true</CscFeature_Contact_EnableCallButtonInList>
<CscFeature_Message_DisplaySmsTimeAs>server</CscFeature_Message_DisplaySmsTimeAs>
<CscFeature_Message_DisplayMmsTimeAs>server</CscFeature_Message_DisplayMmsTimeAs>
<CscFeature_Camera_ShutterSoundMenu>true</CscFeature_Camera_ShutterSoundMenu>
<CscFeature_Web_AddOptionToTerminate>true</CscFeature_Web_AddOptionToTerminate>
<CscFeature_Web_EnablePromptToExit>true</CscFeature_Web_EnablePromptToExit>
<CscFeature_RIL_ForceConnectMMS>true</CscFeature_RIL_ForceConnectMMS>
# Custom physical debloat list. Allowed value in each line: path to app's directory in /system.
# (NOTE: wildcards are allowed here)
/system/app/SecurityLogAgent
# 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!)
Books.apk
Chrome.apk
Drive.apk
Dropbox_zero.apk
Evernote.apk
Facebook_latest.apk
FBAppManager.apk
FBInstaller.apk
FBInstagram_stub.apk
FBPagesManager_stub.apk
Flipboard.apk
Hangouts.apk
Music2.apk
Newsstand.apk
PENUP.apk
Photos.apk
PlayGames.apk
PlusOne.apk
SmartRemote_T.apk
Videos.apk
WhatsAppDownloader.apk
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.
Installation:
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!).
Credits:
@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
DOWNLOADS
Download ROM
>> N910FXXU1DRF1_DevBase_v5.9.zip << (Android 6.0.1, updated Aug-11-2018, more info in post #3455)
>> Recent ROM versions for SM-N910F <<
Note:
Check MD5 sum BEFORE flash (useful TOOL), because flashing damaged or incomplete ZIP files could (soft) brick your phone! Correct MD5 sum is shown on the AndroidFileHost website while downloading.
Changelog
v5.9 (starting from N910FXXU1DRF1 DevBase):
- Changed device detection method to bootloader's prefix (instead of ro.product.*)
- Improved support for applying custom mods automatically at each ROM's install/update, introduced in v5.6 (added support for etc, fonts, media & usr directories in {storage}/devbase/system)
- Added support for custom {storage}/devbase/post-installation.sh script
v5.8 (starting from N910FXXU1DRD1 DevBase):
- Improved unzip_flash function in the installer to detect properly more flashing errors (e.g. EXT4 partition mismatch)
- Changed /odm flashing method to file based due to potential /odm partition mismatch (applies to carrier branded treble devices)
- Minor optimizations/improvements in the installer (this time mainly to improve installation speed)
- Busybox has been removed from /system/xbin to run properly some banking apps
v5.7 (not released for N910F):
- Improved/expanded built-in RMM lock prevention (thanks to @jesec for idea of overriding properties via factory.prop)
- OEM unlock status will always be displayed correctly in Developer options (to avoid confusion) with stock kernel included in the DevBase ROM
v5.6 (not released for N910F):
- Added "App Lock" feature (Settings -> Advanced features)
- Added Xposed framework as installation option (it is NOT forced by default - you need to force it manually while installing with Xposed first time, e.g. by "xposed" string in ZIP's file name, but next ROM's updates will detect and apply Xposed profile automatically, unless you wipe /system - then auto detection is not possible)
- Added support for applying custom mods automatically at each ROM's install/update by placing modded apps in {storage}/devbase/system/(priv-)app or placing modded framework files in {storage}/devbase/system/framework (where {storage} may be: /sdcard, /external_sd or /usb-otg)
v5.5 (not released for N910F):
- Added support for flashing optional, CSC related partitions ($OMR, $PRELOAD)
- Added possibility to update recovery (optional, performs update if exists $NAME/images/recovery.img)
- Return to using only the original XML files in the CSC package (thanks to @fei-ke for omc-decoder)
- Partition(s) may be wiped only by writing new block's image
- Minor optimizations / improvements in the installer
v5.4 (not released for N910F):
- Big step forward in DevBase ROM customization ability - almost all current ROM features (hidden up to v5.3) have been moved to options.prop (you will be able to easy add new or remove current feature)
- Return to dm-verity-opt-encrypt boot patcher if necessary (wherever it works well, there are still devices which need "no_verity" function introduced in v5.1)
- Initial support for forcing (changing) CSC in case of devices with /odm as CSC location
- Minor optimizations / improvements in the installer
v5.3 (not released for N910F):
- Improved algorithm of search & change "ro.security.vaultkeeper.feature" property to 0 (/system & /vendor)
v5.2 (not released for N910F):
- Added support for devices with /odm as CSC location
- Added support for flashing $ODM, $VENDOR, $KEYSTORAGE, $DQMDBG images
- Added support for custom debloat list and custom CscFeature list in options.prop
- options.prop file format has been changed to CR/LF (Windows) - more noob-proof solution, user can edit a copy of options.prop file even in Windows Notepad (the installer still supports ANY text format of options.prop file - Win/Unix/MAC)
v5.1 (not released for N910F):
- Created new "no_verity" function in the installer, compatible with Samsung's Oreo, based on @Chainfire's patch tool (no-verity-opt-encrypt has been removed). In case of Oreo & Magisk as root solution - "no_verity" function will be used as additional support for patching fstab* (as long as Magisk does not do it correctly)
v5.0 (not released for N910F):
- SYSTEMLESS DevBase has been removed due to the fact, that in case of modern devices/firmwares we need to perform many changes physically in /system anyway, so it loses the sense of use here. If you liked it - you can still install it separately from HERE (it does not need to be re-installed after ROM update as it is installed in /data)
- Added "skipblcp" option to let users skip BL/CP update (additionally it disables auto-reboot when the installer finished work as it is just not necessary then)
- Added "phydebloat" option to let users choose beetween virtual and physical debloat (to get more space in /system)
- Other (minor) optimizations & improvements
v4.6 (starting from N910FXXU1DQL2 DevBase):
- Initial support for devices with /system/omc as CSC location
- SYSTEMLESS DevBase updated to v2.0 (see changelog HERE)
- Added possibility to force CSC by renamig ZIP filename. Due to the fact that trere are many different CSC and it is possible that $ZIPNAME may contain a CSC accidentally - to force CSC you need to put CSC in $ZIPNAME at the beginning and CSC must be followed by "_". Example $ZIPNAME (to force CSC DBT): "DBT_N910FXXU1xxxx_DevBase.zip"
- Added auto efs-backup during install. Installer will create first backup (efs_backup.img.gz) and recent backup (efs_recent.img.gz). The installer will prefer external storage as default backup location (/external_sd or /usb-otg) due to encryption support. MD5 sum and restore command will be stored in efs_backup.txt or efs_recent.txt file
- Other (minor) optimizations & improvements, e.g. added more error messages in case of something went wrong during install
v4.5 (not released for N910F):
- Added new "rescue" option (readable only as string in ZIP file name due to the fact, that we will need this option rarely). It can be a potentially very helpful option in case of bootloop @ encrypted device, caused by a systemless mod/module/xposed stored on /data (without access to /data from TWRP) - more info in post #1
- SYSTEMLESS DevBase updated to v1.14 (see changelog HERE)
v4.4 (not released for N910F):
- Added new "encrypt" option (readable only as string in ZIP file name due to the fact, that we need to do it only once). Now you can easy encrypt all data in your device, just during the ROM upgrade (without data loss) - unfortunately, it does not work in older devices (like G900F/N910F and older), it is just a new unified installer's feature
- SYSTEMLESS DevBase updated to v1.13 (see changelog HERE)
v4.3 (starting from N910FXXU1DQF7 DevBase):
- "root.supersu" & "root.magisk" variables in the options.prop file have been replaced by one "root" variable (dropped possibility to install both -
SuperSU & Magisk - due to the fact that Magisk v13+ does not support SuperSU as root solution)
- SYSTEMLESS DevBase updated to v1.9 v1.10 (see changelog HERE)
v4.2 (starting from N910FXXU1DQC7 DevBase):
- Added possibility to add systemlessly NEW apps to /data/devbase/system/(priv-)app (up to 5 apps in "app" & 5 apps in "priv-app"). The only condition is that you need to rename its directories to CustomApp[1...5] (e.g. CustomApp1, CustomApp2, etc..). These apps will remain even if you flash a new DevBase as corresponding dummy directories will exist in future DevBase updates
- In case of DevBase update or re-installation - installer will not remove your custom entries in /data/devbase/system/build.prop and in *.xml files placed in /data/devbase/system/csc
- SYSTEMLESS DevBase updated to v1.6 v1.8 (see changelog HERE)
v4.1 (starting from N910FXXS1DQC3 DevBase):
- Added full Magisk support - MagiskSU is now default root solution (ROM should pass SafetyNet with Magisk Hide enabled in settings)
- Since systemless Xposed does not need to be re-installed every new DevBase I will release (in case of using the same root solution) - it makes no sense to keep it anymore as installation option
- SYSTEMLESS DevBase updated to v1.5 (see changelog HERE)
v4.0 (starting from N910FXXS1DQC3 DevBase):
- A huge step in the systemless direction! DevBase installer now installs pure odexed stock ROM (just slightly debloated), then systemless SuperSU, then systemless DevBase, then (optionally) systemless Xposed
- All Knox related applications are available again (except SecurityLogAgent, to prevent annoying security alerts)
- Fake KNOX 0x0 status (check it in PhoneINFO app) - most of Knox related apps should work again, like in case of untouched KNOX flag
- All mods known from previous DevBase versions (up to v3.x) now are applied systemlessly - all modified files (including modded apps) are placed in /data/devbase/system instead of physical /system partition. Mods section (#4) has been updated to install mods to /data/devbase/system/(priv-)app if systemless DevBase has been detected (otherwise will be installed as usual, to /system)
- Deodex on-the-fly feature has been removed. If you really need deodexed ROM - you can install someone else's deodexed ROM, then systemless DevBase as an overlay
- Init.d support has been removed as it is deprecated (use su.d instead)
v3.8 (starting from N910FXXU1DPH2 DevBase):
- Added hexpatch to root_from function (support for SM-N930x, thanks to @Chainfire)
v3.7 (starting from N910FXXS1DPF3 DevBase):
- Another major improvement/bugfix in deodex_from function (full support for 64 bit OS)
v3.6 (starting from N910FXXU1DPE1 DevBase):
- Major improvement/bugfix in deodex_from function (added "-g" switch to zip command - finally no issues in case of deodexed Android 6.0.1)
v3.5 (starting from N910FXXU1DPE1 DevBase):
- Improved root_from function (Android 5.1+) - added "setprop selinux.reload_policy 1" removal from init.rc (thanks to @Chainfire)
- Fixed bug in new alghoritm for checking whether stock recovery should be installed or not (introduced in v3.4)
- Added new functionality - installer will store a copy of patched stock kernel in /data for those who flashed custom kernel but for some reasons want to revert to the stock kernel (Android 5.1+)
v3.4 (starting from N910FXXU1DPE1 DevBase):
- Completely changed alghoritm for checking whether stock recovery should be installed or not (it applies to FlashFire users). Now it depends on previously used recovery (instead of checking KNOX flag which was not 100% reliable across devices/recoveries)
v3.32 (not released for N910F):
- Updated set_csc, kcsc_backup, kcsc_restore functions to support more devices
- Updated partition detection algorithm to support more devices
- Fixed path to options.prop file placed in external sdcard in case of updating Marshmallow while using FlashFire
- Minor intaller's optimizations/bugfixes
v3.31 (starting from N910FXXU1DPD3 DevBase):
- Potential fix for reported problems with root (rare cases)
v3.3 (not released for N910F):
- Improved method of reading options from ZIP file name (previous was directory/path sensitive also)
- Added support to mod_csc function for other than UNIX text format (it's a little ridiculous, but in case of some CSCs - original /system/csc/other.xml file has Windows or MAC text format!)
- Initial support for options.prop file in CRLF text format (DOS/Windows)
v3.21 (starting from N910FXXS1CPD1 DevBase):
- Fixed installer's issue if there is a [space] present in ZIP filename or a directory containing DevBase (see #1728)
v3.2 (not released for N910F):
- Another improvements in add_initd function (details - see v1.3)
- Improvements in set_perm, set_perm_rec and root_from functions (recovery-independent structure)
- Improvements in deodex_from function related to Android MM
- New get_con function in the main sh script (useful for devs)
- BusyBox updated to 1.22.1 (bionic) [no, this is NOT a mistake!]
- Minor intaller's optimizations/bugfixes
v3.1 (starting from N910FXXS1CPC5 DevBase):
- Significantly improved "add_initd" function in the update-binary shell script. Added support for (probably) all available Samsung's platforms (e.g. Exynos) and all available firmwares (based on Android 4.4+)
- In case of installation with Xposed framework installer checks if Xposed Installer app is present in /data/app and installs it automatically if necessary
- Minor intaller's optimizations/improvements
v3.0 (starting from N910FXXS1CPC1 DevBase):
- Entire installer has been re-written from the scratch! All "magic" moved to update-binary which is a shell script. It opens up new possibilities never possible before!
- Introduced new customization method - you can change most frequently switched options just by renaming installer's ZIP file name. Currently supported "strings" in the file name:
"noroot" (means "do not root"), "deodex", "xposed", "initd" (no other comments are required, I hope..)
- Starting from v3.0 init.d support is disabled by default
v2.3 (not released for N910F):
- Added option to install suitable Xposed framework in one step while installing DevBase (for maximum comfort). There is a new xframework.sh script - device independent structure and full Android 5.1+/6.0+ support. Backup method is compatible with well known Xposed uninstallers (tested with @wanam's)
v2.2 (not released for N910F):
- Significantly improved root_supersu.sh script - device independent structure and full Android 5.1+/6.0+ suport including on the fly kernel/ramdisk/sepolicy patching if necessary. SU binaries are still copied to /system as it is the best choice in case of custom ROMs
- Changed order of performed operations in the updater-script due to new root_supersu.sh script advantages
- Installer wipes partitions designated for RAW content (e.g. kernel / recovery image) before writing to them
- Minor additions in dex_injector.sh script related to Android 6.0+
v2.11 (not released for N910F):
- Fixed some minor installer's issues ("set_perm" function in set_csc.sh did not work correctly while using wildcards in the path (it was exclusively FlashFire issue! no problem with TWRP / CWM). Fortunately - only /system/etc/csc_*.txt were really "affected" - it didn't cause real issues as these files are empty)
v2.1 (starting from N910FXXU1POK1 DevBase):
- As some people felt a bit disapointed / worried about DevBase v2.0 ROM file size - finally I have decided to debloat stock system.img (in same way as in v1.x => "Safe De-Bloat") and remove option to install all available bloatware. ROM file size has been reduced from about ~2GB to about ~1.6GB. Note for Devs / Chefs: Do not use Windows tools - you need Linux with "selinux" package installed (to handle SELinux contexts) to mount (rw) system.img safely. If you want to add / change any system content this way - remember about proper chown/chmod/chcon
- Added device check during install as flashing directly to EMMC block is potentially more risky for "other" devices. Installer will abort installation if device is not N910F (trlte(xx)). If you want to try this ROM on other N4 devices - you need to remove this check manually from updater-script (it is more conscious procedure)
v2.0 (starting from N910FXXS1COK2 DevBase):
- Completely new concept of ROM development that makes it easy to build most tuned and nuanced custom ROMs. No more arduous manual analysis or (often) invalid permissions / SELinux contexts taken from a kitchen. The main idea is to flash original, stock /system image as EMMC block (in same way as PC Odin does) instead of extracting ZIP's contents to mounted partition, then setting permissions, then creating symlinks, etc. However, it requires more knowledge related to sh scripts as ALL necessary changes need to be done on the fly, while installing (e.g. by injecting modified classes.dex and/or modified images/xmls to /res/../* into an apk). There are no limits, all depends on your creativity!
- One common ZIP installer for Odexed and Deodexed ROM - you can control it by new "deodexed.rom" entry in options.prop (there is new dex_injector.sh script which can deodex on the fly the whole ROM using previously processed classes.dex files)
- ROM is still Safe De-Bloated by default but removing bloatware during install is not mandatory - you can control it by new "safe.debloat" entry in options.prop (there is new protection included to avoid overfilling /system in case of large size of additional MODs and/or large multi CSC package)
- Major improvements in csc_detect.sh script - it is able to detect previous CSC even in cases of flashing over e.g. CM based ROM and/or previously formatted system partition. However, if detected CSC is NOT included in my multi CSC package, in both mentioned cases it is still not possible to keep detected CSC (as there is no CSC related content to backup / restore)
- Improvements in all sh scripts - additional "metadata" entries in updater-script (related to processed contents) are not required
- Improvements in root_supersu.sh script - it is suitable for 32 and 64 bit OS
- Added full zip support from the command line
v1.x (initial version, further improvements, up to N910FXXU1COJ3 DevBase):
- Built without using a kitchen. All set_metadata* / symlink entries are result of arduous manual analysis. For more info about the method - see hidden content for Devs / Chefs in THIS thread.
- New customization method without using Aroma (options.prop)
- Many useful scripts for easy installation: CSC applying/autodetection, backup/restore of security files, backup/restore of existing CSC package, XML modding on the fly, root, init.d support
- Many small changes and improvements "in the meantime" which I simply do not remember...
- Safe De-Bloated (see post #1 for details)
DOWNLOADS
Useful PC Odin flashable files
>> Recent bootloader versions for SM-N910F <<
>> Recent modem versions for SM-N910F <<
>> Recent kernel versions for SM-N910F <<
(suitable kernel is already included in my ROM)
Note:
To update bootloader and/or modem you have to power off the phone, wait min 10 seconds and then go directly to Download Mode using Vol_down+Home+Power key combination. Load bootloader using BL button and/or modem using CP button in PC Odin. Push "Start".
DOWNLOADS
Optional MODs
I put some of my favorite MOD's - especially for normal users who want to use my rom - as it is. These modifications I have done personally using (bak)smali tools - these are NOT "borrowed" from other custom rom, nor from someone else's thread (thanks to @majdinj & @tdunham for their excellent modding guides). All files are TWRP / CWM / FlashFire flashable ZIPs:
1. Modified Camera app:
- Full functionality of the Camera app in low battery
2. Modified Phone app:
- Disabled increasing ringtone
3. Modified Messages app:
- Disabled SMS to MMS auto-converting
- Increased SMS/MMS recipient limit (10 -> 1000)
- Increased SMS/MMS hour limit (100 -> 1000)
- Disabled SMS / MMS log history in call logs
- Disabled SMS delivery notifications (*)
(*) If you long press a message you can still check if the message has been delivered or not, we do not need to see and hear notifications for every sms. It's annoying to me!
>> MODs for N910F (Marshmallow) <<
>> MODs for N910F (Lollipop) <<
In case of MODs installed to /system - you can restore original apk using backup stored in /data/backup/alexndr
First to wish you good luck, i'll try flashing this and get back to you
thx a lot for modem and bl!!!
So just flashed the ROM now and i can tell that you have done a great job there, kudos for that
and good luck
Pleasure to see you here my friend! Built the metadata using your method the day before yesterday! No kitchen anymore for that! You're absolutely amazing! And yes we're already building custom mod installer. On note 4 it's a must!
Thank you again much!!!
Welcome..Great work, lovely build, thank you. :good:
I wonder how it has to be installed. via Odin or CWM?
mkozlowski said:
I wonder how it has to be installed. via Odin or CWM?
Click to expand...
Click to collapse
It's a recovery flashable zip with odexed stock. To be used as a daily driver as prerooted rom or as dev base for rom cooks.
great to see you here too :good:
A pleasure that you moved!
So I'll give it a shot in few minutes.Hope everything goes fine.
Hello,this rom is stock look?
alexanter the great said:
Hello,this rom is stock look?
Click to expand...
Click to collapse
yes
Welcome
Great to see you here Alexndr ..
alex , thanks for your work again , the best , as always , but lot of people report this build Lollipo 5.0.1 has a very quick battery draining , do you note that ? Thank you !
_Alexndr I flashed your rom. Everything is working great. Only issue is S Health (it stoped). Any idea to fix it? Thanxs in advance.
radiobicho said:
_Alexndr I flashed your rom. Everything is working great. Only issue is S Health (it stoped). Any idea to fix it? Thanxs in advance.
Click to expand...
Click to collapse
did you clear cache and data ? updated ?
radiobicho said:
_Alexndr I flashed your rom. Everything is working great. Only issue is S Health (it stoped). Any idea to fix it? Thanxs in advance.
Click to expand...
Click to collapse
Happened to me after flashing stock. I cleared data to S health and Health Services. After that, peachy
Sent from my SM-G900F using Tapatalk

[ROM][N950F/DS/N][ALEXNDR] * SGDUG7 * DevBase v7.4 * DeX, Encryption support [Aug-20]

Important notes for Developers / Chefs !!!
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 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
EDIT: Note related to creating "$ZIPFILE" which contains a file larger than ~4GB (e.g. system.img): the order of adding content to "$ZIPFILE" is very important! META-INF need to be added as the first dir in the archive! Example (my DevBase case):
Code:
zip -r -9 N950FXXU3xxxx_DevBase.zip META-INF options.prop ALEXNDR
It seems that misunderstanding of the above problem is the main reason why many devs give up and do not use my base as a pattern.
Hello
I have decided to create a pure base with my unified installer (should work with many other Samsung devices), 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 for N950F/DS contains slightly modified OXM multi CSC package, list of available CSCs is as follow:
ACR, AFG, AFR, ARO, ATO, AUT, BGL, BNG, BRI, BTC, BTU, CAC, CAM, CEL, CHO, COO, CPW, DBT, DKR, ECT, EGY, EON, ETL, EUR, GLB, ILO, INS, ITV, KSA, LAO, LUX, LYS, MAT, MID, MM1, MWD, MYM, NEE, NPL, ORX, PAK, PCL, PHE, PHN, PTR, ROM, SEB, SEE, SEK, SER, SIN, SKZ, SLK, SMA, SMP, STH, TEB, THL, THR, TMC, TPA, TPH, TTT, TUN, TUR, WTL, XEF, XEH, XEO, XEU, XFA, XFE, XME, XSG, XSP, XTC, XXV, ZTO
ROM for N950N contains slightly modified OKR multi CSC package, list of available CSCs is as follow: KTC, LUC, SKC
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 - more informations you can find in related older threads, e.g. HERE
ALEXNDR.N950FXXSGDUG7:
1. Base:
- Odexed (original stock files) + stock kernel
- Multi CSC OXM (list of natively supported CSC as above) (*)
- Removed KNOX related content (useless on rooted phones)
- Removed Rlc.apk & vaultkeeperd (to avoid "OEM unlock issue")
- Rooted systemlessly (Magisk v23.0) (*)
- All original features are present and works (except KNOX related apps)
- Added "App Lock" feature (Settings -> Advanced features)
- 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 "Show network speed" toggle (Settings -> Display -> Status bar)
- 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] (*)
- NOTE: Applies to Oreo DevBase. There is no Xposed for Pie yet
4. Virtual / physical Safe De-Bloat (more info below) (*)
What does it mean and why is it called "safe"?
- ONLY apps available in stores are removed / skipped in DevBase, so you can easy (re)install any of these app if you like
- ONLY pre-installed system apps are removed / skipped, DevBase installer will never touch any updated app nor app installed manually from a store
- By default virtual Safe De-Bloat is applied with exact same effect as physical (completely skips apps at boot). You can force to delete apps physically but it is recommended only if you really need more space in /system
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 / skipped apps list:
Excel
Facebook
LinkedIn
OneDrive
PowerPoint
Word
(*) - 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. Allowed values:
# true - install Magisk as root solution (default)
# false - do not root device
root=true
# 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
xposed=auto
# CSC Selection. Allowed values:
# KCSC - Keep current CSC, recommended in most cases (automatic selection or keep current CSC contents).
# You can force the use of natively supported CSC by typing (use UPPERCASE!): ACR, AFG, AFR, ARO, ATO, AUT,
# BGL, BNG, BRI, BTC, BTU, CAC, CAM, CEL, CHO, COO, CPW, DBT, DKR, ECT, EGY, EON, ETL, EUR, GLB, ILO, INS,
# ITV, KSA, LAO, LUX, LYS, MAT, MID, MM1, MWD, MYM, NEE, NPL, ORX, PAK, PCL, PHE, PHN, PTR, ROM, SEB, SEE,
# SEK, SER, SIN, SKZ, SLK, SMA, SMP, STH, TEB, THL, THR, TMC, TPA, TPH, TTT, TUN, TUR, WTL, XEF, XEH, XEO,
# XEU, XFA, XFE, XME, XSG, XSP, XTC, XXV, ZTO
CSC=KCSC
# Custom CSC Features. Allowed value in each line: <Example_line>value</Example_line>
<CscFeature_Common_SupportWcdmaInSlave>true</CscFeature_Common_SupportWcdmaInSlave>
<CscFeature_VoiceCall_ConfigRecording>RecordingAllowed</CscFeature_VoiceCall_ConfigRecording>
<CscFeature_Setting_EnableMenuBlockCallMsg>true</CscFeature_Setting_EnableMenuBlockCallMsg>
<CscFeature_Setting_CustNetworkSelMenu4>LTEONLY</CscFeature_Setting_CustNetworkSelMenu4>
<CscFeature_Setting_SupportRealTimeNetworkSpeed>true</CscFeature_Setting_SupportRealTimeNetworkSpeed>
<CscFeature_SmartManager_ConfigSubFeatures>roguepopup|autoclean|autorestart|applock|trafficmanager</CscFeature_SmartManager_ConfigSubFeatures>
<CscFeature_SmartManager_DisableAntiMalware>true</CscFeature_SmartManager_DisableAntiMalware>
<CscFeature_SystemUI_SupportRecentAppProtection>true</CscFeature_SystemUI_SupportRecentAppProtection>
<CscFeature_Message_DisplaySmsTimeAs>server</CscFeature_Message_DisplaySmsTimeAs>
<CscFeature_Message_DisplayMmsTimeAs>server</CscFeature_Message_DisplayMmsTimeAs>
<CscFeature_Camera_ShutterSoundMenu>true</CscFeature_Camera_ShutterSoundMenu>
<CscFeature_RIL_ForceConnectMMS>true</CscFeature_RIL_ForceConnectMMS>
# Custom physical debloat list. Allowed value in each line: path to app's directory in /system.
# (NOTE: wildcards are allowed here)
/system/*app/SamsungPass*
/system/*app/SamsungPay*
/system/*app/SecureFolder*
/system/app/SecurityLogAgent
/system/priv-app/Fast
/system/priv-app/Rlc
# 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!)
Excel_SamsungStub.apk
Facebook_stub.apk
FBAppManager_NS.apk
FBInstaller_NS.apk
FBServices.apk
FotaAgent.apk
LinkedIn_SamsungStub.apk
OneDrive_Samsung_v3.apk
PowerPoint_SamsungStub.apk
Word_SamsungStub.apk
NEW !!! Starting from DevBase v3.0 there is a new customization method - you can change frequently switched root options or encrypt your device just by renaming installer's ZIP file name (instead of editing options.prop file). Currently supported "strings" in the file name: "noroot", "encrypt", "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 - do not root device
(place "noroot" string anywhere in the ZIP file name, e.g. "N950Fxxx_DevBase_v6.x_noroot.zip")
Regardless of the above root options, starting from DevBase v4.4+, you can also use "encrypt" option (place "encrypt" string anywhere in the ZIP file name, e.g. "N950Fxxx_DevBase_v6.x_encrypt.zip"). All your data will be encrypted "on-the-fly" at next boot after ROM update/reinstall. Wipe data is NOT necessary to use this option. You will NOT lose your data & apps but it is extremely important - do not interrupt encryption process during this "special" boot! Booting can take much longer and you may think it is a bootloop, but it isn't! If you have a large amount of used data - it is recommended to connect your phone to the charger during boot (and open a beer to avoid heart attack while waiting). You do not need to use "encrypt" option again in case of another DevBase update(s) - please read carefully notes below.
In DevBase ROM 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. "N950Fxxx_DevBase_v6.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 ROM 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_N950Fxxx_DevBase_v6.x.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. "N950Fxxx_DevBase_v6.x_xposed.zip". Next ROM's updates will detect and apply Xposed profile automatically, unless you wipe /system - then auto detection is not possible.
Notes related to encrypted devices:
How to confirm that your data are encrypted:
1. Go to TWRP and check if it is possible to mount /data. If NOT - all is ok "Failed to mount '/data' (invalid argument)" will be the a frequent message that you need to like in the future
How to update DevBase ROM to a newer version:
1. Copy a newer DevBase ROM to extSdCard or OTG storage (you do NOT need to use "encrypt" option in ZIP file name again, if your device is encrypted already - it just remain encypted)
2. Go to TWRP -> "Install" and flash ZIP file from extSdCard or OTG
3. That's all
The risk of data loss in case of encrypted devices, depending on the ROM scenario:
1. DevBase only: VERY LOW RISK (*)
2. Coming from other custom ROM with encrypted data - MEDIUM RISK (recommended backup)
3. Installing other custom ROM over DevBase - MEDIUM RISK (recommended backup, anyway)
4. Installing pure stock (using Odin) over DevBase (or over any other custom ROM) - VERY HIGH RISK (not recommended!)
(*) There is still a risk to get into a bootloop if you install stuffs like: Xposed framework, incompatible Magisk or Xposed module, incompatible systemless MOD in /data/devbase/system, etc. In case of bootloop just try to use "rescue" option described above
EDIT (Dec-01-2019): Very important info!!! Encryption will not be possible if you format /data using new TWRP (3.3.x-x). If you prefer encrypted device - it is highly recommended to use TWRP 3.2.3-x to format /data. If you are not sure which version you have used to format data - it is much better to perform clean install using TWRP 3.2.3-x to format /data before forcing encryption. More info HERE
Notes related to EFS backup:
During install, my ROM's installer always performs EFS backup to {storage}/.backup/efs (where {storage} may be /external_sd, /usb-otg, /sdcard - in the preferred order). It is recommended to copy EFS backup occasionally outside the phone and store in safe location (PC, OTG, etc). There are 2 backups - when you first time installed my ROM (efs_backup.tar.gz) and recent, created additionally, just in case (efs_recent.tar.gz). Most useful will be most probably the first one (efs_backup).
You probably will never need these files, but sometimes s**t happens and restoring EFS backup may be the only one way to rescue your device!
When do I need to restore EFS backup?
- lost/invalid IMEI number
- proper IMEI but unable to connect to the network
- connected to the network but unable to make a call and/or transfer data
- unrecoverable bootloop (even after clean DevBase install with default settings)
NOTE: In contrast to many other custom ROMs - my installer uses gzip compression (*.img.gz) to store EFS backup(s). Restore command for your device is stored in txt file in the same directory with EFS backup. If you forgot command - you can read txt file containing proper command @ PC (Notepad) or even directly form TWRP using Terminal's 'cat' command, e.g.:
Code:
cat /external_sd/.backup/efs/efs_backup.txt
NOTE: Do not panic, read the txt file peacefully and type command exactly as it is in TWRP's Terminal, then tap blue [enter] button. After all - please reboot device. If the problem was EFS related - your device just has been rescued
Installation:
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!
Wipe data is NOT required if you are coming from stock ROM (already rooted) 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 format /system before install my DevBase (my installer cleans your system well enough!).
Credits:
@samsung for awesome device & stock firmware base
@Chainfire for systemless SuperSU and a lot of inspiration
@topjohnwu for Magisk and another inspiration
@rovo89 for Xposed framework & Xposed Installer app
@Mentalmuso & @kairi_zeroblade for initial help with N8
@Tkkg1994, corsicanu & @kairi_zeroblade for TWRP with Oreo data fix
@dr.ketan for being helpful whenever needed
@Zackptg5, @osm0sis & @jcadduono for no-verity*
@fei-ke for omc-decoder
Hit Thanks button if you like my work. If you really appreciate my work - feel free buy me a coffee/beer (or flowers/wine for my wife who is patiently enduring my hobbies) https://www.paypal.com/donate/?business=RFGVQYRC34RVQ&currency_code=EUR
Due to the fact, that some countries banned PayPal - I have created also Patreon site: https://www.patreon.com/_alexndr
Changelog
v7.4 (starting from N950FXXSFDUD1 DevBase):
- Fixed unzip issue which caused unexpected installation termination - applies to TWRP 3.5.0_9-1 and newer
v7.3 (starting from N950FXXSADTB1 DevBase):
- Fixed bootloop issue in case of Android Q and "noroot" scenario - thanks to @Zackptg5 for the up to date dm-verity disabler
v7.2 (starting from N950NKSU5DTB1 DevBase):
- Fixed bootloop issue in case of Android Q and encrypted devices (applies to dirty update)
v7.1 (starting from N950FXXS8DSL3 DevBase):
- Potential fix for "make_ext4fs: not found" error in newer TWRP versions and in result "Failed! Not enough space..." message appears while applying CSC during install (applies to N960x devices)
v7.0 (not released for N950F):
- Initial support for Android Q / system-as-root devices
v6.0 (starting from N950FXXS5CRK5 DevBase):
- Introduced logging entire installation process (to devbase_install.log file, placed in /data or /cache in case of encrypted devices). These logs may significantly increase the possibility of my help in case of problems with/after installation
- Major imrovements/bugfixes/optimizations related to Android Pie support (e.g. takes care about special SELinux contexts for /odm content, introduced in Pie)
- Removed SuperSU support. Changed allowed "root" variable value in options.prop to true/false (backward compatible with old options.prop file)
- Removed "skipblcp" option - baseband/modem will be always updated, bootloader need to be flashed separately (update is usually not mandatory)
v5.9 (starting from N950FXXU4CRG3 DevBase):
- Changed device detection method to bootloader's prefix (instead of ro.product.*)
- Improved support for applying custom mods automatically at each ROM's install/update, introduced in v5.6 (added support for etc, fonts, media & usr directories in {storage}/devbase/system)
- Added support for custom {storage}/devbase/post-installation.sh script
v5.8 (starting from N950FXXU3CRE5 DevBase):
- Improved unzip_flash function in the installer to detect properly more flashing errors (e.g. EXT4 partition mismatch)
v5.7 (starting from N950NKSU3CRD6 DevBase):
- Improved/expanded built-in RMM lock prevention (thanks to @jesec for idea of overriding properties via factory.prop)
- OEM unlock status will always be displayed correctly in Developer options (to avoid confusion) with stock kernel included in the DevBase ROM
v5.6 (starting from N950FXXU3CRD7 DevBase):
- Added "App Lock" feature (Settings -> Advanced features)
- Added Xposed framework as installation option (it is NOT forced by default - you need to force it manually while installing with Xposed first time, e.g. by "xposed" string in ZIP's file name, but next ROM's updates will detect and apply Xposed profile automatically, unless you wipe /system - then auto detection is not possible)
- Added support for applying custom mods automatically at each ROM's install/update by placing modded apps in {storage}/devbase/system/(priv-)app or placing modded framework files in {storage}/devbase/system/framework (where {storage} may be: /sdcard, /external_sd or /usb-otg)
v5.5 (starting from N950FXXU3CRC7 DevBase):
- Added support for flashing optional, CSC related partitions ($OMR, $PRELOAD)
- Added possibility to update recovery (optional, performs update if exists $NAME/images/recovery.img)
- Return to using only the original XML files in the CSC package (thanks to @fei-ke for omc-decoder)
- Partition(s) may be wiped only by writing new block's image
- Minor optimizations / improvements in the installer
v5.4 (starting from N950NKSU3CRC2 DevBase):
- Big step forward in DevBase ROM customization ability - almost all current ROM features (hidden up to v5.3) have been moved to options.prop (you will be able to easy add new or remove current feature)
- Return to dm-verity-opt-encrypt boot patcher if necessary (wherever it works well, there are still devices which need "no_verity" function introduced in v5.1)
- Initial support for forcing (changing) CSC in case of devices with /odm as CSC location
- Minor optimizations / improvements in the installer
v5.3 (not released for N950F):
- Improved algorithm of search & change "ro.security.vaultkeeper.feature" property to 0 (/system & /vendor)
v5.2 (starting from N950FXXU3CRC1 DevBase):
- Added support for devices with /odm as CSC location
- Added support for flashing $ODM, $VENDOR, $KEYSTORAGE, $DQMDBG images
- Added support for custom debloat list and custom CscFeature list in options.prop
- options.prop file format has been changed to CR/LF (Windows) - more noob-proof solution, user can edit a copy of options.prop file even in Windows Notepad (the installer still supports ANY text format of options.prop file - Win/Unix/MAC)
v5.1 (starting from N950FXXU3BRB5 DevBase):
- Created new "no_verity" function in the installer, compatible with Samsung's Oreo, based on @Chainfire's patch tool (no-verity-opt-encrypt has been removed). In case of Oreo & Magisk as root solution - "no_verity" function will be used as additional support for patching fstab* (as long as Magisk does not do it correctly)
v5.0 (starting from N950FXXU3BRA8 DevBase):
- SYSTEMLESS DevBase has been removed due to the fact, that in case of modern devices/firmwares we need to perform many changes physically in /system anyway, so it loses the sense of use here. If you liked it - you can still install it separately from HERE (it does not need to be re-installed after ROM update as it is installed in /data)
- Added "skipblcp" option to let users skip BL/CP update (additionally it disables auto-reboot when the installer finished work as it is just not necessary then)
- Added "phydebloat" option to let users choose beetween virtual and physical debloat (to get more space in /system)
- Other (minor) optimizations & improvements
v4.6 (not released for N950F):
- Initial support for devices with /system/omc as CSC location
- SYSTEMLESS DevBase updated to v2.0 (see changelog HERE)
- Added possibility to force CSC by renamig ZIP filename. Due to the fact that trere are many different CSC and it is possible that $ZIPNAME may contain a CSC accidentally - to force CSC you need to put CSC in $ZIPNAME at the beginning and CSC must be followed by "_". Example $ZIPNAME (to force CSC DBT): "DBT_N950FXXU3xxxx_DevBase.zip"
- Added auto efs-backup during install. Installer will create first backup (efs_backup.img.gz) and recent backup (efs_recent.img.gz). The installer will prefer external storage as default backup location (/external_sd or /usb-otg) due to encryption support. MD5 sum and restore command will be stored in efs_backup.txt or efs_recent.txt file
- Other (minor) optimizations & improvements, e.g. added more error messages in case of something went wrong during install
v4.5 (not released for N950F):
- Added new "rescue" option (readable only as string in ZIP file name due to the fact, that we will need this option rarely). It can be a potentially very helpful option in case of bootloop @ encrypted device, caused by a systemless mod/module/xposed stored on /data (without access to /data from TWRP) - more info in post #1
- SYSTEMLESS DevBase updated to v1.14 (see changelog HERE)
v4.4 (not released for N950F):
- Added new "encrypt" option (readable only as string in ZIP file name due to the fact, that we need to do it only once). Now you can easy encrypt all data in your device, just during the ROM upgrade (without data loss).
- SYSTEMLESS DevBase updated to v1.13 (see changelog HERE)
v4.3 (not released for N950F):
- "root.supersu" & "root.magisk" variables in the options.prop file have been replaced by one "root" variable (dropped possibility to install both - SuperSU & Magisk - due to the fact that Magisk v13+ does not support SuperSU as root solution)
- SYSTEMLESS DevBase updated to v1.9 v1.12 (see changelog HERE)
v4.2 (not released for N950F):
- Added possibility to add systemlessly NEW apps to /data/devbase/system/(priv-)app (up to 5 apps in "app" & 5 apps in "priv-app"). The only condition is that you need to rename its directories to CustomApp[1...5] (e.g. CustomApp1, CustomApp2, etc..). These apps will remain even if you flash a new DevBase as corresponding dummy directories will exist in future DevBase updates
- In case of DevBase update or re-installation - installer will not remove your custom entries in /data/devbase/system/build.prop and in *.xml files placed in /data/devbase/system/csc
- SYSTEMLESS DevBase updated to v1.6 v1.8 (see changelog HERE)
v4.1 (not released for N950F):
- Added full Magisk support - MagiskSU is now default root solution (ROM should pass SafetyNet with Magisk Hide enabled in settings)
- Since systemless Xposed does not need to be re-installed every new DevBase I will release (in case of using the same root solution) - it makes no sense to keep it anymore as installation option
- SYSTEMLESS DevBase updated to v1.5 (see changelog HERE)
v4.0 (not released for N950F):
- A huge step in the systemless direction! DevBase installer now installs pure odexed stock ROM (just slightly debloated), then systemless SuperSU, then systemless DevBase, then (optionally) systemless Xposed
- All Knox related applications are available again (except SecurityLogAgent, to prevent annoying security alerts)
- Fake KNOX 0x0 status (check it in PhoneINFO app) - most of Knox related apps should work again, like in case of untouched KNOX flag
- All mods known from previous DevBase versions (up to v3.x) now are applied systemlessly - all modified files (including modded apps) are placed in /data/devbase/system instead of physical /system partition. Mods section (#4) has been updated to install mods to /data/devbase/system/(priv-)app if systemless DevBase has been detected (otherwise will be installed as usual, to /system)
- Deodex on-the-fly feature has been removed. If you really need deodexed ROM - you can install someone else's deodexed ROM, then systemless DevBase as an overlay
- Init.d support has been removed as it is deprecated (use su.d instead)
v3.8 (not released for N950F):
- Added hexpatch to root_from function (support for SM-N930x, thanks to @Chainfire)
v3.7 (not released for N950F):
- Another major improvement/bugfix in deodex_from function (full support for 64 bit OS)
v3.6 (not released for N950F):
- Major improvement/bugfix in deodex_from function (added "-g" switch to zip command - finally no issues in case of deodexed Android 6.0.1)
v3.5 (not released for N950F):
- Improved root_from function (Android 5.1+) - added "setprop selinux.reload_policy 1" removal from init.rc (thanks to @Chainfire)
- Fixed bug in new alghoritm for checking whether stock recovery should be installed or not (introduced in v3.4)
- Added new functionality - installer will store a copy of patched stock kernel in /data for those who flashed custom kernel but for some reasons want to revert to the stock kernel (Android 5.1+)
v3.4 (not released for N950F):
- Completely changed alghoritm for checking whether stock recovery should be installed or not (it applies to FlashFire users). Now it depends on previously used recovery (instead of checking KNOX flag which was not 100% reliable across devices/recoveries)
v3.32 (not released for N950F):
- Updated set_csc, kcsc_backup, kcsc_restore functions to support more devices
- Updated partition detection algorithm to support more devices
- Fixed path to options.prop file placed in external sdcard in case of updating Marshmallow while using FlashFire
- Minor intaller's optimizations/bugfixes
v3.31 (not released for N950F):
- Potential fix for reported problems with root (rare cases)
v3.3 (not released for N950F):
- Improved method of reading options from ZIP file name (previous was directory/path sensitive also)
- Added support to mod_csc function for other than UNIX text format (it's a little ridiculous, but in case of some CSCs - original /system/csc/other.xml file has Windows or MAC text format!)
- Initial support for options.prop file in CRLF text format (DOS/Windows)
v3.21 (not released for N950F):
- Fixed installer's issue if there is a [space] present in ZIP filename or a directory containing DevBase (see #1728)
v3.2 (not released for N950F):
- Another improvements in add_initd function (details - see v1.3)
- Improvements in set_perm, set_perm_rec and root_from functions (recovery-independent structure)
- Improvements in deodex_from function related to Android MM
- New get_con function in the main sh script (useful for devs)
- BusyBox updated to 1.22.1 (bionic) [no, this is NOT a mistake!]
- Minor intaller's optimizations/bugfixes
v3.1 (not released for N950F):
- Significantly improved "add_initd" function in the update-binary shell script. Added support for (probably) all available Samsung's platforms (e.g. Exynos) and all available firmwares (based on Android 4.4+)
- In case of installation with Xposed framework installer checks if Xposed Installer app is present in /data/app and installs it automatically if necessary
- Minor intaller's optimizations/improvements
v3.0 (not released for N950F):
- Entire installer has been re-written from the scratch! All "magic" moved to update-binary which is a shell script. It opens up new possibilities never possible before!
- Introduced new customization method - you can change most frequently switched options just by renaming installer's ZIP file name. Currently supported "strings" in the file name:
"noroot" (means "do not root"), "deodex", "xposed", "initd" (no other comments are required, I hope..)
- Starting from v3.0 init.d support is disabled by default
v2.3 (not released for N950F):
- Added option to install suitable Xposed framework in one step while installing DevBase (for maximum comfort). There is a new xframework.sh script - device independent structure and full Android 5.1+/6.0+ support. Backup method is compatible with well known Xposed uninstallers (tested with @wanam's)
v2.2 (not released for N950F):
- Significantly improved root_supersu.sh script - device independent structure and full Android 5.1+/6.0+ suport including on the fly kernel/ramdisk/sepolicy patching if necessary. SU binaries are still copied to /system as it is the best choice in case of custom ROMs
- Changed order of performed operations in the updater-script due to new root_supersu.sh script advantages
- Installer wipes partitions designated for RAW content (e.g. kernel / recovery image) before writing to them
- Minor additions in dex_injector.sh script related to Android 6.0+
v2.11 (not released for N950F):
- Fixed some minor installer's issues ("set_perm" function in set_csc.sh did not work correctly while using wildcards in the path (it was exclusively FlashFire issue! no problem with TWRP / CWM). Fortunately - only /system/etc/csc_*.txt were really "affected" - it didn't cause real issues as these files are empty)
v2.1 (not released for N950F):
- As some people felt a bit disapointed / worried about DevBase v2.0 ROM file size - finally I have decided to debloat stock system.img (in same way as in v1.x => "Safe De-Bloat") and remove option to install all available bloatware. ROM file size has been reduced from about ~2GB to about ~1.6GB. Note for Devs / Chefs: Do not use Windows tools - you need Linux with "selinux" package installed (to handle SELinux contexts) to mount (rw) system.img safely. If you want to add / change any system content this way - remember about proper chown/chmod/chcon
- Added device check during install as flashing directly to EMMC block is potentially more risky for "other" devices. Installer will abort installation if device is not N910F (trlte(xx)). If you want to try this ROM on other N4 devices - you need to remove this check manually from updater-script (it is more conscious procedure)
v2.0 (not released for N950F):
- Completely new concept of ROM development that makes it easy to build most tuned and nuanced custom ROMs. No more arduous manual analysis or (often) invalid permissions / SELinux contexts taken from a kitchen. The main idea is to flash original, stock /system image as EMMC block (in same way as PC Odin does) instead of extracting ZIP's contents to mounted partition, then setting permissions, then creating symlinks, etc. However, it requires more knowledge related to sh scripts as ALL necessary changes need to be done on the fly, while installing (e.g. by injecting modified classes.dex and/or modified images/xmls to /res/../* into an apk). There are no limits, all depends on your creativity!
- One common ZIP installer for Odexed and Deodexed ROM - you can control it by new "deodexed.rom" entry in options.prop (there is new dex_injector.sh script which can deodex on the fly the whole ROM using previously processed classes.dex files)
- ROM is still Safe De-Bloated by default but removing bloatware during install is not mandatory - you can control it by new "safe.debloat" entry in options.prop (there is new protection included to avoid overfilling /system in case of large size of additional MODs and/or large multi CSC package)
- Major improvements in csc_detect.sh script - it is able to detect previous CSC even in cases of flashing over e.g. CM based ROM and/or previously formatted system partition. However, if detected CSC is NOT included in my multi CSC package, in both mentioned cases it is still not possible to keep detected CSC (as there is no CSC related content to backup / restore)
- Improvements in all sh scripts - additional "metadata" entries in updater-script (related to processed contents) are not required
- Improvements in root_supersu.sh script - it is suitable for 32 and 64 bit OS
- Added full zip support from the command line
v1.x (initial version, further improvements, not released for N950F):
- Built without using a kitchen. All set_metadata* / symlink entries are result of arduous manual analysis. For more info about the method - see hidden content for Devs / Chefs in THIS thread.
- New customization method without using Aroma (options.prop)
- Many useful scripts for easy installation: CSC applying/autodetection, backup/restore of security files, backup/restore of existing CSC package, XML modding on the fly, root, init.d support
- Many small changes and improvements "in the meantime" which I simply do not remember...
- Safe De-Bloated (see post #1 for details)
Optional MODs
EDIT: Q: Why these MODs are outdated? A: Please read HERE
[WORK IN PROGRESS, MODDING HAS LOW PRIORITY]
These modifications I have done personally using (bak)smali tools - these are NOT "borrowed" from other custom ROM, nor from someone else's thread (thanks to @majdinj, @tdunham, @Grouxho & @yash92duster for their excellent modding guides). All ZIP files are TWRP flashable:
>> MODs for SM-N950F/DS/N <<
TIP: Are you tired with re-installing your favorite MODs every time you update this ROM? Just take advantage of the new DevBase feature, intruduced in v5.6 (see "Changelog"). It is enough to put your favorite apks and/or jars in /sdcard/devbase/system/(priv-)app (or ../framework) and these MODs will be detected & applied automatically every time you update this ROM. You can also use your /external_sd to store your favorite MODs (it is mandatory if you are using encryption).
Example for "N950x_DisableHighVolumeWarning.zip" (modded SystemUI.apk):
- unzip SystemUI.apk file from my flashable MOD
- create /sdcard/devbase/system/priv-app/SystemUI directory
- place modded SystemUI.apk in above directory
Next time you will update my ROM - my installer will use modded SystemUI.apk instead of stock app included in my ROM
NOTE: Use this feature consciously and carefully! It may happen that your MOD is not compatible with a newer Samsung's base (especially in case of major Android update)! I will warn you about it, but only in case of MY MODs, I am not able to predict what kind of mods you are using.
Download ROM
SM-N950F/DS:
>> N950FXXSGDUG7_DevBase_v7.4.zip << (Android 9.0, updated Aug-20-2021, more info HERE)
SM-N950N:
>> N950NKSU5DUC2_DevBase_v7.4.zip << (Android 9.0, updated Jun-06-2021, more info HERE)
SM-N950F/DS/N repository:
>> Note 8 repository << [ AFH | MEGA ]
Note:
Check MD5 sum BEFORE flash (useful TOOL), because flashing damaged or incomplete ZIP files could (soft) brick your phone! Correct MD5 sum is shown on the AndroidFileHost website while downloading.
What do you mean by : ( - All Knox related applications are available again (except SecurityLogAgent, to prevent annoying security alerts)
- Fake KNOX 0x0 status (check it in PhoneINFO app) - most of Knox related apps should work again, like in case of untouched KNOX flag .)
Is folder lock and samsung pay will work again ?
taoufik.om said:
What do you mean by : ( - All Knox related applications are available again (except SecurityLogAgent, to prevent annoying security alerts)
- Fake KNOX 0x0 status (check it in PhoneINFO app) - most of Knox related apps should work again, like in case of untouched KNOX flag .)
Is folder lock and samsung pay will work again ?
Click to expand...
Click to collapse
It does not apply to S8 and N8, unfortunately... There are many workarounds for S7, for example - Secure Folder works (with fake KNOX 0x0). But S7 is the last phone in which Secure Folder works despite root..
Nice to see you [emoji6]
Sent from my [device_name] using XDA-Developers Legacy app
I'm genuinely curious will try later today and report.
Sent from my Galaxy Note8 using XDA Labs
The creator of the most stable rom to note 4 now we have it in the forum Note 8?.
Welcome!!!!
Enviado desde mi Galaxy Note 8 mediante Tapatalk
Such a shame that I have the N9500, your Note 4 ROM was unmatched! However, I don't think I will be needing to root the N9500 as everything seems to work out of the box!
Sent from my SM-N9500 using Tapatalk
Tried few times to download the file on my note still corrupted. Should i do via computer ?
Sent from my SM-N950F using XDA-Developers Legacy app
Tried this rom and Google play wouldn't work in the setup kept restarting and force closing. Tried restarting phone and now I'm stuck in jail. Also tried flash original firmware. But XSA firmware bl is xxu2 and it keeps failing. Now saying insert simcard. Smart switch won't let me do the recovery as note8 doesn't inialise anymore apparently. Any suggestions? Worried if flash btu xxu3 firmware that my phone will be locked to that specific country. With the new security patches
Screenshot plz
thank you
i dream it you make it thank you again i install all your rom on my note 4
i download ,backup and flash
Sams26 said:
Tried this rom and Google play wouldn't work in the setup kept restarting and force closing. Tried restarting phone and now I'm stuck in jail. Also tried flash original firmware. But XSA firmware bl is xxu2 and it keeps failing. Now saying insert simcard. Smart switch won't let me do the recovery as note8 doesn't inialise anymore apparently. Any suggestions? Worried if flash btu xxu3 firmware that my phone will be locked to that specific country. With the new security patches
Click to expand...
Click to collapse
I'm sorry but you have already flashed U3BRA8 Bootloader & U3BRA2 Modem - all necessary files were included in my ROM and flashed automatically...
If you were worried about the U3xxxx bootloader - why don't you asked if it is inside the ROM or not? I will add note about included BL in post #1 ASAP
About FCs after clean install - I have an idea obout potential reason - some CSC files are not stock in my ROM (I mean original but just unencrypted while in the stock ROM these are encrypted).
For everyone who have/had a problem after flashing v4.6b - please give one more chance to this ROM and flash this version (v4.6a):
>> N950FXXU3BRA8_DevBase_v4.6a.zip <<
It contains only pure stock, unmodified images (including /system) & original CSC files (encrypted, so CscFeature MOD will not work). It will let us verify if my installer works well with Note 8 or not and if my work need some refinement...
EDIT: @Sams26 - your phone is technically OK despite the behavior you described - the only thing you need to recover it is just flash pure U3BRA2 or U3BRA8 stock ROM matched to your current CSC (or with multi CSC package containing your current CSC)
can I install this rom on note 8 n950n
Slight OT:
Used your ROM on Note 4 and S7E and they were fabulous.
One thing bothering me is your "unrooted" status and wanting to try blindly.
Appreciate the thought of universal installer and all, but man there are these small probs which are bothersome (BL version, oem unlock disappearing, CSC) if a ROM isn't working correctly.
N950FXXU3BRA8_DevBase_v4.6a.zip mentioned above has been uploaded
bouloss said:
can I install this rom on note 8 n950n
Click to expand...
Click to collapse
NO, don't even try as my ROM contains only BL/CP for N950F (my installer contains exact model detection, but please do not tempt fate anyway)
SaadatM said:
Slight OT:
Used your ROM on Note 4 and S7E and they were fabulous.
One thing bothering me is your "unrooted" status and wanting to try blindly.
Appreciate the thought of universal installer and all, but man there are these small probs which are bothersome (BL version, oem unlock disappearing, CSC) if a ROM isn't working correctly.
Click to expand...
Click to collapse
I have worked (slowly but scrupulously) over 2 years across many owned flagships to create the universal installer which is capable to support ANY Samsung device. My goal is to support successfully more models which I have never had in my hand. I believe it is possible and that it would make sense. If this thread turns out to be a success - I will create a thread for S8 / S8 +, then maybe for S9 in the future, who knows (NOTE: no promises )
About some bothersome BL updates - I know the problem because similar irreversible update has been released for S7/S7edge (it is called U2xxxx / S2xxxx in case of S7). New (sometimes bothersome) FWs will be still released and we we should enjoy them anyway. Will you skip the update to Oreo because of the new BL ??
Disappearing OEM unlock option IMHO is not a problem at all - you do not need "OEM unlock" option in "developer settings", you just need to remove Google account from your pure stock before you root device first time, and you will OEM unlock your device by doing this. You need to wipe all data while rooting first time ANYWAY so I don't understand the concerns related to the lack of "OEM unlock" in the developer settings. Your device will never lock again itself as long as you have custom recovery and/or just rooted device
why no N support ? weird it doesn't support N since everything here supports it.
Google play service still keep crashing
Sent from my [device_name] using XDA-Developers Legacy app

AMLogic S912 & S905 FAQ ✰ Fix Root, Hide SU, Backup/Restore... ✩ Media Player TV Box!

AMLogic S912 & S905 FAQ ✰ Fix Root, Hide SU, Backup/Restore... ✩ Media Player TV Box!
AMLogic S905 & S912 FAQ, Resources, Hints & Tips ✩ Fixing Root, Masking SU, Switch SuperUser (SU), Backup & Restore!
~ Android Media Centres, Streaming Players, Smart TV's & Multimedia TV Boxes ~​
SUMMARY:
This topic provides help and assistance to users of all levels, giving access to resources for all AMLogic S905 and S912 media centers and TV boxes (and any other compatible devices), and provides detailed steps and examples - all fully-tested. I have writen my own documentation for myself and friends, so decided to simply cleaned it all up and pasted it here to share.
There is limited support for these Chinese no-name clones, so I hope this is helpful to others, and others will share their knowledge too!
Warning! Beware of S905W devices (e.g. X96 Mini). The "S905W" has inferior specifications, a crippled CPU (1.5GHz), has no 3D support (among other limitations and missing features). Always buy a S905x or S912 CPU device.
Tested on the following hardware specs: ($40-50 & $80-$120 AUD from Ebay/GearBest)
- CPU: Amlogic S905x Cortex-A53 Quad-Core 1.5GHz -&- AML S912 Cortex-A53 Octo-Core 2.0GHz.
- GPU: ARM Mail-450MP5 Penta-Core 750MHz -&- Mali-T820MP3 Tri-Core 750MHz. [I question these Chinese Specs!]
- RAM: 1GB, 2GB, 3GB or 4GB (DDR3\DDR4); FLASH 'ROM': 16GB, 32GB+ (EMMC).
- OS: Android 6.0.x Marshmallow.​
Magisk Topics » Magisk Stable | Magisk Beta | Support Q&A
Downloads » Magisk Manager | Magisk Flashable | Magisk Clean-up v20180429 | v20180328
Requirements Magisk uses logging ('logd' service) to hide/mask root. Magisk Hide needs Kernel v3.8+ or newer (e.g. My Galaxy S5 uses v3.10.40 & X96 TV box has v3.14.29).
Troubleshooting Documentation, Wiki & FAQ | Magisk Hide Help | Diagnosing Magisk Issues
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -​
FAQ, HINTS & TIPS ARTICLE INDEX
» How to Backup your Device & Data (w/o Modifying Stock Recovery/Boot).
» Magisk SU & Magisk Manager Root (w/o Modifying Stock Recovery).
» Replacing BusyBox & Optimal Systemless BusyBox Installation.
» Handy Resources & Useful Download Tools.
» Anti-Detection Methods: Masking Magisk SU Root & Renaming Magisk Manager.
» Magisk Hide Settings Lost & Not Saving (Re-Opening App / Reboot) - Troubleshooting Magisk Hide.
» Corrupt or Problematic Root? Re-Rooting!
» Backup Important System, Boot, Recovery & Data Partitions.
» How to Access TWRP Recovery W/O Modifying Recovery/Boot.
» Find & Locate your Stock Boot Image Backup Created by Magisk.
» BusyBox App or BusyBox Applets Installed on your Device.
» Masking BusyBox Modules and Applets.
» Google Play Store & Play Services - Old Versions, APK Backups & Archives.
» Google Play Store & Play Services - Errors, Issues, Fixes & Troubleshooting.​
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -​
HOW TO BACKUP YOUR DEVICE & DATA (W/O MODIFYING STOCK RECOVERY/BOOT)
I recommend backing up the partitions before making any changes to your default box. In fact, whenever you buy *anything*, always take a full backup before doing anything - yes, before connecting it to the Internet! Regardless if there is no important data there, ALWAYS make a backup!
Requirements:
Download Optimised AML S905 & S912 Media Player Bootable TWRP Recovery image (13.3MB): https://forum.xda-developers.com/attachment.php?attachmentid=4426811&d=1519210044 (attached at bottom of post)
Reasonable quality Micro SD Card (Class '4' or higher) w/ 2GB+ size formatted in FAT32 - run a disk check if any doubts or issues w/ card;
USB Storage (memory stick, external USB drive) - optional;
USB Input (cordless mouse & keyboard, as the "air mouse" remote sends you crazy! Get a Logitech K/B & Mouse w/ unifying dongle); and
Dismantle a ball-point pen and remove the long plastic ink nib section (or a kebab stick, tooth pick, paper clip);
Backup Procedure w/o Modifying Stock Recovery/Boot:
Stage 1. Access recovery w/o modifying stock device status.
1.1. Extract the Media Player compatible TWRP 'recovery.img' image from ZIP file (DO NOT RENAME FILE!).
1.2a. Insert a 2GB+ Micro SD card (Class [4] or higher) to Windows computer.
1.2b. Format Micro SD card on PC: untick "Quick Format" and select 'FAT32' (not 'FAT', not 'NTFS', not 'exFAT').
1.3a. Copy only the 'recovery.img' to the root of the Micro SD card (excluding any other files and folders).
1.3b. Safely eject the Micro SD card from computer and insert upside-down in the TV box.
1.4. Unplug the "AV" port cable (3.5mm audio socket) and A/C power from TV box. NOTE: May reset system date/time! TWRP Backups then have wrong time stamps!
1.5a. Carefully insert the long plastic ink ball-point pen nib/tip into the "AV" port and you will feel a button depress.
1.5b. Connect the A/C power cable to the TV box, while holding the button inside the "AV" port.
1.5c. Wait while device initialises and displays TWRP screen (Black & Blue TWRP interface).
1.5d. Release the pen ink nib NOW and reconnect the "AV" audio cable, if in use.
.
Stage 2. Perform a device partition backup.
2.1. From the on-screen TWRP menu, select "Backup" menu option.
2.2a. Select three most important partitions: "/boot", "/system", "/data" (untick "/cache").
2.2b. Check the required backup space "Total Size of All Data 3100MB" against the available space on selected backup volume (enable compression if req'd).
2.3. Click the GREY button at the bottom-left to specify backup location. Choose your USB stick (or Micro SD if sufficient free space).
2.4. Backup will now run. Do not walk away - watch the process for any errors. It will only take 3-8 mins (depending on amount of data and apps on the device). N.B. Check system temperature at top-left corner before executing backup. If you are concerned about heat you should monitor this (mine was really bad - floating around 69-72'c during backup).
Once complete it will be display in Blue text: "Backup Completed in 485 Seconds". Remove the Micro SD and reboot!
** Don't forget to install a better or light-weight Launcher! Try "Nova" or even "Microsoft" Launcher - both feature rich and easy-to-use!
** Don't forget to copy/move TWRP backups from SD card to PC, to restore any partitions in future!
** Don't forget to install "BK Disabler" to disable/remove all useless system packages plus disable their services to save memory and resources!
- - - - - - - - - - - - - - - - - - - - -​
MAGISK SU & MAGISK MANAGER ROOT (W/O MODIFYING STOCK RECOVERY)
Connect your WiFi so that any auxillary files and updates can be downloaded during the rooting process.
Ensure you have a minimum of 2GB of free space. Allow for 1-3 hours to perform these steps. Do not rush!
Identify your device and save the essential details - see the tabs with most important information. Search for words like Build ID, Device, Model, Fingerprint, Baseband, Modem, Bootloader, CSC, etc. as these will give you most of the information you are seeking.
Download two of these "System Info" apps (unfortunately no one app covers all the information in one!) to perform a hardware and software audit of your device - personally, I use all three:
AIDA64 ("System", "CPU" & "Android" tabs.),
DevCheck ("Hardware" & "System" tabs. Has nice 'Charger Connect' counter and UI),
Device Info HW ("General" & "System" tabs.), and
SamMobile Device Info (General, Firmware & Android tabs)
Search DuckDuckGo/Google for a backup of your exact Bootloader and Build ID. This signifies a version that matches the OS and hardware variant. For example the 1st box I tested was a 1GB/8GB X96 Amlogic P212 ($40). All your finite and detailed specs are available within the System Info apps mentioned above (#1 A, B, C). Write down, export and screen shot your device's specs and details somewhere for quick reference.
For example, System Info output for my device:
Build: '20170622.19:55' in one app, but 'MHC19J' in another app (often letters & numbers and not a date w/ other hardware);
Fingerprint: 'Amlogic/P212/P212 6.0.1/MHC19J/20170622:userdebug/test-keys' (inc. make, model, device, OS, etc.);
Due to many of these Android media centres coming with a Faulty or Corrupt bundled Root, unknown SuperUser and an unlocked Bootloader - I highly recommend you either:
Flash the Magisk Combined Installer .ZIP through recovery;
backup the boot partition, extract (or download) the boot.img image, patch, then flash modified boot image .IMG through recovery; or
Install Magisk Mananger then click "Install" and select "Direct Method".
I had nothing but problems with Magisk Manager trying to take ownership and replace the corrupt SuperUser SU and SUD files (bundled with the device on delivery). For this reason, due to the boot and system partitions already being modified, I chose option "#3 A." - to flash the Magisk Flashable ZIP through recovery. However if you do have working root and an operational SuperUser, you may choose the fastest option of "#3 C.". Or if you can obtain a stock Boot image, then use option "#3 B.". The choice is yours and it really depends how messed up your device is!
Note: As many of these devices either come already rooted or are unstable, perform a full backup before installing or doing anything, so that if you make a mistake you can always revert back to that original state! e.g. An on-device backup, or backup via a PC with Google's SDK Tools (ADB) . Follow the steps above under "BACKUP YOUR DEVICE & DATA" from #1.1 to #1.5 for on-device backup instructions.
Scenario A) Stock ROM W/ Root Access
Download Magisk Flashable ZIP, Magisk Manager APK, and Magisk Uninstall ZIP onto your external storage.
Install Magisk Manager and launch the app.
Within the Manager UI, click "Install" button on screen and choose "Direct Install" method. Magisk will now attempt to install SuperUser and confirm root status.
No Errors? You are finished. Done.
Errors? Failed? If this fails, as it did for me, you need to follow the instructions above under "BACKUP YOUR DEVICE & DATA" from #1.1 to #1.5. to reboot into Recovery and perform a backup (w/o modifying Stock recovery/boot etc).
Follow steps to download the S905/S912 Backup & Recovery ZIP file (attached to bottom of topic) and prepare the Micro SD or SD Card or USB drive.
From the Recovery interface, where you performed your backup, return to the main menu and choose Install (Flash).
Now browse and select the previously downloaded Magisk ZIP file. Slide the right-hand-side button to proceed.
NOTE: If prompted whether you want to keep System partition "Ready Only", select "Keep Read Only" button to allow future OTA device updates.
. . . Trying to find MORE time to re-type & clean up notes . . .
Scenario B) Stock ROM W/O Root Access (or if Scenario A. fails)
Download Magisk Flashable ZIP, Magisk Manager APK, and Magisk Uninstall.
If your bootloader is locked (To-Do: reference process to check), you will need to first unlock it. Download the original boot image or backup your device, should you
need to undo your changes. Follow steps above to backup the device (selecting Boot or all partitions) and then extract the boot image once complete -or- download the original boot image and keep it handy.
Install Magisk Manager and launch the app (green mask icon with bits of white and blue).
Select Install from middle of screen, then from the pop-up click Install on the right-hand-side.
Choose "Patch Boot Image File" and you will be asked to navigate and browse to where you downloaded the original boot image (or performed the backup). Be very careful as you will not be prompted to confirm your selection!!!
Wait for the process to complete. Now reboot into the recovery on your Micro SD card.
From here you can choose Flash to flash the previously patched boot image from within the /MagiskManager/ directory.
Once complete, reboot the device and launch Magisk Manager. At the top of the screen it will verify the Magisk SU is install and up-to-date.
If you have any doubts, you may click "Install" again and verify the process completes successfully.
. . . Trying to find MORE time to re-type & clean up notes . . .
** Don't forget to install a better or light-weight Launcher! Try "Nova" or even "Microsoft" Launcher - both feature rich and easy-to-use!
** Don't forget to copy/move TWRP backups from SD card to PC, to restore any partitions in future!
** Don't forget to install "BK Disabler" to disable/remove all useless system packages plus disable their services to save memory and resources!
- - - - - - - - - - - - - - - - - - - - -​
REPLACING BUSYBOX & OPTIMAL SYSTEMLESS BUSYBOX INSTALLATION
What exactly is this whole Busy Box thing? Well ... BusyBox is this unified bundle of over 300 common Unix commands (as applets) forming an 'Android Swiss Army Knife' (as it is commonly referred as) that replaces and adds standard Linux functions on your device, so that you can have greater control over your device - just like a PC with Linux OS. This 'toolkit' was specifically built to accommodate embedded OS devices with limited resources to work with the Linux Kernel. It is FREE software under the GNU, however various developers create easy-to-use BusyBox installers which are available both free or paid online.
Due to many of these devices coming pre-installed with BusyBox and old/outdated bundled Applets, there can be confusion with what does or does not work. Therefore it is very important to determine what state your device is in (again writing down what works or does not) and take a backup before making changes. In recent years, developers have added code to their programs to detect BusyBox and 3rd party apps, just like other root methods. Therefore it is *highly* recommended you migrate away from the standard/bundled BusyBox and move to the Magisk 'Systemless' version of BusyBox that makes no changes to your /System partition and does not mount it 'RW'.
Please direct your thanks to @osm0sis - a truly valuable community member.
Requirements:
Download Stericson's BusyBox installer 'Free/Pro' (or reputable alternative) [https://play.google.com/store/apps/details?id=stericson.busybox].
Have already flashed 'Magisk Flashable ZIP' to gain Root; or installed 'Magisk Manager' v12+ (replaces BusyBox App & SuperUser Manager) and flashed 'Magisk' SU v5.6+).
Install two or more of these excellent system info apps from the Android "Play Store" to audit and display system info (OMG! I am over calling it Google "Play"! It's the Android Market!):
AIDA64 (System, CPU & Android tabs);
DevCheck (Hardware & System tabs);
Device Info HW (General & System tabs); and
SamMobile Device Info (General, Firmware & Android tabs).
BusyBox Procedure:
To begin, download and install Stericson's BusyBox installer (link above).
Launch the BusyBox app, click "Grant" to the root request, and wait for 2-3 minutes while the app initialises for the first time.
At the top of the screen it will show your current BusyBox version and details. At the bottom-left of the screen, click "Install" to update. It will automatically update and perform maintenance on SymLinks, fixing any issues for you.
Exit BusyBox and re-open. Now click "Uninstall" at the bottom-right and click "Uninstall" again saying yes you understand.
Now your system has no BusyBox! Some background services may complain but this will only be for a few minutes.
Open Magisk Manager and swipe open the left-hand side-menu and click Modules.
You will now see your currently installed (active/disabled) modules plus the latest versions of other Magisk-compatible modules below.
Click the Search icon at the top-right and search for 'busybox'. You should find "Busybox for Android NDK" (ignore the "NDK" part).
This is the Magisk recommended Systemless BusyBox module managed by XDA member 'Osmosis' @osm0sis. Click the Row for more information or click the Download icon then "Install" on the right-hand-side to begin. Once complete, without any errors, click "Reboot". If you experience any errors just reboot and try again or click save and examine the logs.
Now open one of the three 'System Info' apps (listed above) -OR- re-open the BusyBox installer app again. This will allow you to determine your BusyBox name and version! If everything was successful, you should see something like "BusyBox v1.23.4-OsMoSiS" with path "/system/xbin/".
All Done!
When an app requests SU and BusyBox access, Magisk SuperUser will prompt to grant or deny this request, then if accepted, automatically serves the Systemless BusyBox environment to the requesting app. Amazing!
If you have any issues, please use the Magisk Manager support topic and attach all related logs.
- - - - - - - - - - - - - - - - - - - - -​
HANDY RESOURCES & USEFUL DOWNLOAD TOOLS
Below are some handy tools you should download and have ready on the external Micro SD Card and your PC's HDD. This list is far from complete and will be updated by member suggestions! The list includes a short description plus links to further details, support, downloads and dates they were last updated. If you know an Android or Windows app that is *essential* for use, please feel to post it here, and I will add it to the list. Thanks!!
Where is the AMLogic Website? Site shows compatible OS versions, hardware specifications w/ chipset, memory RAM, CPU & frequencies, etc. Click around and you will find all sorts of info, e.g. Email address mbox-android[@]amlogic.com
» http://openlinux.amlogic.com/Android/Mbox (Strange 'S905x' is planned for OS v8 but the 'S912' is not planned beyond OS v7??)
AMLogic S912 & S905 Toolkit [Bundled Fastboot, Flash, Burn, Port, Backup] (Tool & Drivers) - IMPORTANT! Combined toolkit to flash, backup, convert recovery images and restore ALL AMLogic AML S912 & S905 TV Boxes remotely from your PC. Read more...
AMLogic Network Flash Tool [Bundled ADB & FastBoot] (Tool & Drivers) - IMPORTANT! Ability to flash, backup, convert recovery and restore AMLogic Media Player TV Boxes remotely over the network (LAN Cable or Wireless/Wi-Fi). Always backup prior to upgrading/downgrading! Capable of backing up, restoring and converting any other device's TWRP Recovery. Read more...
» https://mega.nz/#!AII2TB6R!Tk8SS9RUZbFHF9Nwl2H27fD_z54o6Ph2nSlK-JdlZDc [2018.02.24 v1]
AMLogic USB Burning Tool v2.1.6 [Device Re-Imaging] (Tools) - IMPORTANT! This tool allows you to Flash (or "Burn") an update to AMLogic Media Player / TV Boxes using a USB Type-A to Type-A cable. Ability to "Burn" (Flash) and upgrade your device. Please always backup prior to updating!
*Warning!* Wipes ALL device data!!! Use *.img files only, not *.zip files!
» https://mega.nz/#!8ZJTETzL!cdPql9YqK0GGT-xhCfplCVI7b-d0xR-nH5tDIhdeZEg [2018.03.07 v2.1.6]
» https://mega.nz/#!RcglgLrK!0rLQQP_kWCQsLbyAoBBvxFpPsy47A2KP0ycLX1FzgPI [2017.08.14 v2.1.2]
TeamWin TWRP S905 S912 Recovery (Bootable) - IMPORTANT! [Micro SD Boot 100% Guaranteed!] Use to access TWRP recovery without modifying your recovery partition. Frequently updated alternate recovery project. The most suitable recovery will depend on your device! If you cannot boot into TWRP recovery, you will need to learn your Device's Model/Fingerprint/Bootloader/Modem/CSC. Check the XDA Forums relevant for your device and custom Recovery solutions listed. Flashing will modify your Stock Recovery - this is not recommended should you wish to perform OTA firmware updates and use 3rd party apps that circumvent modified/rooted device detection (Spotify, Netflix, Stan, etc.). Be sure to take a backup of ALL IMPORTANT partitions, plus separate backups of EVERY partition too.
» https://mega.nz/#!4Mx2wSbQ!G-Vws-Xv1KfKLMg2MytoroMik_5MBVc4IZ4c7SfCpZE [AmLogic-specific S905 & S912, TWRP v3.0.2]
Odin3 for Windows - Flash various types of firmware for your device - e.g. modem, boot, system, etc. Odin can push OTA manufacturer and third-party signed/unsigned software updates / patches to devices via USB. e.g. Flash Radio to resolve various issues, or flash and restore the original to resolve custom ROM issues. Please visit the Odin3 thread by ChainFire for support. Read more...
» Odin3 v3.09.0 [2013.06.21] | Odin3 v3.09.5 [2014.03.12] | Odin3 v3.11.1 [2016.05.13] | [url=https://mega.nz/#!NJxxCbAS!EE1zGsa200NiR5RaPlAV7e4ac8YCslgELZAfxepNRJo]Odin3 v3.12.7 [2017.05.06] | Odin3 v3.12.10 [2017.11.01]
Fix Permissions v2018.04.15 by Osm0sis [Repair Micro SD & TF] Flashable - Repair and fix both file and directory errors/corruptions with ownership and permissions. Flash the signed package to execute. [URL=https://forum.xda-developers.com/showthread.php?t=2239421]Read more...
» https://mega.nz/#!wRYiSZ6K!8DVVq5v9KFsu0kkciqtla156l7nlYFCVy0QssuE8Qvw [2018.04.15]
ADB & FastBoot Drivers [Windows Mac Linux] (Drivers) - Essential if pushing, pulling and backing up device content & partitions. Familiarise yourself and bookmark the command examples on ADB + Fastboot. You will need to verify your Device's Model/Fingerprint/Bootloader/Modem/CSC BEFORE flashing. Enter commands via command prompt - for example, to push new recovery image: "fastboot boot xyz-recovery.img". Read more...
» OS Selection: Windows | Linux | MacOS
» https://mega.nz/#!EB4C3bwR!d7jO4ngpCxSsDc21ZA5l2dhDNbXnXTKFVspA8uCmUs0 [2017.12.13 Win v27.0.1]
Root SU Uninstaller by Magisk - Un-Root & Clean-up (Flashable) - IMPORTANT! UnRoot / DeRoot and reverse system modifications from Magisk SU, SuperSU and other 3rd party rooting tools. Excellent tool for removing corrupt Chinese root to install Magisk SuperUser and Magisk Manager or SuperSU. Read more...
» http://bit.do/magisk-uninstaller-flashable-zip-20180429 [Latest! Dev Link]
» https://mega.nz/#!xZInDJSQ!l_Kl-NcHvwAUEu9kC8UbH9sm14EcAzMrHFutREl4BVs [v20180429]
» https://mega.nz/#!ABJU1Jza!6xYhQn_RGJGCpQRTzX4CvDqli351p-uc28KXCX5SSkA [v20180222]
» https://mega.nz/#!4Bwn0azK!fc9roBz32eTkbJ1POy5OcsHOGTKkFShQz515PlQ4KXY [v20180113]
Osm0sis UnSU Un-Root & Clean-up (Flashable) - UnRoot and restore modified system files correctly from half a dozen 3rd party root methods. See also the Magisk Uninstaller above for more up-to-date solution should this not work. Read more...
» https://mega.nz/#!gUZhXbTD!bUGGnnDuqCRPhYoYsTOZJBWlP9B3MbroCc3vUxOgGiE [2018.02.06]
CleanupSU (Flashable) - Cleans up all leftover SuperUser files that might be laying around. Perform every time you need to re-root. See also the Magisk Uninstaller above for more up-to-date cleanup solution.
» https://mega.nz/#!MNpUjaTZ!VYBOQRfelzrFVSWdxGZdMKgY6pTa-kgJJPdfygmjblw [2016.11.03]
SUMount (Flashable) - For use with either 'Systemless' root options: @topjohnwu's Magisk SU -or- Chainfire's SuperSU. Toggles mounting of 'magisk.img' & 'magisk_merge.img' or 'su.img' to access their file systems for manipulation (ADB Shell, Aroma File Manager, TWRP Terminal or TWRP File Manager, etc.). Read more...
» https://mega.nz/#!lYZmhIga!TSE-l519X2-AUNbdPnfpzGI244TJRYGpWM9IG4HoPhE [2008.02.28]
TeamWin TWRP Recovery (Flashable & Bootable?) - NOT TESTED!! UNTESTED!!! You can always try booting (not flashing) from this recovery image if the AML S905/S912 Recovery above does not work. I recommend you learn your Device's Model/Fingerprint/Bootloader/Modem/CSC. Be sure to take a backup of ALL Important partitions. Read more...
Philz Touch Recovery [Database of Devices] (Flashable & Bootable?) - NOT TESTED!! UNTESTED!!! You can always try booting (not flashing) from this recovery image if the AML S905/S912 Recovery above does not work. I recommend you learn your Device's Model/Fingerprint/Bootloader/Modem/CSC. Be sure to take a backup of ALL Important partitions. Read more...
» https://mega.nz/#F!oZ1QDDbC!Ko20UNhowwIlXLVFjJsyKw
Want to backup your device's Recovery? Want to restore another device's Recovery? Want to use it for another Media Box? Try the nifty little tool called: AMLogic Network Flash Tool! (see above) Note: I have not tested with RockChip media boxes (RK3328 RK3368 RK3399).
- - - - - - - - - - - - - - - - - - - - -​
More hints and tips to come as I find time to document them:
» SafetyNet issues...
» Google Play Store & Play Services - Errors, Issues, Fixes & Troubleshooting.​
Found this useful? Click the [:good: Thanks!] button below!
Cheers!
.​
General Support - TV & Media Boxes, Magisk Root, Backup, Restore, Play Services, etc.
Continued.....
- - - - - - - - - - - - - - - - - - - - -​
ANTI-DETECTION METHODS: MASKING MAGISK SU ROOT & RENAMING MAGISK MANAGER
Two features 'Magisk SU Root Masking' labeled as "Magisk Hide" -and- 'Magisk Manager Rename' labeled as "Hide Magisk Manager". This can be confusing and the sequence of these options are in reverse order, than what I would have thought. Enabling 'Magisk Hide' detection system is *usually* sufficient for most scenarios with problematic Catch-up TV apps, Banking apps, Google apps, Music services (Spotify, etc), Anti-tamper Game hacks, and so on. A better word to describe what Magisk Hide does would be 'masking' or 'cloaking' its presence from other apps.
For further assistance, access the Magisk Hide FAQ: https://www.didgeridoohan.com/magisk/MagiskHideHidingRoot
» Activate Magisk SU ROOT Masking (i.e. Magisk Hide)
What does it do? It masks detection of the presence of SU from selected apps. This feature will activate a hidden option in the left menu. When opened it allows you to select various applications to BLOCK detection from these apps from recognising system has been compromised and has SuperUser + ROOT.
Magisk SU ROOT Masking Steps:
Always Backup! Take a full backup using TWRP app, or alternatively via "recovery.img" (attached & already discussed).
Launch Magisk Manager (round green mask icon).
Slide open the left menu by swiping left-to-right. Click Settings.
Scroll down to yellow 'MAGISK' section.
Enable "Magisk Hide".
Close Magisk Manager. Open Magisk Manager. Slide open the left menu by swiping left-to-right.
Select 3rd option "Magisk Hide" and begin selecting which apps to "Cloak" or "Mask" Root to prevent detection.
NOTE: Do you find after closing Magisk Manager or rebooting, that "Magisk Hide" disappears from the left menu and is disabled in settings? See Magisk Hide Troubleshooting steps below to resolve!!
» Activate Magisk Manager Package Rename (i.e. Hide Magisk Manager)
What does it do? Should you have issues where an app is circumventing the Magisk Hide feature (above), you can use the Magisk Manager Package Rename feature (ironically named "Hide Magisk" just to confuse you!). The feature creates a cloned APK file of Magisk Manager but with a random package name ('com.XxXxXxXxXx' instead of 'com.topjohnwu.magisk') and installs it, then automatically removes the original Magisk Manager app to avoid detection.
If you proceed with Hide Magisk Manager (Rename) there are a number of inherent limitations. Research on the forums first to fully understand the consequences of this feature. For example, Magisk Manager check for updates fail, automatic update notification is unavailable, re-install Magisk Manager unavailable, plus numerous other restrictions.
Magisk Rename Steps:
Always Backup! Take a full backup using TWRP app, or alternatively via "recovery.img" (attached & already discussed).
Launch Magisk Manager (round green mask icon).
Slide open the left menu by swiping left-to-right. Click Settings.
Under the yellow 'GENERAL' section.
Click "Hide Magisk". *NOTE* There is NO CONFIRMATION prompt!
Wait 1-2 mins and Magisk Manager will close automatically.
Open Magisk Manager (same round green mask icon). You can now check the new package name.
Under settings where you selected "Hide Magisk" is now a "Restore Magisk Manager" option to restore the original package (e.g. for Magisk updates or modules).
What does the Uninstall button do?
When removing Magisk & Magisk Manager there are three options:
Remove the "Manager" app only = "Uninstall App";
Restore stock/original Boot image for OTA Updates = "Restore Images";
Clean-up & removes Magisk SuperUser, Modules & Manager = "Complete Uninstall".
Magisk Topics » Magisk Stable | Magisk Beta | Support Q&A
Downloads » Magisk Manager | Magisk Flashable | Magisk Clean-up v20180429 | v20180328
Requirements Magisk uses logging ('logd' service) to hide/mask root. Magisk Hide needs Kernel v3.8+ or newer (e.g. My Galaxy S5 uses v3.10.40 & X96 TV box has v3.14.29).
Troubleshooting Documentation, Wiki & FAQ | Magisk Hide Help | Diagnosing Magisk Issues
- - - - - - - - - - - - - - - - - - - - -​
MAGISK HIDE SETTINGS LOST - TROUBLESHOOTING MAGISK HIDE
Magisk Hide (Masking Magisk SuperUser) - 2 Solutions w/ Magisk Hide being disabled after reboot or closing and re-opening Magisk Manager.
If you are using Magisk Manager and Magisk Root and are experiencing difficulty with Magisk Hide (Masking Magisk's SU) not showing in the Manager's side-menu or remembering its status in settings, it occurs when a file is not automatically deleted and removed.
PROBLEM:
Open Magisk Manager, Settings >> Enable Magisk Hide, close Manager, re-open and Magisk Hide is disabled and not visible (hidden) in the left side-menu. i.e. Exit, Close, Stop, Re-Open & Reboot Reset's Magisk Hide's State to Disabled.
SOLUTION 1.
Force stopped Magisk Manager.
Backup then Delete file /data/property/persist.magisk.hide (0600).
Launch Magisk Manager.
Go to Settings >> Enable Magisk Hide.
Go back to Manager home screen. Swipe to reveal side-menu and check Magisk Hide menu is visible.
Close Magisk Manager or Force stop.
Reopen and Swipe side-menu and confirm Magisk Hide is still visible!
I hope this helps others also experiencing issues with Hiding Super User SU. Thanks Shak!
SOLUTION 2.
Another fix @dunderball posted Dec 2017 was in regards to an error "fopen: /magisk/.core/magiskhide/hidelist failed with 2: No such file or directory"
The issue is due to Magisk Manager being unable to save the list of ticked Apps to hide from SU to /magisk/.core/magiskhide/hidelist.
Check the existence of the "/magisk/.core/magiskhide/hidelist" path.
Create the "/hidelist" directory.
CHMOD "/magisk/.core/magiskhide/hidelist" to 0644.
Thanks go to @dunderball. :highfive:
SOLUTION 3.
If you are using an old device or perhaps an old ROM with custom Kernel, you may find Magisk does not work. Magisk Manager & Magisk SuperUser requires a Kernel with version v3.8.x or newer.
Check your device forums on XDA for assistance.
SOLUTION 4.
Magisk Hide will not function if you have disabled your 'logd' service, or your have set your log threshold to 0 bytes. Magisk requires to examine the logs in order to hide the selected apps from root status. Enable and start the 'logd' service and try again! Solution 5 also discusses the importance of the Logging service.
SOLUTION 5.
Magisk anomalies, problems with diagnostic logs and non-functioning Magisk Hide.
ATTENTION: If you are experiencing diagnostic and logging issues (e.g. blank or no debug logs created in "/data/adb/Magisk/") or you are experiencing some anomalies after enabling Magisk Hide, please be aware v15.4+ of Magisk Manager checks and verifies if the "LOGD" diagnostic logging service is running. Devices NOT using the 'logd' service for logging will therefore NOT be able to successfully have "Magisk Hide" enabled and functioning.
If you really wish to use this feature, then I recommend:
Performing a backup of your data, important partitions and system state;
Flash Magisk Uninstall ZIP (link available above & on Magisk topic); and
Flash Magisk v15.31 ZIP to allow enabling the Magisk Hide feature.
Disable the check for updates option within Magisk Manager settings to prevent accidental upgrade until the issue is fixed by @topjohnwu.
Magisk Topics » Magisk Stable | Magisk Beta | Support Q&A
Requirements Magisk uses logging ('logd' service) to hide/mask root. Magisk Hide needs Kernel v3.8+ or newer (e.g. My Galaxy S5 uses v3.10.40 & X96 TV box has v3.14.29).
Troubleshooting Documentation, Wiki & FAQ | Magisk Hide Help | Diagnosing Magisk Issues
- - - - - - - - - - - - - - - - - - - - -​
CORRUPT OR PROBLEMATIC ROOT? RE-ROOTING!
Restore to factory defaults does *not* work on these devices. It will NOT restore root or any 'destructive' actions made on the OS and to any apps. The great thing about MagiskManager is that it can co-exist with SuperSU, however it will not truly be hidden and invisible. If you do mix-and-match SuperUser's then make sure you use their method for hiding, e.g. search for Hide SuperSU by ChainFire.
Depending on how 'destructive' your previous actions were on the device, you should have a 'close to original' stock System partition and a copy/backup of the *Original* device's Boot Image. There are two things you can try when either root, SU, permissions or something else is corrupt:
flashing the Magisk Uninstall ZIP to un-root your device to perform a clean-up and proper removal; or
try restoring (flashing) the stock/original untouched device Boot Image via TWRP.
Once you confirm things are stable and working, you can then either:
Launch MagiskManager and click Install and choose 3rd option, Direct Method;
flash Magisk via TWRP again; or
Launch MagiskManager, click Install and choose 2nd option, browse for your stock Boot image and then flash the updated image via TWRP.
Requirements:
With either the Stock Standard or a Custom Recovery:
Download the S905 & S912 Media Player Bootable TWRP Recovery image (13.3MB): https://forum.xda-developers.com/attachment.php?attachmentid=4426811&d=1519210044 (attached to above post)
Reasonable quality Micro SD Card (Class '4' or higher) w/ 2GB+ size formatted in FAT32 - run a disk check if any doubts or issues w/ card;
USB Input (cordless mouse & keyboard, as the "air mouse" remote sends you crazy!);
Dismantle a ball-point pen and remove the long plastic ink nib section (or a kebab stick, tooth pick, paper clip); and
Attempt to fix and repair all file, directory and application permissions by booting into TWRP and selecting "Fix Permissions".
Options and Procedure:
# Magisk
Flash Magisk ZIP installation script.
Boot into TWRP recovery via 'recovery.img' on Micro SD card.
Take a full device backup.
Flash Magisk latest stable or beta ZIP.
Magisk Manager will be re-installed automatically.
Alternatively,
Open Magisk Manager and click "Install" at the bottom of the screen.
# SuperSU
Flash SuperSU ZIP installation script.
Boot into TWRP recovery via 'recovery.img' on Micro SD card.
Take a full device backup.
Flash SuperSU latest stable or beta ZIP.
# ChainFire
Flash ChainFire ZIP installation script.
Boot into TWRP recovery via 'recovery.img' on Micro SD card.
Take a full device backup.
Flash CF Root ZIP.
NOTE: Cannot flash via ODIN w/ standard Micro USB cable due to Media TV Boxes not having USB peripheral 'host' ports. You will need to buy a USB type-A to type-A cable for this to work - compatibility will be device dependant ($5 investment on Ebay). If you are more comfortable with Odin, you can flash either a 3rd Party Recovery (temporarily) or Stock Recovery in the "AP" slot (*.tar or *.tar.md5) - always backup first! I have not tested any WiFi ADB tools or flashing with "FlashFire", "Rashr" or "Flashify" (Odin update) - should essentially work once you have root access...
The process is essentially the same as the process to root. However you simply select a different SU ZIP to flash. There is ample documentation available for using TWRP. Please DuckDuckGo/Google your specific root method and TWRP if you are unsure.
If you do receive an error and the process does not complete, copy the log to your card and try again. Fails again? Examine the logs and look for any errors.
WHAT IF? If this all fails, try using ChainFire's "UnSU ZIP script" -or- Magisk's "Uninstaller ZIP script" and flash either via TWRP to clean-up the system. Alternatively, you could use TWRP to flash the stock boot/recovery/system partitions -OR- use TWRP to Factory Reset (after backing up all data!!), and then begin the Magisk Root steps from scratch!
Magisk Topics » Magisk Stable | Magisk Beta | Support Q&A
Downloads » Magisk Manager | Magisk Flashable | Magisk Clean-up v20180429 | v20180328
Troubleshooting Documentation, Wiki & FAQ | Magisk Hide Help | Diagnosing Magisk Issues
- - - - - - - - - - - - - - - - - - - - -​
BACKUP IMPORTANT SYSTEM DATA & PARTITIONS
Prior to installing lots of apps or making any system changes, it is *always* advised to take regular full backups, plus backup of your Boot and Recovery. If you cannot find the original ROM images easily online (e.g. obscure media player device, non-existent version numbers) then perform a backup within TWRP app or boot into recovery. It is *highly* recommended you have Stock backups prior to performing any actions that may affect the boot partition (inadvertently).
Backup Boot & Recovery Partitions:
If you DO NOT have Root, follow the Backup instructions above under "HOW TO ACCESS TWRP RECOVERY W/O MODIFYING RECOVERY/BOOT" (below) to access the backup recovery environment.
If you DO have Root access - download, install and open TWRP (has a stupid name "Official TWRP App"), click 2nd option "Backup Existing Recovery".
Perform two backups: first enter a meaningful "Device Recovery Backup" file name and click "Backup Recovery"; then repeat for the "Device Boot Backup" and update the backup file name.
The backup should complete within a few seconds, depending on its size and destination.
To restore, follow the same steps via TWRP app, or alternatively boot to the 'recovery.img' (attached & discussed above) and choose TWRP Flash restore, browse and select the backup, then select which partitions you wish to recover.
- - - - - - - - - - - - - - - - - - - - -​
HOW TO ACCESS TWRP RECOVERY W/O MODIFYING RECOVERY/BOOT
Requirements:
Download the AMLogic S905/S912 TWRP Bootable Recovery image (13.3MB): https://forum.xda-developers.com/attachment.php?attachmentid=4426811&d=1519210044 (attached to above post)
Reasonable quality Micro SD Card (Class '4' or higher) w/ 2GB+ size formatted in FAT32 - run a disk check if any doubts or issues w/ card;
USB Input (cordless mouse & keyboard, as the "air mouse" remote sends you crazy! Get a Logitech K/B & Mouse w/ unifying dongle); and
Dismantle a ball-point pen and remove the long plastic ink nib section (or a kebab stick, tooth pick, paper clip);
TWRP Procedure:
1. Extract the Media Player compatible TWRP 'recovery.img' image from ZIP file (DO NOT RENAME FILE!).
2a. Insert Micro SD card (Class [4] or higher) to Windows computer.
2b. Format Micro SD card on PC: untick "Quick Format" and select 'FAT32' (not 'FAT', not 'NTFS', not 'exFAT').
3a. Copy only the 'recovery.img' to the root of the Micro SD card (excluding any other files and folders, unless flashing the firmware).
3b. Safely eject the Micro SD card from computer and insert into TV box.
4. Unplug the "AV" port cable (3.5mm audio socket) and A/C power from TV box. NOTE: May reset system date/time! TWRP Backups then have wrong time stamps!
5a. Carefully insert the long plastic ink ball-point pen nib/tip into the "AV" port and you will feel a button depress - don't let go!
5b. Connect the A/C power cable to the TV box, while holding the button inside the "AV" port.
5c. Wait while device initialises and displays TWRP screen (Black & Blue interface).
5d. Release the pen ink nib NOW and reconnect the "AV" audio cable, if in use.
Done. Rock and roll!
Now perform any TWRP functions - backup, restore, fix permissions, flash, etc.
NOTE: If you wish to install vendor OTA updates, I recommended you continue using TWRP (or other solution) via Micro SD Recovery and the TWRP Android app. Otherwise, if you flash TWRP (or other recovery) you will need to take extra steps to re-flash your Bootloader prior to any updates, then flash again, and again afterwards.
- - - - - - - - - - - - - - - - - - - - -​
FIND & LOCATE YOUR STOCK BOOT IMAGE BACKUP CREATED BY MAGISK
Whether you initially used the Magisk Manager app -or- TWRP Recovery \ ADB FastBoot \ Odin3 to flash the Magisk patched boot image, a backup copy of the existing stock boot image is stored in "./data/" as "stock_boot.img".
However, if you flash an already Magisk patched "boot.img" through ADB FastBoot (Download Mode), then neither a "stock_boot.img" backup will be created or existing backup overwritten. Magisk detects the active boot image as already patched, therefore you must manually create a backup if you wish to retain the existing boot image.
Note: When patching a stock boot.img and flashing via Magisk Manager, the backup of the stock boot image is temporarily held until the next reboot in: "./data/user/0/com.topjohnwu.magisk/install/stock_boot.img".
If you are struggling to locate the file, access an on-device terminal emulator, type "SU" and enter: "find -name 'stock_boot*'".
- - - - - - - - - - - - - - - - - - - - -​
BUSYBOX APP OR BUSYBOX APPLETS INSTALLED ON YOUR DEVICE?
Download, install and open your Busybox app. We will only use the "Uninstall" component of this app to clean-up any Busybox applets and remnants left behind.
If you have any corruptions in BusyBox preventing removal, first click "Install" to update, and then click "Uninstall".
Once complete, you may uninstall your Busybox app as is no longer required!
MASKING BUSYBOX MODULES AND APPLETS
Open Magisk Manager. Slide open the left menu by swiping left-to-right.
Click the "Downloads" menu item.
Scroll down the list and looks for something like "Busybox NDK" or similar.
Read the module description. Click Install and follow the steps.
Slide open the left menu, select the "Modules" menu item to see the list of (active/inactive) installed modules (you may tick/untick a module to temporarily disable it, or click the trash icon to remove and uninstall it completely).
You should now see the 'BusyBox NDK' systemless module installed.
- - - - - - - - - - - - - - - - - - - - -​
GOOGLE PLAY STORE & PLAY SERVICES - OLD VERSIONS, APK BACKUPS & ARCHIVES
Normally most Android devices have a "Vending.apk" as their Google Play Market package. However some devices use a different package name for Play Market and Play Services packages e.g. "Phonesky.apk" or "Velvet.apk".
In order to upgrade Play will depend on your system. Installing an updated Phonesky.apk will work. e.g. I updated my unstable Google play from v6.0.1 and Play Services with the following packages:
- Play Store v6.0.5 as 'com.android.vending' in "./system/priv-app/Phonesky/Phonesky.apk"
- Play Services v8.4.89 as 'com.google.android.gms' in "./system/priv-app/PreBuiltGMSCore/PreBuiltGMSCore.apk"
Updating Google Play and Play Services options:#1. use any root explorer (Solid Explorer, FX Explorer, ES Explorer, Root Explorer) to rename (backup) and replace the "Phonesky.apk" and "PreBuiltGMSCore.apk" packages;
#2. flash the updated Play Market or Play Services ZIP package via Magisk Manager;
#3. flash the updated Play Market or Play Services APK package via Recovery; or
#4. flash via ADB FastBoot (please search the XDA forums for examples [ADB, FastBoot, Push/Pull]).​
IMPORTANT! Always backup your existing APK files (both system and manufacturer apps!).
If you wish to Disable Apps do not use a Root App Uninstaller. Instead, use a systemless application disabler with your systemless root - e.g. Magisk Manager + App Systemizer module. This will allow you to achieve the temporary removal of system apps without modifying the /system/ partition. Why is keeping the System image original and stock important? If you modify the system partition (mount RW, delete an app, or make any changes) it will cause future issues and prevent updates when you wish to upgrade your OS or perform an OTA update.
» Google Play Services APK
Before installing any random version of Google Play Services, you must first make sure it matches a number of variables to prevent conflict on your device (Android TV, Mobile Device, TV Box, etc) and the corresponding OS etc. To do this, expand the box below but clicking "Un Hide".
To determine the suitable version of Google Play services for your Android device, go to Settings » Apps » Google Play Services (or Play Services). Here you will see the size, memory use and the version. Observe the three digit 'xyz' sequence 'v##.#.# (xyz-#########)'.
For example: Play Services v11.0.45 (430-155874144)
The 'xyz' here shows '430' which will represent which 'variants' of Google Play services that are compatible with your device. Therefore "430" represents:
X = "4" = if OS 5.0, 5.1 = Play Services v7.9 and older -OR- if OS 6.0+ = Play Services v8.0 and onwards.
Y = "3" = armeabi-v7a ARM CPU.
Z = "0" = Universal and can be used on any device with high or low DPI.
Example 3 Digit Prefixes:
430 = Android >=6.0; armeabi-v7a; NoDPI/Universal device;
046 = Android <5.0; arm64-v8a CPU; Max 320dpi device;
876 = Android TV; x86 CPU; Max 320dpi device;
940 = Android >8.0; arm64-v8a CPU; NoDPI/Universal device;
438 = Android >=6.0; armeabi-v7a CPU; Max 480dpi device;​
Download All Versions of Play Services:
- TV Versions: https://www.apkmirror.com/apk/google-inc/google-play-services-android-tv/
- Standard: https://www.apkmirror.com/apk/google-inc/google-play-services/
View further information on these 3-digit prefixes:
STATUS: Work In Progress!
Code:
ANDROID TV & GENERAL GOOGLE PLAY SERVICES COMPATIBILITY FINDER
X represents the Android OS version:
'0' = Android <5.0 (pre OS 5.0.x. e.g. OS 4.3)
'2' = Android 5.0 and 5.1 starting with Play Services v8+
'4' = Android 5.0 and 5.1 before Play Services v8, Android >= 6.0 after
'5' = Android Wear OS
'7' = Android 5.0
'8' = Android TV
'9' = Android 8.0+
Y represents the CPU Architecture:
'1' = armeabi
'3' = armeabi-v7a
'4' = arm64-v8a
'5' = mips
'7' = x86
'8' = x86_64
Z represents the Screen 'dots per inch' (DPI):
'0' = Universal or "NoDPI" restrictions.
'2' = Max 160 dpi
'4' = Max 240 dpi
'6' = Max 320 dpi
'8' = Max 480 dpi
OS Changes & Play Services Notes (exclusions):
- With Google Play services v6.5+, builds migrated from '7yz' to '4yz'. Therefore, if you were on '7yz' with Play Services 6.4.x AND now have Play Services v6.5+, then the prefix changes to '4yz'.
- With Google Play services v8.0+, '4yz' builds were split into '2yz' for Lollipop OS, and '4yz' for Marshmallow OS. Therefore, if OS is Lollipop v5.x AND Play Services v8.0+ used, then the prefix changes to '2yz'.
- Please be aware the "Android TV" does not refer to ALL Android TV's or TV Boxes, but refers to light-weight bundled compatible Android enabled TVs. Double-check your television!
NOTE: This list is not fully complete and is only a guide.
Variant Arch O/S Screen DPI
(000) arm OS 4.0+ nodpi
(001) arm OS 4.0+ 160dpi
(002) arm OS 4.0+ 240dpi
(003) arm OS 4.0+ 320dpi
(004) arm OS 4.0+ 480dpi
(005) x86 OS 4.0+ nodpi
(006) arm OS 5.0+ nodpi
(007) arm OS 5.0+ 240dpi
(008) arm OS 5.0+ 320dpi
(009) arm OS 5.0+ 480dpi
(010) arm64/arm OS 5.0+ nodpi
(011) arm64/arm OS 5.0+ 320dpi
(012) arm64/arm OS 5.0+ 480dpi
(013) x86 OS 5.0+ nodpi
(014) x86/x86_64 OS 5.0+ nodpi
(017) arm OS 6.0+ nodpi
(018) arm OS 6.0+ 240dpi
(019) arm OS 6.0+ nodpi
(020) arm OS 6.0+ 240dpi
(021) arm OS 6.0+ 320dpi
(022) arm OS 6.0+ 480dpi
(023) arm64/arm OS 6.0+ nodpi
(024) arm64/arm OS 6.0+ 320dpi
(025) arm64/arm OS 6.0+ 480dpi
(026) x86 OS 6.0+ nodpi
(027) x86/x86_64 OS 6.0+ nodpi
(030) arm OS 4.0+ nodpi
(032) arm OS 4.0+ 160dpi
(034) arm OS 4.0+ 240dpi
(036) arm OS 4.0+ 320dpi
(038) arm OS 4.0+ 480dpi
(046) arm OS 8.0+ nodpi
(047) arm OS 8.0+ 240dpi
(048) arm OS 8.0+ nodpi
(049) arm OS 8.0+ 240dpi
(050) arm64/arm OS 8.0+ nodpi
(051) arm OS 8.0+ 480dpi
(052) arm64/arm OS 8.0+ nodpi
(053) arm64/arm OS 8.0+ 320dpi
(054) arm64/arm OS 8.0+ 480dpi
(055) x86 OS 8.0+ nodpi
(056) x86/x86_64 OS 8.0+ nodpi
(070) x86 OS 4.0+ nodpi
(230) arm OS 5.0+ nodpi
(234) arm OS 5.0+ 240dpi
(236) arm OS 5.0+ 320dpi
(238) arm OS 5.0+ 480dpi
(240) arm64/arm OS 5.0+ nodpi
(246) arm64/arm OS 5.0+ 320dpi
(248) arm64/arm OS 5.0+ 480dpi
(270) x86 OS 5.0+ nodpi
(280) x86/x86_64 OS 5.0+ nodpi
(430) arm OS 6.0+ nodpi
(434) arm OS 6.0+ 240dpi
(436) arm OS 6.0+ 320dpi
(438) arm OS 6.0+ 480dpi
(440) arm64/arm OS 6.0+ nodpi
(446) arm64/arm OS 6.0+ 320dpi
(448) arm64/arm OS 6.0+ 480dpi
(470) x86 OS 6.0+ nodpi
(480) x86/x86_64 OS 6.0+ nodpi
(736) arm OS 5.0+ 320dpi
(738) arm OS 5.0+ 480dpi
(746) arm64/arm OS 5.0+ 320dpi
(930) arm OS 8.0+ nodpi
(934) arm OS 8.0+ 240dpi
(936) arm OS 8.0+ 320dpi
(938) arm OS 8.0+ 480dpi
(940) arm64/arm OS 8.0+ nodpi
(946) arm64/arm OS 8.0+ 320dpi
(948) arm64/arm OS 8.0+ 480dpi
(970) x86 OS 8.0+ nodpi
(980) x86/x86_64 OS 8.0+ nodpi
» Google Market Play Store APK
Should you require any older versions of Google Play / Market either to resolve instability, require less memory, or for use on a low-end/budget device, you can easily downgrade without issues. There are multiple methods of installation here, and it depends on your device type. If one method does not work, then simply try the next available.
Download All Versions of Play / Market:
- Standard: https://www.apkmirror.com/apk/google-inc/google-play-store/
Code:
Amalgamating and collating resources...
- - - - - - - - - - - - - - - - - - - - -​
» GOOGLE PLAY STORE & PLAY SERVICES - ERRORS, ISSUES, FIXES & TROUBLESHOOTING
STATUS: Work In Progress!
Be aware you do *not* need the latest version of every Google app to use your device. Updating often introduces issues and more resource intensive apps and services. May of 2018 and I am still using Google Play v6 without any issues on my TV Box.
More information will be updated soon...
Found this useful? Click the [:good: Thanks!] button below!
Cheers!
.​
i have KI plus Amlogic S905D and 7.1.1 android version
can't find stock Rom download link (to use it in case of failure)
i tried to boot to recovery to install TWRP, but the device not accepting to boot to recovery
only showing Mecool Logo
flipmode_11 said:
.
.
Click to expand...
Click to collapse
For hiding magisk you need to edit the APK file, as for safety net I believe @whiteak has passed safety net
As for the playstore fix, simply replace vending.apk
As for the crashes(not only Firefox) I believe it's got something to do with Amlogic-res or some other frameworks and libs
The recovery varies on Android version, I know you cannot load a fresh kernel from a different version and my best bet is either due to the bootloader or dtb, I cannot successfully flash either without USB burning tool, so if you find a way let me know so when can implement this fix in future roms removing the need to flash the same stock firmware as the target android version prior to flashing a rom
black-hook said:
i have KI plus Amlogic S905D and 7.1.1 android version
can't find stock Rom download link (to use it in case of failure)
i tried to boot to recovery to install TWRP, but the device not accepting to boot to recovery
only showing Mecool Logo
Click to expand...
Click to collapse
Pm me, I'll fix it for you
Ricky Divjakovski said:
Pm me, I'll fix it for you
Click to expand...
Click to collapse
i sent pm to you yesterday
Blackhook, you are very lucky!
All us Aussie's are top blokes! Ricky especially!
Ricky Divjakovski said:
Pm me, I'll fix it for you
Click to expand...
Click to collapse
black-hook said:
i sent pm to you yesterday
Click to expand...
Click to collapse
Thank you Ricky for taking the time to respond in the topic. Much appreciated!
Okay, so I don't understand "Edit APK file"? Can you please be more specific?
I cannot get Play/Play Services to work in anymore (15.3 to 16). Currently Play says "Certified" under settings. I've no idea how to replace Play, as it uses a different APK file name.
'WhiteAK'? has passed SafetyNet? I don't know what you mean... Whiteak has the same device and managed to update Play/Play services and get it working??
Crashes are "Amlogic-res" and/or lib \ framwork related. Okay I get System, Settings, plus any app I'm in... So perhaps some file/library can be updated to resolve this instability?
Strange as it doesn't appear as "Vending.apk" within BK Disabler, Titanium and other apps.
It is listed as
* Play Store v6.0.5 'com.android.vending' /system/priv-app/Phoneysky/Phonysky.apk
* Play Services v8.4.89 'com.google.android.gms' /system/priv-app/PreBuiltGMSCore/PreBuiltGMSCore.apk
So backup Vending.apk; download new Vending.apk (any original version?); overwrite old with new Vending.apk from (Link ???); that should take care of Play Store AND Play Services?
How do you prevent updates for Play + Play Services, like it is currently?
Will this solve the download/install issue?
Oh, so if reflashing, Slot 1 = current ROM version/variant (from backup I assume) and Slot 2 = new ROM to install?
I don't know what a "USB burning tool" is. Link to dev/site?
Thanks for sharing your knowledge.
Cheers mate!
Ricky Divjakovski said:
For hiding magisk you need to edit the APK file, as for safety net I believe @whiteak has passed safety net
As for the playstore fix, simply replace vending.apk
As for the crashes(not only Firefox) I believe it's got something to do with Amlogic-res or some other frameworks and libs
The recovery varies on Android version, I know you cannot load a fresh kernel from a different version and my best bet is either due to the BOOTLOADER or DTB, I cannot successfully flash either without USB BURNING TOOL, so if you find a way let me know so when can implement this fix in future ROMs removing the need to flash the SAME stock firmware as the target android version prior to flashing a ROM
Click to expand...
Click to collapse
Updated first two posts above.
If you notice any mistakes or typos, let me know.
Please share your knowledforfor anything Media Centre / TV BOX related!!
Cheers!
will this only work for the t95z plus, i have a m9x 3 that has the amlogic 3912 with 3/32gb, the stock rom on it is really buggy would like something that works well. I have this installed on my t95z plus and works well.
ItsSunnyB said:
will this only work for the t95z plus, i have a m9x 3 that has the amlogic 3912 with 3/32gb, the stock rom on it is really buggy would like something that works well. I have this installed on my t95z plus and works well.
Click to expand...
Click to collapse
This will work as you have the same S912 standard chip and hardware.
Devices like the $$$ Nvidia Shield are very different units with very different hardware.
Booting to the recovery image and backing up WILL NOT make any modifications, unless you wipe, install or repair, etc...
Perform a (NANDroid) Backup of your device with above steps before attempting [*anything*].
good info
Thanks a lot for the useful info you posted here. I have kiii pro with amlogic 912, but the stock kernel doesn't include all device modules from source. I have some joysticks and they never work since no drivers are loaded for them. I would be grateful if you could help me with kernel source and a way to compile it with modules i need
G'day Luffy,
I think the issues you've highlighted with the missing framework and modules is something you should post separately as this topic is for rooting, backing up, flashing, etc.
Create a new topic with subject: Kiii K3 Pro S912, Missing Modules / Drivers in Stock Kernel
Something like that in the subject, to describe the issue. Is it a Mecool? I nearly bought the Kiii/K3 but keep seeing people have issues on the forums!
I suggest you follow the Backup instructions above before you do anything else.....
P.s. Replace "xxGB" with model's RAM you have below.
Goods luck mate!
luffy_senpai said:
Thanks a lot for the useful info you posted here.
Click to expand...
Click to collapse
Hello, I have a Kiii Pro TV box w/ xxGB RAM, Amlogic S912 & DVB T2/S2.
I am experiencing issues with the stock kernel as it does not include all standard peripheral device modules. For example: I have some joysticks and they are neither recognised nor work, since no drivers are available to be loaded.
I would be grateful if you could help me with Kernel source and a way to compile it with all standard driver modules or those module drivers I need
Thank you.
Click to expand...
Click to collapse
flipmode_11 said:
Thanks for sharing your knowledge.
Cheers mate!
Click to expand...
Click to collapse
Download the latest 7.1.2 gapps, get the vending file from within it.
On your device, playstore is either stored as vending, phonesky or velvet, so whatever one it's stored as delete the folder, make a new folder called vending and add the vending.apk inside it, set permissions to rw-r-r(644) , that's your playstore issues fixed(all of them)
You don't need to prevent updates, updates are distributed for a reason
Gms core is the core of all Google's services and does not need to be touched
Yes Whiteak has a t95z plus and managed to pass safety net, im unknown how though
For recoveries, I made a great tool to port recoveries to any device, removing the need to find a specific recovery for the variant, check this forum for my Amlogic flash tool and recovery porter
The random crashes I still haven't figured what fixes them but in my PoisonRom, none of those issues appear
And with next release, it compiles the kernel on the device so it will be compatible with every single Amlogic device.
Champion mate! Really appreciate it.
Yes, PhoneSky. But Play Services is updated, and I updated Play from 6.0x to 6.0.5.
I downgraded from 12 to 11 on GMS (Play Services) and stopped getting the new crashes within apps. However it just auto-updates itself again and starts crashing again...
So flash Poison on to this X96 1GB (800MB) device? Already deciding on my next Media Box! (Shortlist: H96 Pro, X99 Max RKM MK39, R-TV K99 / CSA96, R99, CloudNetgo CD19, and......?). Any recommendations
They're all 4GB DDR3 RK3399 T860 models. I assumed the RAM capacity was more important than DDR4 speed....
Cheers!
p.s. downloaded your tool some time ago but now I understand what it does, given your explanation - Port a 3rd Party Recovery to be Generic Recovery supporting any AML S905/S912 media centre? Does that include RK33xx RockChip too?
@ricky Your name has a space so cannot write @ and mention you
Did you see I included your tool above? This was all I could interpret from descriptions and forum messages:
AMLogic Network Flash Tool [Bundled ADB & FastBoot (Tool & Drivers) - Ability to flash AMLogic Media Player TV Boxes remotely over the network (LAN Cable or Wireless/Wi-Fi). Always backup prior to upgrading/downgrading! Read more...
Click to expand...
Click to collapse
Will need to fix it up.
Thanks again for your information. I will add it to the top articles.
EDIT: p.s. Play Services has crashed 3 times on my phone today. So it is definitely the most latest version that is causing it to crash *more* than usual.
Ricky Divjakovski said:
Download the latest 7.1.2 gapps, get the vending file from within it.
On your device, Play Store is either stored as "vending", "phonesky" or "velvet", so whatever one it's stored as delete the folder, make a new folder called vending and add the vending.apk inside it, set permissions to rw-r-r(644) , that's your playstore issues fixed(all of them)
For recoveries, I made a great tool to port recoveries to any device, removing the need to find a specific recovery for the variant, check this forum for my Amlogic flash tool and recovery porter
The random crashes I still haven't figured what fixes them but in my PoisonRom, none of those issues appear
And with next release, it compiles the kernel on the device so it will be compatible with every single Amlogic device.
Click to expand...
Click to collapse
This worked for me on Bqeel k12 (amlogic s912) octacore running stock 7.1.2 ? thank you very much to OP ? booted into twrp first time from fat32 formatted sd card so I restarted, downloaded supersu zip, back to recovery, flash su.zip (via nice shiny new twrp?) root check and all is 100%
I see the twrp is 3.1? Will the theme zip work on it that was for 3.1 twrp ?
Updated Support Downloads and Links.
+ Included AMLogic "USB Burning" Firmware Update/Imaging Tool v2.1.6 2018.03 Update..
+ Included Magisk Flashable Multi-Root Uninstaller ZIP latest update.
@Kurtlestat Thanks for the feedback.
I've not tried any theme.zip's so cannot comment. But trying standard Philz or TWRP do not work. This is a specially modified version to be compatible with all AML devices.
I'm actually looking for a RockChip compatible TWRP image but so far have not been successful!
If I were you, check out Magisk instead. It is systemless too. I switched as seems to be more actively maintained and organised.
I tried the theme zip but it's only for twrp 3.1.0 This version is 3.1.1 so it was no dice, but still gave it a try ?
Now the sad news ? I tried flashing the poison rom and it failed with error 7. I went to restore my backup and musta wiped it lol can't even say I've got an expensive paperweight cos the things so light ?
Anyways does anyone know of stock firmware or custom rom for bqeel k12 amlogic s912 octacore 2/16gb it came with nougat 7.1.2 stock. Going to try download poison rom in mean while as I think error 7 is corrupt file. But..... to OP ...... the twrp still works ?
New article added to 2nd post.
FIND & LOCATE YOUR STOCK BOOT IMAGE BACKUP CREATED BY MAGISK
Whether you initially used the Magisk Manager app -or- TWRP Recovery \ ADB FastBoot \ Odin3 to flash the Magisk patched boot image, a backup copy of the existing stock boot image is stored in "./data/" as "stock_boot.img".
However, if you flash an already Magisk patched "boot.img" through ADB FastBoot (Download Mode), then neither a "stock_boot.img" backup will be created or existing backup overwritten. Magisk detects the active boot image as already patched, therefore you must manually create a backup if you wish to retain the existing boot image.
Note: When patching a stock boot.img and flashing via Magisk Manager, the backup of the stock boot image is temporarily held in a directory until the next reboot: "./data/user/0/com.topjohnwu.magisk/install/stock_boot.img".
If you are struggling to locate the file, access an on-device terminal emulator, type "SU" and enter: "find -name 'stock_boot*'".
*Magisk Topic* » https://forum.xda-developers.com/showthread.php?t=3473445 (Features, Functionality, Q&A, Discussions)
*Troubleshooting* » https://www.didgeridoohan.com/magisk/HomePage (FAQ & Detailed Solutions & Examples)
Masking and Cloaking Root Access & SuperUser
Open Magisk Manager, open Settings. Scroll down to the yellow heading "MAGISK" and enable "Magisk Hide" (Note: do NOT enable "Hide Magisk"!!!)
Close Magisk Manager. Open Magisk Manager. Slide open the left menu by swiping left-to-right.
Click the 3rd item down - "Magisk Hide".
Scroll down and tick the box on "Spotify" or any other item you want to "Cloak" or "Mask" Root to prevent detection.
BusyBox App or BusyBox Applets installed on your device?
Download, install and open your Busybox app. We will only use the "Uninstall" component of this app to cleanup any Busybox applets and remnants left behind..
If you have any corruptions in BusyBox preventing removal, first click "Install" to update, and then click "Uninstall".
Once complete, you may uninstall the Busybox app. It will not be required from now on.
Masking BusyBox Modules and Applets
Open Magisk Manager. Slide open the left menu by swiping left-to-right.
Click the "Downloads" menu item.
Scroll down the list and looks for something like "Busybox NDK" or similar.
Read the module description. Click Install and follow the steps.
Slide open the "Modules" menu item to see the list of (active/inactive) installed modules (You may tick/untick a module to disable it temporarily, or click the trash icon to remove and uninstall it completely).
You should now see the BusyBox NDK systemless edition installed.
Found this useful? Please click "Thanks". :good:
Cheers!
Mate I would literally post that in the Poison ROM topic as they will know the best thing to do.
Didn't you save the TWRP backup on your SD Card or PC? Always save to a PC! Read all my posts! I'm obsessed with backups! Hah
Bqeel K12... Find their web site and use the contact form if you cannot find the support downloads. I had a quick google and struggled. However many sellers now have "Support" tabs, with links to firmware.
Don't stress mate, you'll be right. They're fairly indestructable as all unlocked and fairly flexible boxes.
p.s. From your experience, would you get an S912 or RK3399 or RK3368? and 4GB DDR3 or 3GB DDR4?
Trying to get a more reliable box, that can handle the power. I have seen no bootable SD recovery.img for RockChip. Bit of a concern I can't get to TWRP on this $50 RK3328. Next box: RKM MK39 or CloudNetGo CR19 (RockChip) - and - Any 3GB DDR4 or Any 4GB DDR3 (S912) - and- Meecool KIII DVB-T2 or ....
Kurtlestat said:
I tried the theme zip but it's only for twrp 3.1.0 This version is 3.1.1 so it was no dice, but still gave it a try
Now the sad news I tried flashing the poison rom and it failed with error 7. I went to restore my backup and musta wiped it lol can't even say I've got an expensive paperweight cos the things so light
Anyways does anyone know of stock firmware or custom rom for bqeel k12 amlogic s912 octacore 2/16gb it came with nougat 7.1.2 stock. Going to try download poison rom in mean while as I think error 7 is corrupt file. But..... to OP ...... the twrp still works
Click to expand...
Click to collapse

[ROM][G95xF/FD][ALEXNDR] * UCDUG2 * DevBase v7.4 * Encryption support [Nov-13]

Important notes for Developers / Chefs !!!
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 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
EDIT: Note related to creating "$ZIPFILE" which contains a file larger than ~4GB (e.g. system.img): the order of adding content to "$ZIPFILE" is very important! META-INF need to be added as the first dir in the archive! Example (my DevBase case):
Code:
zip -r -9 G95xFXXU1xxxx_DevBase.zip META-INF options.prop ALEXNDR
It seems that misunderstanding of the above problem is the main reason why many devs give up and do not use my base as a pattern.
Hello
I have decided to create a pure base with my unified installer (should work with many other Samsung devices), 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 - probably there is no better alternative
This ROM contains OXM multi CSC package, list of available CSCs is as follow:
ACR, AFG, AFR, ARO, ATO, AUT, BGL, BNG, BRI, BTC, BTU, CAC, CAM, CEL, CHO, COO, CPW, DBT, DKR, ECT, EGY, EON, ETL, EUR, GLB, ILO, INS, ITV, KSA, LAO, LUX, LYS, MAT, MID, MM1, MWD, MYM, NEE, NPL, ORX, PAK, PCL, PHE, PHN, PTR, ROM, SEB, SEE, SEK, SER, SIN, SKZ, SLK, SMA, SMP, STH, TEB, THL, THR, TMC, TPA, TPH, TTT, TUN, TUR, WTL, XEF, XEH, XEO, XEU, XFA, XFE, XME, XSG, XSP, XTC, XXV, ZTO
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 - more informations you can find in related older threads, e.g. HERE
ALEXNDR.G95xFXXUCDUG2:
1. Base:
- Odexed (original stock files) + stock kernel
- Multi CSC OXM (list of natively supported CSC as above) (*)
- Removed KNOX related content (useless on rooted phones)
- Removed Rlc.apk & vaultkeeperd (to avoid "OEM unlock issue")
- Rooted systemlessly (Magisk v23.0) (*)
- All original features are present and works (except KNOX related apps)
- Added "App Lock" feature (Settings -> Advanced features)
- 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 "Show network speed" toggle (Settings -> Display -> Status bar)
- 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] (*)
- NOTE: Applies to Oreo DevBase. There is no Xposed for Pie yet
4. Virtual / physical Safe De-Bloat (more info below) (*)
What does it mean and why is it called "safe"?
- ONLY apps available in stores are removed / skipped in DevBase, so you can easy (re)install any of these app if you like
- ONLY pre-installed system apps are removed / skipped, DevBase installer will never touch any updated app nor app installed manually from a store
- By default virtual Safe De-Bloat is applied with exact same effect as physical (completely skips apps at boot). You can force to delete apps physically but it is recommended only if you really need more space in /system
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 / skipped apps list:
Excel
Facebook
OneDrive
PowerPoint
Skype
Word
(*) - 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. Allowed values:
# true - install Magisk as root solution (default)
# false - do not root device
root=true
# 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
xposed=auto
# CSC Selection. Allowed values:
# KCSC - Keep current CSC, recommended in most cases (automatic selection or keep current CSC contents).
# You can force the use of natively supported CSC by typing (use UPPERCASE!): ACR, AFG, AFR, ARO, ATO, AUT,
# BGL, BNG, BRI, BTC, BTU, CAC, CAM, CEL, CHO, COO, CPW, DBT, DKR, ECT, EGY, EON, ETL, EUR, GLB, ILO, INS,
# ITV, KSA, LAO, LUX, LYS, MAT, MID, MM1, MWD, MYM, NEE, NPL, ORX, PAK, PCL, PHE, PHN, PTR, ROM, SEB, SEE,
# SEK, SER, SIN, SKZ, SLK, SMA, SMP, STH, TEB, THL, THR, TMC, TPA, TPH, TTT, TUN, TUR, WTL, XEF, XEH, XEO,
# XEU, XFA, XFE, XME, XSG, XSP, XTC, XXV, ZTO
CSC=KCSC
# Custom CSC Features. Allowed value in each line: <Example_line>value</Example_line>
<CscFeature_Common_SupportWcdmaInSlave>true</CscFeature_Common_SupportWcdmaInSlave>
<CscFeature_VoiceCall_ConfigRecording>RecordingAllowed</CscFeature_VoiceCall_ConfigRecording>
<CscFeature_Setting_EnableMenuBlockCallMsg>true</CscFeature_Setting_EnableMenuBlockCallMsg>
<CscFeature_Setting_CustNetworkSelMenu4>LTEONLY</CscFeature_Setting_CustNetworkSelMenu4>
<CscFeature_Setting_SupportRealTimeNetworkSpeed>true</CscFeature_Setting_SupportRealTimeNetworkSpeed>
<CscFeature_SmartManager_ConfigSubFeatures>roguepopup|autoclean|autorestart|applock|trafficmanager</CscFeature_SmartManager_ConfigSubFeatures>
<CscFeature_SmartManager_DisableAntiMalware>true</CscFeature_SmartManager_DisableAntiMalware>
<CscFeature_SystemUI_SupportRecentAppProtection>true</CscFeature_SystemUI_SupportRecentAppProtection>
<CscFeature_Message_DisplaySmsTimeAs>server</CscFeature_Message_DisplaySmsTimeAs>
<CscFeature_Message_DisplayMmsTimeAs>server</CscFeature_Message_DisplayMmsTimeAs>
<CscFeature_Camera_ShutterSoundMenu>true</CscFeature_Camera_ShutterSoundMenu>
<CscFeature_RIL_ForceConnectMMS>true</CscFeature_RIL_ForceConnectMMS>
# Custom physical debloat list. Allowed value in each line: path to app's directory in /system.
# (NOTE: wildcards are allowed here)
/system/*app/SamsungPass*
/system/*app/SamsungPay*
/system/*app/SecureFolder*
/system/app/SecurityLogAgent
/system/priv-app/Rlc
# 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!)
Excel_SamsungStub.apk
Facebook_stub.apk
FBAppManager_NS.apk
FBInstaller_NS.apk
FBServices.apk
FotaAgent.apk
LinkedIn_SamsungStub.apk
MSSkype_stub.apk
OneDrive_Samsung_v2.apk
PowerPoint_SamsungStub.apk
Word_SamsungStub.apk
NEW !!! Starting from DevBase v3.0 there is a new customization method - you can change frequently switched root options or encrypt your device just by renaming installer's ZIP file name (instead of editing options.prop file). Currently supported "strings" in the file name: "noroot", "encrypt", "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 - do not root device
(place "noroot" string anywhere in the ZIP file name, e.g. "G95xFxxx_DevBase_v6.x_noroot.zip")
Regardless of the above root options, starting from DevBase v4.4+, you can also use "encrypt" option (place "encrypt" string anywhere in the ZIP file name, e.g. "G95xFxxx_DevBase_v6.x_encrypt.zip"). All your data will be encrypted "on-the-fly" at next boot after ROM update/reinstall. Wipe data is NOT necessary to use this option. You will NOT lose your data & apps but it is extremely important - do not interrupt encryption process during this "special" boot! Booting can take much longer and you may think it is a bootloop, but it isn't! If you have a large amount of used data - it is recommended to connect your phone to the charger during boot (and open a beer to avoid heart attack while waiting). You do not need to use "encrypt" option again in case of another DevBase update(s) - please read carefully notes below.
In DevBase ROM 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. "G95xFxxx_DevBase_v6.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 ROM 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_G95xFxxx_DevBase_v6.x.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. "G96xFxxx_DevBase_v6.x_xposed.zip". Next ROM's updates will detect and apply Xposed profile automatically, unless you wipe /system - then auto detection is not possible.
Notes related to encrypted devices:
How to confirm that your data are encrypted:
1. Go to TWRP and check if it is possible to mount /data. If NOT - all is ok "Failed to mount '/data' (invalid argument)" will be the a frequent message that you need to like in the future
How to update DevBase ROM to a newer version:
1. Copy a newer DevBase ROM to extSdCard or OTG storage (you do NOT need to use "encrypt" option in ZIP file name again, if your device is encrypted already - it just remain encypted)
2. Go to TWRP -> "Install" and flash ZIP file from extSdCard or OTG
3. That's all
The risk of data loss in case of encrypted devices, depending on the ROM scenario:
1. DevBase only: VERY LOW RISK (*)
2. Coming from other custom ROM with encrypted data - MEDIUM RISK (recommended backup)
3. Installing other custom ROM over DevBase - MEDIUM RISK (recommended backup, anyway)
4. Installing pure stock (using Odin) over DevBase (or over any other custom ROM) - VERY HIGH RISK (not recommended!)
(*) There is still a risk to get into a bootloop if you install stuffs like: Xposed framework, incompatible Magisk or Xposed module, incompatible systemless MOD in /data/devbase/system, etc. In case of bootloop just try to use "rescue" option described above
EDIT (Dec-01-2019): Very important info!!! Encryption will not be possible if you format /data using new TWRP (3.3.x-x). If you prefer encrypted device - it is highly recommended to use TWRP 3.2.3-x to format /data. If you are not sure which version you have used to format data - it is much better to perform clean install using TWRP 3.2.3-x to format /data before forcing encryption. More info HERE
Notes related to EFS backup:
During install, my ROM's installer always performs EFS backup to {storage}/.backup/efs (where {storage} may be /external_sd, /usb-otg, /sdcard - in the preferred order). It is recommended to copy EFS backup occasionally outside the phone and store in safe location (PC, OTG, etc). There are 2 backups - when you first time installed my ROM (efs_backup.tar.gz) and recent, created additionally, just in case (efs_recent.tar.gz). Most useful will be most probably the first one (efs_backup).
You probably will never need these files, but sometimes s**t happens and restoring EFS backup may be the only one way to rescue your device!
When do I need to restore EFS backup?
- lost/invalid IMEI number
- proper IMEI but unable to connect to the network
- connected to the network but unable to make a call and/or transfer data
- unrecoverable bootloop (even after clean DevBase install with default settings)
NOTE: In contrast to many other custom ROMs - my installer uses gzip compression (*.img.gz) to store EFS backup(s). Restore command for your device is stored in txt file in the same directory with EFS backup. If you forgot command - you can read txt file containing proper command @ PC (Notepad) or even directly form TWRP using Terminal's 'cat' command, e.g.:
Code:
cat /external_sd/.backup/efs/efs_backup.txt
NOTE: Do not panic, read the txt file peacefully and type command exactly as it is in TWRP's Terminal, then tap blue [enter] button. After all - please reboot device. If the problem was EFS related - your device just has been rescued
Installation:
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!
Wipe data is NOT required if you are coming from stock ROM (already rooted) 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 format /system before install my DevBase (my installer cleans your system well enough!).
Credits:
@samsung for awesome device & stock firmware base
@Chainfire for systemless SuperSU and a lot of inspiration
@topjohnwu for Magisk and another inspiration
@corsicanu & @Noxxxious for TWRP for Oreo (quota support)
@rovo89 for Xposed framework & Xposed Installer app
@Zackptg5, @osm0sis & @jcadduono for no-verity*
Hit Thanks button if you like my work. If you really appreciate my work - feel free buy me a coffee/beer (or flowers/wine for my wife who is patiently enduring my hobbies) https://www.paypal.com/donate/?business=RFGVQYRC34RVQ&currency_code=EUR
Due to the fact, that some countries banned PayPal - I have created also Patreon site: https://www.patreon.com/_alexndr
Download ROM
S8 (SM-G950F/FD):
>> G950FXXUCDUG2_DevBase_v7.3.zip << (Android 9.0, more info HERE)
S8+ (SM-G955F/FD):
>> G955FXXUCDUG2_DevBase_v7.3.zip << (Android 9.0, more info HERE)
SM-G95xF/FD repository:
>> S8/S8+ repository << [ AFH | MEGA ]
Note:
Check MD5 sum BEFORE flash (useful TOOL), because flashing damaged or incomplete ZIP files could (soft) brick your phone! Correct MD5 sum is shown on the AndroidFileHost website while downloading.
Changelog
v7.4 (starting from G95xFXXUCDUD1 DevBase):
- Fixed unzip issue which caused unexpected installation termination - applies to TWRP 3.5.0_9-1 and newer
v7.3 (starting from G95xFXXS8DTC1 DevBase):
- Fixed bootloop issue in case of Android Q and "noroot" scenario - thanks to @Zackptg5 for the up to date dm-verity disabler
v7.2 (not released for G95xF):
- Fixed bootloop issue in case of Android Q and encrypted devices (applies to dirty update)
v7.1 (starting from G95xFXXS6DSL2 DevBase):
- Potential fix for "make_ext4fs: not found" error in newer TWRP versions and in result "Failed! Not enough space..." message appears while applying CSC during install (applies to N960x devices)
v7.0 (not released for G95xF):
- Initial support for Android Q / system-as-root devices
v6.0 (starting from G95xFXXU4CRL3 DevBase):
- Introduced logging entire installation process (to devbase_install.log file, placed in /data or /cache in case of encrypted devices). These logs may significantly increase the possibility of my help in case of problems with/after installation
- Major imrovements/bugfixes/optimizations related to Android Pie support (e.g. takes care about special SELinux contexts for /odm content, introduced in Pie)
- Removed SuperSU support. Changed allowed "root" variable value in options.prop to true/false (backward compatible with old options.prop file)
- Removed "skipblcp" option - baseband/modem will be always updated, bootloader need to be flashed separately (update is usually not mandatory)
v5.9 (starting from G95xFXXU3CRGB DevBase):
- Changed device detection method to bootloader's prefix (instead of ro.product.*)
- Improved support for applying custom mods automatically at each ROM's install/update, introduced in v5.6 (added support for etc, fonts, media & usr directories in {storage}/devbase/system)
- Added support for custom {storage}/devbase/post-installation.sh script
v5.8 (starting from G95xFXXU2CRF7 DevBase):
- Improved unzip_flash function in the installer to detect properly more flashing errors (e.g. EXT4 partition mismatch)
- Changed /odm flashing method to file based due to potential /odm partition mismatch (applies to carrier branded treble devices)
- Minor optimizations/improvements in the installer (this time mainly to improve installation speed)
- Busybox has been removed from /system/xbin to run properly some banking apps
[v5.7 (starting from G95xFXXU2CRED DevBase):
- Improved/expanded built-in RMM lock prevention (thanks to @jesec for idea of overriding properties via factory.prop)
- OEM unlock status will always be displayed correctly in Developer options (to avoid confusion) with stock kernel included in the DevBase ROM
v5.6 (starting from G95xFXXU1CRD7 DevBase):
- Added "App Lock" feature (Settings -> Advanced features)
- Added Xposed framework as installation option (it is NOT forced by default - you need to force it manually while installing with Xposed first time, e.g. by "xposed" string in ZIP's file name, but next ROM's updates will detect and apply Xposed profile automatically, unless you wipe /system - then auto detection is not possible)
- Added support for applying custom mods automatically at each ROM's install/update by placing modded apps in {storage}/devbase/system/(priv-)app or placing modded framework files in {storage}/devbase/system/framework (where {storage} may be: /sdcard, /external_sd or /usb-otg)
v5.5 (not released for G95xF):
- Added support for flashing optional, CSC related partitions ($OMR, $PRELOAD)
- Added possibility to update recovery (optional, performs update if exists $NAME/images/recovery.img)
- Return to using only the original XML files in the CSC package (thanks to @fei-ke for omc-decoder)
- Partition(s) may be wiped only by writing new block's image
- Minor optimizations / improvements in the installer
v5.4 (starting from G95xFXXU1CRC7 DevBase):
- Big step forward in DevBase ROM customization ability - almost all current ROM features (hidden up to v5.3) have been moved to options.prop (you will be able to easy add new or remove current feature)
- Return to dm-verity-opt-encrypt boot patcher if necessary (wherever it works well, there are still devices which need "no_verity" function introduced in v5.1)
- Initial support for forcing (changing) CSC in case of devices with /odm as CSC location
- Minor optimizations / improvements in the installer
v5.3 (not released for G95xF):
- Improved algorithm of search & change "ro.security.vaultkeeper.feature" property to 0 (/system & /vendor)
v5.2 (not released for G95xF):
- Added support for devices with /odm as CSC location
- Added support for flashing $ODM, $VENDOR, $KEYSTORAGE, $DQMDBG images
- Added support for custom debloat list and custom CscFeature list in options.prop
- options.prop file format has been changed to CR/LF (Windows) - more noob-proof solution, user can edit a copy of options.prop file even in Windows Notepad (the installer still supports ANY text format of options.prop file - Win/Unix/MAC)
v5.1 (starting from G95xFXXU1CRB7 DevBase):
- Created new "no_verity" function compatible with Samsung's Oreo, based on @Chainfire's patch tool (no-verity-opt-encrypt has been removed)
- Return to Magisk as default root solution in Oreo (we will use "no_verity" function as additional support for patching fstab*, as long as Magisk does not do it correctly)
v5.0 (starting from G95xFXXU1ARA2 DevBase):
- SYSTEMLESS DevBase has been removed due to the fact, that in case of modern devices/firmwares we need to perform many changes physically in /system anyway, so it loses the sense of use here. If you liked it - you can still install it separately from HERE (it does not need to be re-installed after ROM update as it is installed in /data)
- Added "skipblcp" option to let users skip BL/CP update (additionally it disables auto-reboot when the installer finished work as it is just not necessary then)
- Added "phydebloat" option to let users choose beetween virtual and physical debloat (to get more space in /system)
- In case of Oreo based ROM SuperSU is (temporarily) default root solution (contains also suhide-lite, SafetyNet should pass)
- Other (minor) optimizations & improvements
v4.6 (not released for G95xF):
- Initial support for devices with /system/omc as CSC location
- SYSTEMLESS DevBase updated to v2.0 (see changelog HERE)
- Added possibility to force CSC by renamig ZIP filename. Due to the fact that trere are many different CSC and it is possible that $ZIPNAME may contain a CSC accidentally - to force CSC you need to put CSC in $ZIPNAME at the beginning and CSC must be followed by "_". Example $ZIPNAME (to force CSC DBT): "DBT_G95xFXXU3xxxx_DevBase.zip"
- Added auto efs-backup during install. Installer will create first backup (efs_backup.img.gz) and recent backup (efs_recent.img.gz). The installer will prefer external storage as default backup location (/external_sd or /usb-otg) due to encryption support. MD5 sum and restore command will be stored in efs_backup.txt or efs_recent.txt file
- Other (minor) optimizations & improvements, e.g. added more error messages in case of something went wrong during install
v4.5 (not released for G95xF):
- Added new "rescue" option (readable only as string in ZIP file name due to the fact, that we will need this option rarely). It can be a potentially very helpful option in case of bootloop @ encrypted device, caused by a systemless mod/module/xposed stored on /data (without access to /data from TWRP) - more info in post #1
- SYSTEMLESS DevBase updated to v1.14 (see changelog HERE)
v4.4 (not released for G95xF):
- Added new "encrypt" option (readable only as string in ZIP file name due to the fact, that we need to do it only once). Now you can easy encrypt all data in your device, just during the ROM upgrade (without data loss).
- SYSTEMLESS DevBase updated to v1.13 (see changelog HERE)
v4.3 (not released for G95xF):
- "root.supersu" & "root.magisk" variables in the options.prop file have been replaced by one "root" variable (dropped possibility to install both - SuperSU & Magisk - due to the fact that Magisk v13+ does not support SuperSU as root solution)
- SYSTEMLESS DevBase updated to v1.9 v1.12 (see changelog HERE)
v4.2 (not released for G95xF):
- Added possibility to add systemlessly NEW apps to /data/devbase/system/(priv-)app (up to 5 apps in "app" & 5 apps in "priv-app"). The only condition is that you need to rename its directories to CustomApp[1...5] (e.g. CustomApp1, CustomApp2, etc..). These apps will remain even if you flash a new DevBase as corresponding dummy directories will exist in future DevBase updates
- In case of DevBase update or re-installation - installer will not remove your custom entries in /data/devbase/system/build.prop and in *.xml files placed in /data/devbase/system/csc
- SYSTEMLESS DevBase updated to v1.6 v1.8 (see changelog HERE)
v4.1 (not released for G95xF):
- Added full Magisk support - MagiskSU is now default root solution (ROM should pass SafetyNet with Magisk Hide enabled in settings)
- Since systemless Xposed does not need to be re-installed every new DevBase I will release (in case of using the same root solution) - it makes no sense to keep it anymore as installation option
- SYSTEMLESS DevBase updated to v1.5 (see changelog HERE)
v4.0 (not released for G95xF):
- A huge step in the systemless direction! DevBase installer now installs pure odexed stock ROM (just slightly debloated), then systemless SuperSU, then systemless DevBase, then (optionally) systemless Xposed
- All Knox related applications are available again (except SecurityLogAgent, to prevent annoying security alerts)
- Fake KNOX 0x0 status (check it in PhoneINFO app) - most of Knox related apps should work again, like in case of untouched KNOX flag
- All mods known from previous DevBase versions (up to v3.x) now are applied systemlessly - all modified files (including modded apps) are placed in /data/devbase/system instead of physical /system partition. Mods section (#4) has been updated to install mods to /data/devbase/system/(priv-)app if systemless DevBase has been detected (otherwise will be installed as usual, to /system)
- Deodex on-the-fly feature has been removed. If you really need deodexed ROM - you can install someone else's deodexed ROM, then systemless DevBase as an overlay
- Init.d support has been removed as it is deprecated (use su.d instead)
v3.8 (not released for G95xF):
- Added hexpatch to root_from function (support for SM-N930x, thanks to @Chainfire)
v3.7 (not released for G95xF):
- Another major improvement/bugfix in deodex_from function (full support for 64 bit OS)
v3.6 (not released for G95xF):
- Major improvement/bugfix in deodex_from function (added "-g" switch to zip command - finally no issues in case of deodexed Android 6.0.1)
v3.5 (not released for G95xF):
- Improved root_from function (Android 5.1+) - added "setprop selinux.reload_policy 1" removal from init.rc (thanks to @Chainfire)
- Fixed bug in new alghoritm for checking whether stock recovery should be installed or not (introduced in v3.4)
- Added new functionality - installer will store a copy of patched stock kernel in /data for those who flashed custom kernel but for some reasons want to revert to the stock kernel (Android 5.1+)
v3.4 (not released for G95xF):
- Completely changed alghoritm for checking whether stock recovery should be installed or not (it applies to FlashFire users). Now it depends on previously used recovery (instead of checking KNOX flag which was not 100% reliable across devices/recoveries)
v3.32 (not released for G95xF):
- Updated set_csc, kcsc_backup, kcsc_restore functions to support more devices
- Updated partition detection algorithm to support more devices
- Fixed path to options.prop file placed in external sdcard in case of updating Marshmallow while using FlashFire
- Minor intaller's optimizations/bugfixes
v3.31 (not released for G95xF):
- Potential fix for reported problems with root (rare cases)
v3.3 (not released for G95xF):
- Improved method of reading options from ZIP file name (previous was directory/path sensitive also)
- Added support to mod_csc function for other than UNIX text format (it's a little ridiculous, but in case of some CSCs - original /system/csc/other.xml file has Windows or MAC text format!)
- Initial support for options.prop file in CRLF text format (DOS/Windows)
v3.21 (not released for G95xF):
- Fixed installer's issue if there is a [space] present in ZIP filename or a directory containing DevBase (see #1728)
v3.2 (not released for G95xF):
- Another improvements in add_initd function (details - see v1.3)
- Improvements in set_perm, set_perm_rec and root_from functions (recovery-independent structure)
- Improvements in deodex_from function related to Android MM
- New get_con function in the main sh script (useful for devs)
- BusyBox updated to 1.22.1 (bionic) [no, this is NOT a mistake!]
- Minor intaller's optimizations/bugfixes
v3.1 (not released for G95xF):
- Significantly improved "add_initd" function in the update-binary shell script. Added support for (probably) all available Samsung's platforms (e.g. Exynos) and all available firmwares (based on Android 4.4+)
- In case of installation with Xposed framework installer checks if Xposed Installer app is present in /data/app and installs it automatically if necessary
- Minor intaller's optimizations/improvements
v3.0 (not released for G95xF):
- Entire installer has been re-written from the scratch! All "magic" moved to update-binary which is a shell script. It opens up new possibilities never possible before!
- Introduced new customization method - you can change most frequently switched options just by renaming installer's ZIP file name. Currently supported "strings" in the file name:
"noroot" (means "do not root"), "deodex", "xposed", "initd" (no other comments are required, I hope..)
- Starting from v3.0 init.d support is disabled by default
v2.3 (not released for G95xF):
- Added option to install suitable Xposed framework in one step while installing DevBase (for maximum comfort). There is a new xframework.sh script - device independent structure and full Android 5.1+/6.0+ support. Backup method is compatible with well known Xposed uninstallers (tested with @wanam's)
v2.2 (not released for G95xF):
- Significantly improved root_supersu.sh script - device independent structure and full Android 5.1+/6.0+ suport including on the fly kernel/ramdisk/sepolicy patching if necessary. SU binaries are still copied to /system as it is the best choice in case of custom ROMs
- Changed order of performed operations in the updater-script due to new root_supersu.sh script advantages
- Installer wipes partitions designated for RAW content (e.g. kernel / recovery image) before writing to them
- Minor additions in dex_injector.sh script related to Android 6.0+
v2.11 (not released for G95xF):
- Fixed some minor installer's issues ("set_perm" function in set_csc.sh did not work correctly while using wildcards in the path (it was exclusively FlashFire issue! no problem with TWRP / CWM). Fortunately - only /system/etc/csc_*.txt were really "affected" - it didn't cause real issues as these files are empty)
v2.1 (not released for G95xF):
- As some people felt a bit disapointed / worried about DevBase v2.0 ROM file size - finally I have decided to debloat stock system.img (in same way as in v1.x => "Safe De-Bloat") and remove option to install all available bloatware. ROM file size has been reduced from about ~2GB to about ~1.6GB. Note for Devs / Chefs: Do not use Windows tools - you need Linux with "selinux" package installed (to handle SELinux contexts) to mount (rw) system.img safely. If you want to add / change any system content this way - remember about proper chown/chmod/chcon
- Added device check during install as flashing directly to EMMC block is potentially more risky for "other" devices. Installer will abort installation if device is not N910F (trlte(xx)). If you want to try this ROM on other N4 devices - you need to remove this check manually from updater-script (it is more conscious procedure)
v2.0 (not released for G95xF):
- Completely new concept of ROM development that makes it easy to build most tuned and nuanced custom ROMs. No more arduous manual analysis or (often) invalid permissions / SELinux contexts taken from a kitchen. The main idea is to flash original, stock /system image as EMMC block (in same way as PC Odin does) instead of extracting ZIP's contents to mounted partition, then setting permissions, then creating symlinks, etc. However, it requires more knowledge related to sh scripts as ALL necessary changes need to be done on the fly, while installing (e.g. by injecting modified classes.dex and/or modified images/xmls to /res/../* into an apk). There are no limits, all depends on your creativity!
- One common ZIP installer for Odexed and Deodexed ROM - you can control it by new "deodexed.rom" entry in options.prop (there is new dex_injector.sh script which can deodex on the fly the whole ROM using previously processed classes.dex files)
- ROM is still Safe De-Bloated by default but removing bloatware during install is not mandatory - you can control it by new "safe.debloat" entry in options.prop (there is new protection included to avoid overfilling /system in case of large size of additional MODs and/or large multi CSC package)
- Major improvements in csc_detect.sh script - it is able to detect previous CSC even in cases of flashing over e.g. CM based ROM and/or previously formatted system partition. However, if detected CSC is NOT included in my multi CSC package, in both mentioned cases it is still not possible to keep detected CSC (as there is no CSC related content to backup / restore)
- Improvements in all sh scripts - additional "metadata" entries in updater-script (related to processed contents) are not required
- Improvements in root_supersu.sh script - it is suitable for 32 and 64 bit OS
- Added full zip support from the command line
v1.x (initial version, further improvements, not released for G95xF):
- Built without using a kitchen. All set_metadata* / symlink entries are result of arduous manual analysis. For more info about the method - see hidden content for Devs / Chefs in THIS thread.
- New customization method without using Aroma (options.prop)
- Many useful scripts for easy installation: CSC applying/autodetection, backup/restore of security files, backup/restore of existing CSC package, XML modding on the fly, root, init.d support
- Many small changes and improvements "in the meantime" which I simply do not remember...
- Safe De-Bloated (see post #1 for details)
Optional MODs
[WORK IN PROGRESS, MODDING HAS LOW PRIORITY]
These modifications I have done personally using (bak)smali tools - these are NOT "borrowed" from other custom ROM, nor from someone else's thread (thanks to @majdinj, @tdunham, @Grouxho & @yash92duster for their excellent modding guides). All ZIP files are TWRP flashable:
>> MODs for SM-G95xF/FD <<
TIP: Are you tired with re-installing your favorite MODs every time you update this ROM? Just take advantage of the new DevBase feature, intruduced in v5.6 (see "Changelog"). It is enough to put your favorite apks and/or jars in /sdcard/devbase/system/(priv-)app (or ../framework) and these MODs will be detected & applied automatically every time you update this ROM. You can also use your /external_sd to store your favorite MODs (it is mandatory if you are using encryption).
Example for "G95xF_DisableHighVolumeWarning.zip" (modded SystemUI.apk):
- unzip SystemUI.apk file from my flashable MOD
- create /sdcard/devbase/system/priv-app/SystemUI directory
- place modded SystemUI.apk in above directory
Next time you will update my ROM - my installer will use modded SystemUI.apk instead of stock app included in my ROM
NOTE: Use this feature consciously and carefully! It may happen that your MOD is not compatible with a newer Samsung's base (especially in case of major Android update)! I will warn you about it, but only in case of MY MODs, I am not able to predict what kind of mods you are using.
Good to see you on board of S8.
I remember your roms devbase from S5.
You were the best and I hope you are still the best rom dev
Could you write smt anout this rom? is it little debloaded, zipaligned etc ?
Looks good I have tried your note 4 rom that one wash great I hope this rom is soon be stable :highfive:
Thanks man, can you tell us what are the features of it?
KKTHX said:
[...]
Could you write smt anout this rom? is it little debloaded, zipaligned etc ?
Click to expand...
Click to collapse
rtk19 said:
Thanks man, can you tell us what are the features of it?
Click to expand...
Click to collapse
_alexndr said:
[...]
For now - see what the ROM offers, for example here:
>> [STABLE][ROM][N950F/DS][ALEXNDR] * U3BRA8 * DevBase v5.0 * Encryption support <<
[...]
Click to expand...
Click to collapse
I have linked already exact same ROM (I mean same features) for Note 8 in post #1
BTW. Oreo (CRAP) is almost ready, but I'm still waiting for a feedback related to ARA2
EDIT: Let's quote myself again:
_alexndr said:
[...]
The installation is not risky (I mean there is no risk of brick) In the worst case you will see some FCs, but I'm almost sure that it is OK
[...]
Click to expand...
Click to collapse
Good luck brother... and thank you for your time... looking forward to see your job <3
___vampire___ said:
Good luck brother... and thank you for your time... looking forward to see your job <3
Click to expand...
Click to collapse
Does this rom have ROM CONTROL?
douglasmietto said:
Does this rom have ROM CONTROL?
Click to expand...
Click to collapse
Yup. Your finger [emoji6]
Wysłane z mojego SM-G955F przy użyciu Tapatalka
ghul21 said:
Yup. Your finger [emoji6]
Click to expand...
Click to collapse
Yup. A good sense of humor is quite important in our life
douglasmietto said:
Does this rom have ROM CONTROL?
Click to expand...
Click to collapse
No, it doesn't
ghul21 said:
Yup. Your finger [emoji6]
Wysłane z mojego SM-G955F przy użyciu Tapatalka
Click to expand...
Click to collapse
I just found the rom and it has no control rom ..
douglasmietto said:
I just found the rom and it has no control rom ..
Click to expand...
Click to collapse
Now exchange your finger with @ghul21
Well good rom but i couldn
CRB7 just released.
I hope we wll see soon fresh build with Oreo without FRP and RMM and without OEM unlock protection
KKTHX said:
CRB7 just released.
I hope we wll see soon fresh build with Oreo without FRP and RMM and without OEM unlock protection
Click to expand...
Click to collapse
Maybe but it is not available to download yet..
Anyway, we still need to check if this thread have a sense of existence but nobody post here a feedback related to ARA2. Seems like everybody are waiting for test DevBase Oreo ROM..
... so please try this
>> G950FXXU1CRAP_DevBase_v5.0b.zip << (test version - Magisk) EDIT: Please use stable, final Oreo version 5.1 available in post #2 & post #29
>> G955FXXU1CRAP_DevBase_v5.0b.zip << (test version - Magisk) EDIT: Please use stable, final Oreo version 5.1 available in post #2 & post #29
Please make a backup of your private data before you try (including internal emulated /sdcard). I'm just not sure if disabling forced encryption @ Oreo works as it should.
NOTE: By default my DevBase ROM is all-in-one combo (it updates also BL & CP). If you want to skip BL/CP flashing - just rename downloaded ZIP file and place "skipblcp" string anywhere in the ZIP file name (except .zip extension of course)
Example:
Just flash ZIP file named "G95xFXXU1CRAP_DevBase_v5.0_skipblcp.zip" via TWRP and only ROM will be flashed, without BL/CP. Additionally - there will be NO auto-reboot at the end of installation as it is just not necessary then
NOTE: This option IS NOT case sensitive, so you can also put the "SkipBLCP" string instead of "skipblcp" to make this option more visible in the ZIP file name
Thread has been updated
DevBase v5.0 (CRAP) uses SuperSU as root solution + suhide-lite (ROM passes SafetyNet). It's not because I don't like Magisk but because it has been confirmed that SuperSU works fine with Samsung's Oreo :good:
SM-G950F/FD:
>> G950FXXU1CRAP_DevBase_v5.0.zip << EDIT: Please use stable, final Oreo version 5.1 available in post #2 & post #29
SM-G955F/FD:
>> G955FXXU1CRAP_DevBase_v5.0.zip << EDIT: Please use stable, final Oreo version 5.1 available in post #2 & post #29
I am still on an AQDG build. Is there a base of 8.0 available already to flash with Odin so that I can use your ROM?
Gesendet von meinem SM-G955F mit Tapatalk
xPr0metheus said:
I am still on an AQDG build. Is there a base of 8.0 available already to flash with Odin so that I can use your ROM?
Gesendet von meinem SM-G955F mit Tapatalk
Click to expand...
Click to collapse
You can flash this rom via twrp. Only format data, wipe system, internal storage, dalvik, cache.
Them flash this from in twrp recovery.
Wysłane z mojego SM-G950F przy użyciu Tapatalka

[ROM][N960F/DS/N][ALEXNDR] * SAFWB3 * DevBase v7.4 * DeX, Gear & Encryption support

Important notes for Developers / Chefs !!!
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 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
EDIT: Note related to creating "$ZIPFILE" which contains a file larger than ~4GB (e.g. system.img): the order of adding content to "$ZIPFILE" is very important! META-INF need to be added as the first dir in the archive! Example (my DevBase case):
Code:
zip -r -9 N960FXXUxxxxx_DevBase.zip META-INF options.prop ALEXNDR
It seems that misunderstanding of the above problem is the main reason why many devs give up and do not use my base as a pattern.
Hello
I have decided to create a pure base with my unified installer (should work with many other Samsung devices), 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 for N960F/DS contains OXM multi CSC package, list of available CSCs is as follow:
ACR, AFG, AFR, ATO, AUT, BGL, BNG, BRI, BTC, BTU, CAC, CAM, CPW, DBT, DKR, ECT, EGY, EUR, GLB, ILO, INS, ITV, KSA, LAO, LUX, LYS, MAT, MID, MM1, MTL, MWD, MYM, NEE, NPL, NZC, OPS, ORX, PAN, PAK, PHE, PHN, PNG, PRO, ROM, SEB, SEE, SEK, SIN, SKZ, SLK, SMA, SMP, STH, TEB, TEL, THL, THR, TMC, TNZ, TPH, TUN, TUR, VAU, VFJ, VNZ, WTL, XEF, XEH, XEO, XEU, XEZ, XFA, XFE, XID, XME, XNX, XNZ, XSA, XSG, XSP, XTC, XXV, XNF
ROM for N960N contains OKR multi CSC package, list of available CSCs is as follow: KOO, KTC, LUC, SKC
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 - more informations you can find in related older threads, e.g. HERE
ALEXNDR.N960FXXSAFWB3:
1. Base:
- Odexed (original stock files) + stock kernel
- Multi CSC OXM (list of natively supported CSC as above) (*)
- Removed KNOX related content (useless on rooted phones)
- Removed Rlc.apk & vaultkeeperd (to avoid "OEM unlock issue")
- Rooted systemlessly (Magisk v23.0) (*)
- All original features are present and works (except KNOX related apps)
- Added "App Lock" feature (Settings -> Advanced features)
- 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 "Show network speed" toggle (Settings -> Display -> Status bar)
- 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] (*)
- NOTE: Applies to Oreo DevBase. There is no Xposed for Pie yet
4. Virtual / physical Safe De-Bloat (more info below) (*)
What does it mean and why is it called "safe"?
- ONLY apps available in stores are removed / skipped in DevBase, so you can easy (re)install any of these app if you like
- ONLY pre-installed system apps are removed / skipped, DevBase installer will never touch any updated app nor app installed manually from a store
- By default virtual Safe De-Bloat is applied with exact same effect as physical (completely skips apps at boot). You can force to delete apps physically but it is recommended only if you really need more space in /system
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 / skipped apps list:
Excel
Facebook
LinkedIn
OneDrive
PowerPoint
Word
(*) - 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. Allowed values:
# true - install Magisk as root solution (default)
# false - do not root device
root=true
# 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
xposed=auto
# CSC Selection. Allowed values:
# KCSC - Keep current CSC, recommended in most cases (automatic selection or keep current CSC contents).
# You can force the use of natively supported CSC by typing (use UPPERCASE!): ACR, AFG, AFR, ATO, AUT, BGL,
# BNG, BRI, BTC, BTU, CAC, CAM, CPW, DBT, DKR, ECT, EGY, EUR, GLB, ILO, INS, ITV, KSA, LAO, LUX, LYS, MAT,
# MID, MM1, MTL, MWD, MYM, NEE, NPL, NZC, OPS, ORX, PAN, PAK, PHE, PHN, PNG, PRO, ROM, SEB, SEE, SEK, SIN,
# SKZ, SLK, SMA, SMP, STH, TEB, TEL, THL, THR, TMC, TNZ, TPH, TUN, TUR, VAU, VFJ, VNZ, WTL, XEF, XEH, XEO,
# XEU, XEZ, XFA, XFE, XME, XNX, XNZ, XSA, XSG, XSP, XTC, XXV, XNF
CSC=KCSC
# Custom CSC Features. Allowed value in each line: <Example_line>value</Example_line>
<CscFeature_Common_SupportWcdmaInSlave>true</CscFeature_Common_SupportWcdmaInSlave>
<CscFeature_VoiceCall_ConfigRecording>RecordingAllowed</CscFeature_VoiceCall_ConfigRecording>
<CscFeature_Setting_EnableMenuBlockCallMsg>true</CscFeature_Setting_EnableMenuBlockCallMsg>
<CscFeature_Setting_CustNetworkSelMenu4>LTEONLY</CscFeature_Setting_CustNetworkSelMenu4>
<CscFeature_Setting_SupportRealTimeNetworkSpeed>true</CscFeature_Setting_SupportRealTimeNetworkSpeed>
<CscFeature_SmartManager_ConfigSubFeatures>roguepopup|autoclean|autorestart|applock|trafficmanager</CscFeature_SmartManager_ConfigSubFeatures>
<CscFeature_SmartManager_DisableAntiMalware>true</CscFeature_SmartManager_DisableAntiMalware>
<CscFeature_SystemUI_SupportRecentAppProtection>true</CscFeature_SystemUI_SupportRecentAppProtection>
<CscFeature_Message_DisplaySmsTimeAs>server</CscFeature_Message_DisplaySmsTimeAs>
<CscFeature_Message_DisplayMmsTimeAs>server</CscFeature_Message_DisplayMmsTimeAs>
<CscFeature_Camera_ShutterSoundMenu>true</CscFeature_Camera_ShutterSoundMenu>
<CscFeature_RIL_ForceConnectMMS>true</CscFeature_RIL_ForceConnectMMS>
# Custom physical debloat list. Allowed value in each line: path to app's directory in /system.
# (NOTE: wildcards are allowed here)
/system/*app/SamsungPass*
/system/*app/SamsungPay*
/system/*app/SecureFolder*
/system/app/SecurityLogAgent
/system/priv-app/Fast
/system/priv-app/Rlc
# 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!)
Excel_SamsungStub.apk
Facebook_stub.apk
FBAppManager_NS.apk
FBInstaller_NS.apk
FBServices.apk
FotaAgent.apk
LinkedIn_SamsungStub.apk
OneDrive_Samsung_v3.apk
PowerPoint_SamsungStub.apk
Word_SamsungStub.apk
NEW !!! Starting from DevBase v3.0 there is a new customization method - you can change frequently switched root options or encrypt your device just by renaming installer's ZIP file name (instead of editing options.prop file). Currently supported "strings" in the file name: "noroot", "encrypt", "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 - do not root device
(place "noroot" string anywhere in the ZIP file name, e.g. "N960Fxxx_DevBase_v6.x_noroot.zip")
Regardless of the above root options, starting from DevBase v4.4+, you can also use "encrypt" option (place "encrypt" string anywhere in the ZIP file name, e.g. "N960Fxxx_DevBase_v6.x_encrypt.zip"). All your data will be encrypted "on-the-fly" at next boot after ROM update/reinstall. Wipe data is NOT necessary to use this option. You will NOT lose your data & apps but it is extremely important - do not interrupt encryption process during this "special" boot! Booting can take much longer and you may think it is a bootloop, but it isn't! If you have a large amount of used data - it is recommended to connect your phone to the charger during boot (and open a beer to avoid heart attack while waiting). You do not need to use "encrypt" option again in case of another DevBase update(s) - please read carefully notes below.
In DevBase ROM 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. "N960Fxxx_DevBase_v6.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 ROM 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_N960Fxxx_DevBase_v6.x.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. "N960Fxxx_DevBase_v6.x_xposed.zip". Next ROM's updates will detect and apply Xposed profile automatically, unless you wipe /system - then auto detection is not possible.
Notes related to encrypted devices:
How to confirm that your data are encrypted:
1. Go to TWRP and check if it is possible to mount /data. If NOT - all is ok "Failed to mount '/data' (invalid argument)" will be the a frequent message that you need to like in the future
How to update DevBase ROM to a newer version:
1. Copy a newer DevBase ROM to extSdCard or OTG storage (you do NOT need to use "encrypt" option in ZIP file name again, if your device is encrypted already - it just remain encypted)
2. Go to TWRP -> "Install" and flash ZIP file from extSdCard or OTG
3. That's all
The risk of data loss in case of encrypted devices, depending on the ROM scenario:
1. DevBase only: VERY LOW RISK (*)
2. Coming from other custom ROM with encrypted data - MEDIUM RISK (recommended backup)
3. Installing other custom ROM over DevBase - MEDIUM RISK (recommended backup, anyway)
4. Installing pure stock (using Odin) over DevBase (or over any other custom ROM) - VERY HIGH RISK (not recommended!)
(*) There is still a risk to get into a bootloop if you install stuffs like: Xposed framework, incompatible Magisk or Xposed module, incompatible systemless MOD in /data/devbase/system, etc. In case of bootloop just try to use "rescue" option described above
EDIT (Dec-01-2019): Very important info!!! Encryption will not be possible if you format /data using new TWRP (3.3.x-x). If you prefer encrypted device - it is highly recommended to use TWRP 3.2.3-x to format /data. If you are not sure which version you have used to format data - it is much better to perform clean install using TWRP 3.2.3-x to format /data before forcing encryption. More info HERE
Notes related to EFS backup:
During install, my ROM's installer always performs EFS backup to {storage}/.backup/efs (where {storage} may be /external_sd, /usb-otg, /sdcard - in the preferred order). It is recommended to copy EFS backup occasionally outside the phone and store in safe location (PC, OTG, etc). There are 2 backups - when you first time installed my ROM (efs_backup.tar.gz) and recent, created additionally, just in case (efs_recent.tar.gz). Most useful will be most probably the first one (efs_backup).
You probably will never need these files, but sometimes s**t happens and restoring EFS backup may be the only one way to rescue your device!
When do I need to restore EFS backup?
- lost/invalid IMEI number
- proper IMEI but unable to connect to the network
- connected to the network but unable to make a call and/or transfer data
- unrecoverable bootloop (even after clean DevBase install with default settings)
NOTE: In contrast to many other custom ROMs - my installer uses gzip compression (*.img.gz) to store EFS backup(s). Restore command for your device is stored in txt file in the same directory with EFS backup. If you forgot command - you can read txt file containing proper command @ PC (Notepad) or even directly form TWRP using Terminal's 'cat' command, e.g.:
Code:
cat /external_sd/.backup/efs/efs_backup.txt
NOTE: Do not panic, read the txt file peacefully and type command exactly as it is in TWRP's Terminal, then tap blue [enter] button. After all - please reboot device. If the problem was EFS related - your device just has been rescued
Installation:
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!
Wipe data is NOT required if you are coming from stock ROM (already rooted) 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 format /system before install my DevBase (my installer cleans your system well enough!).
Credits:
@samsung for awesome device & stock firmware base
@Chainfire for systemless SuperSU and a lot of inspiration
@topjohnwu for Magisk and another inspiration
@rovo89 for Xposed framework & Xposed Installer app
@dr.ketan for being helpful whenever needed
@Zackptg5, @osm0sis & @jcadduono for no-verity*
@corsicanu & @geiti94 for TWRP recovery
@fei-ke for omc-decoder
Hit Thanks button if you like my work. If you really appreciate my work - feel free buy me a coffee/beer (or flowers/wine for my wife who is patiently enduring my hobbies) https://www.paypal.com/donate/?business=RFGVQYRC34RVQ&currency_code=EUR
Due to the fact, that some countries banned PayPal - I have created also Patreon site: https://www.patreon.com/_alexndr
Download ROM
SM-N960F/DS:
>> N960FXXSAFWB3_DevBase_v7.4.zip << (Android 10, updated Mar-05-2023, more info HERE)
SM-N960N:
>> N960NKSU3FVA1_DevBase_v7.4.zip << (Android 10, updated Mar-25-2022, more info HERE)
SM-N96xF/DS/FD/N repository:
>> Note 9 repository << [ AFH | MediaFire ]
Note:
Check MD5 sum BEFORE flash (useful TOOL), because flashing damaged or incomplete ZIP files could (soft) brick your phone! Correct MD5 sum is shown on the AndroidFileHost website while downloading.
Changelog
v7.4 (starting from N960NKSU3FUC1 DevBase):
- Fixed unzip issue which caused unexpected installation termination - applies to TWRP 3.5.0_9-1 and newer
v7.3 (starting from N960FXXU5DTCA DevBase):
- Fixed bootloop issue in case of Android Q and "noroot" scenario - thanks to @Zackptg5 for the up to date dm-verity disabler
v7.2 (starting from N960FXXS5DTB6 DevBase):
- Fixed bootloop issue in case of Android Q and encrypted devices (applies to dirty update)
v7.1 (starting from N960NKSU3DSLC DevBase):
- Potential fix for "make_ext4fs: not found" error in newer TWRP versions and in result "Failed! Not enough space..." message appears while applying CSC during install (applies to N960x devices)
v7.0 (starting from N960FXXU4DSLB DevBase):
- Initial support for Android Q / system-as-root devices
v6.0 (starting from N960FXXS2ARL3 DevBase):
- Introduced logging entire installation process (to devbase_install.log file, placed in /data or /cache in case of encrypted devices). These logs may significantly increase the possibility of my help in case of problems with/after installation
- Major imrovements/bugfixes/optimizations related to Android Pie support (e.g. takes care about special SELinux contexts for /odm content, introduced in Pie)
- Removed SuperSU support. Changed allowed "root" variable value in options.prop to true/false (backward compatible with old options.prop)
- Removed "skipblcp" option - baseband/modem will be always updated, bootloader need to be flashed separately (update is usually not mandatory)
v5.9 (starting from N960FXXS2ARH6 DevBase):
- Changed device detection method to bootloader's prefix (instead of ro.product.*)
- Improved support for applying custom mods automatically at each ROM's install/update, introduced in v5.6 (added support for etc, fonts, media & usr directories in {storage}/devbase/system)
- Added support for custom {storage}/devbase/post-installation.sh script
v5.8 (not released for N960F):
- Improved unzip_flash function in the installer to detect properly more flashing errors (e.g. EXT4 partition mismatch)
v5.7 (not released for N960F):
- Improved/expanded built-in RMM lock prevention (thanks to @jesec for idea of overriding properties via factory.prop)
- OEM unlock status will always be displayed correctly in Developer options (to avoid confusion) with stock kernel included in the DevBase ROM
v5.6 (not released for N960F):
- Added "App Lock" feature (Settings -> Advanced features)
- Added Xposed framework as installation option (it is NOT forced by default - you need to force it manually while installing with Xposed first time, e.g. by "xposed" string in ZIP's file name, but next ROM's updates will detect and apply Xposed profile automatically, unless you wipe /system - then auto detection is not possible)
- Added support for applying custom mods automatically at each ROM's install/update by placing modded apps in {storage}/devbase/system/(priv-)app or placing modded framework files in {storage}/devbase/system/framework (where {storage} may be: /sdcard, /external_sd or /usb-otg)
v5.5 (not released for N960F):
- Added support for flashing optional, CSC related partitions ($OMR, $PRELOAD)
- Added possibility to update recovery (optional, performs update if exists $NAME/images/recovery.img)
- Return to using only the original XML files in the CSC package (thanks to @fei-ke for omc-decoder)
- Partition(s) may be wiped only by writing new block's image
- Minor optimizations / improvements in the installer
v5.4 (not released for N960F):
- Big step forward in DevBase ROM customization ability - almost all current ROM features (hidden up to v5.3) have been moved to options.prop (you will be able to easy add new or remove current feature)
- Return to dm-verity-opt-encrypt boot patcher if necessary (wherever it works well, there are still devices which need "no_verity" function introduced in v5.1)
- Initial support for forcing (changing) CSC in case of devices with /odm as CSC location
- Minor optimizations / improvements in the installer
v5.3 (not released for N960F):
- Improved algorithm of search & change "ro.security.vaultkeeper.feature" property to 0 (/system & /vendor)
v5.2 (not released for N960F):
- Added support for devices with /odm as CSC location
- Added support for flashing $ODM, $VENDOR, $KEYSTORAGE, $DQMDBG images
- Added support for custom debloat list and custom CscFeature list in options.prop
- options.prop file format has been changed to CR/LF (Windows) - more noob-proof solution, user can edit a copy of options.prop file even in Windows Notepad (the installer still supports ANY text format of options.prop file - Win/Unix/MAC)
v5.1 (not released for N960F):
- Created new "no_verity" function in the installer, compatible with Samsung's Oreo, based on @Chainfire's patch tool (no-verity-opt-encrypt has been removed). In case of Oreo & Magisk as root solution - "no_verity" function will be used as additional support for patching fstab* (as long as Magisk does not do it correctly)
v5.0 (not released for N960F):
- SYSTEMLESS DevBase has been removed due to the fact, that in case of modern devices/firmwares we need to perform many changes physically in /system anyway, so it loses the sense of use here. If you liked it - you can still install it separately from HERE (it does not need to be re-installed after ROM update as it is installed in /data)
- Added "skipblcp" option to let users skip BL/CP update (additionally it disables auto-reboot when the installer finished work as it is just not necessary then)
- Added "phydebloat" option to let users choose beetween virtual and physical debloat (to get more space in /system)
- Other (minor) optimizations & improvements
v4.6 (not released for N960F):
- Initial support for devices with /system/omc as CSC location
- SYSTEMLESS DevBase updated to v2.0 (see changelog HERE)
- Added possibility to force CSC by renamig ZIP filename. Due to the fact that trere are many different CSC and it is possible that $ZIPNAME may contain a CSC accidentally - to force CSC you need to put CSC in $ZIPNAME at the beginning and CSC must be followed by "_". Example $ZIPNAME (to force CSC DBT): "DBT_N960FXXU3xxxx_DevBase.zip"
- Added auto efs-backup during install. Installer will create first backup (efs_backup.img.gz) and recent backup (efs_recent.img.gz). The installer will prefer external storage as default backup location (/external_sd or /usb-otg) due to encryption support. MD5 sum and restore command will be stored in efs_backup.txt or efs_recent.txt file
- Other (minor) optimizations & improvements, e.g. added more error messages in case of something went wrong during install
v4.5 (not released for N960F):
- Added new "rescue" option (readable only as string in ZIP file name due to the fact, that we will need this option rarely). It can be a potentially very helpful option in case of bootloop @ encrypted device, caused by a systemless mod/module/xposed stored on /data (without access to /data from TWRP) - more info in post #1
- SYSTEMLESS DevBase updated to v1.14 (see changelog HERE)
v4.4 (not released for N960F):
- Added new "encrypt" option (readable only as string in ZIP file name due to the fact, that we need to do it only once). Now you can easy encrypt all data in your device, just during the ROM upgrade (without data loss).
- SYSTEMLESS DevBase updated to v1.13 (see changelog HERE)
v4.3 (not released for N960F):
- "root.supersu" & "root.magisk" variables in the options.prop file have been replaced by one "root" variable (dropped possibility to install both - SuperSU & Magisk - due to the fact that Magisk v13+ does not support SuperSU as root solution)
- SYSTEMLESS DevBase updated to v1.9 v1.12 (see changelog HERE)
v4.2 (not released for N960F):
- Added possibility to add systemlessly NEW apps to /data/devbase/system/(priv-)app (up to 5 apps in "app" & 5 apps in "priv-app"). The only condition is that you need to rename its directories to CustomApp[1...5] (e.g. CustomApp1, CustomApp2, etc..). These apps will remain even if you flash a new DevBase as corresponding dummy directories will exist in future DevBase updates
- In case of DevBase update or re-installation - installer will not remove your custom entries in /data/devbase/system/build.prop and in *.xml files placed in /data/devbase/system/csc
- SYSTEMLESS DevBase updated to v1.6 v1.8 (see changelog HERE)
v4.1 (not released for N960F):
- Added full Magisk support - MagiskSU is now default root solution (ROM should pass SafetyNet with Magisk Hide enabled in settings)
- Since systemless Xposed does not need to be re-installed every new DevBase I will release (in case of using the same root solution) - it makes no sense to keep it anymore as installation option
- SYSTEMLESS DevBase updated to v1.5 (see changelog HERE)
v4.0 (not released for N960F):
- A huge step in the systemless direction! DevBase installer now installs pure odexed stock ROM (just slightly debloated), then systemless SuperSU, then systemless DevBase, then (optionally) systemless Xposed
- All Knox related applications are available again (except SecurityLogAgent, to prevent annoying security alerts)
- Fake KNOX 0x0 status (check it in PhoneINFO app) - most of Knox related apps should work again, like in case of untouched KNOX flag
- All mods known from previous DevBase versions (up to v3.x) now are applied systemlessly - all modified files (including modded apps) are placed in /data/devbase/system instead of physical /system partition. Mods section (#4) has been updated to install mods to /data/devbase/system/(priv-)app if systemless DevBase has been detected (otherwise will be installed as usual, to /system)
- Deodex on-the-fly feature has been removed. If you really need deodexed ROM - you can install someone else's deodexed ROM, then systemless DevBase as an overlay
- Init.d support has been removed as it is deprecated (use su.d instead)
v3.8 (not released for N960F):
- Added hexpatch to root_from function (support for SM-N930x, thanks to @Chainfire)
v3.7 (not released for N960F):
- Another major improvement/bugfix in deodex_from function (full support for 64 bit OS)
v3.6 (not released for N960F):
- Major improvement/bugfix in deodex_from function (added "-g" switch to zip command - finally no issues in case of deodexed Android 6.0.1)
v3.5 (not released for N960F):
- Improved root_from function (Android 5.1+) - added "setprop selinux.reload_policy 1" removal from init.rc (thanks to @Chainfire)
- Fixed bug in new alghoritm for checking whether stock recovery should be installed or not (introduced in v3.4)
- Added new functionality - installer will store a copy of patched stock kernel in /data for those who flashed custom kernel but for some reasons want to revert to the stock kernel (Android 5.1+)
v3.4 (not released for N960F):
- Completely changed alghoritm for checking whether stock recovery should be installed or not (it applies to FlashFire users). Now it depends on previously used recovery (instead of checking KNOX flag which was not 100% reliable across devices/recoveries)
v3.32 (not released for N960F):
- Updated set_csc, kcsc_backup, kcsc_restore functions to support more devices
- Updated partition detection algorithm to support more devices
- Fixed path to options.prop file placed in external sdcard in case of updating Marshmallow while using FlashFire
- Minor intaller's optimizations/bugfixes
v3.31 (not released for N960F):
- Potential fix for reported problems with root (rare cases)
v3.3 (not released for N960F):
- Improved method of reading options from ZIP file name (previous was directory/path sensitive also)
- Added support to mod_csc function for other than UNIX text format (it's a little ridiculous, but in case of some CSCs - original /system/csc/other.xml file has Windows or MAC text format!)
- Initial support for options.prop file in CRLF text format (DOS/Windows)
v3.21 (not released for N960F):
- Fixed installer's issue if there is a [space] present in ZIP filename or a directory containing DevBase (see #1728)
v3.2 (not released for N960F):
- Another improvements in add_initd function (details - see v1.3)
- Improvements in set_perm, set_perm_rec and root_from functions (recovery-independent structure)
- Improvements in deodex_from function related to Android MM
- New get_con function in the main sh script (useful for devs)
- BusyBox updated to 1.22.1 (bionic) [no, this is NOT a mistake!]
- Minor intaller's optimizations/bugfixes
v3.1 (not released for N960F):
- Significantly improved "add_initd" function in the update-binary shell script. Added support for (probably) all available Samsung's platforms (e.g. Exynos) and all available firmwares (based on Android 4.4+)
- In case of installation with Xposed framework installer checks if Xposed Installer app is present in /data/app and installs it automatically if necessary
- Minor intaller's optimizations/improvements
v3.0 (not released for N960F):
- Entire installer has been re-written from the scratch! All "magic" moved to update-binary which is a shell script. It opens up new possibilities never possible before!
- Introduced new customization method - you can change most frequently switched options just by renaming installer's ZIP file name. Currently supported "strings" in the file name:
"noroot" (means "do not root"), "deodex", "xposed", "initd" (no other comments are required, I hope..)
- Starting from v3.0 init.d support is disabled by default
v2.3 (not released for N960F):
- Added option to install suitable Xposed framework in one step while installing DevBase (for maximum comfort). There is a new xframework.sh script - device independent structure and full Android 5.1+/6.0+ support. Backup method is compatible with well known Xposed uninstallers (tested with @wanam's)
v2.2 (not released for N960F):
- Significantly improved root_supersu.sh script - device independent structure and full Android 5.1+/6.0+ suport including on the fly kernel/ramdisk/sepolicy patching if necessary. SU binaries are still copied to /system as it is the best choice in case of custom ROMs
- Changed order of performed operations in the updater-script due to new root_supersu.sh script advantages
- Installer wipes partitions designated for RAW content (e.g. kernel / recovery image) before writing to them
- Minor additions in dex_injector.sh script related to Android 6.0+
v2.11 (not released for N960F):
- Fixed some minor installer's issues ("set_perm" function in set_csc.sh did not work correctly while using wildcards in the path (it was exclusively FlashFire issue! no problem with TWRP / CWM). Fortunately - only /system/etc/csc_*.txt were really "affected" - it didn't cause real issues as these files are empty)
v2.1 (not released for N960F):
- As some people felt a bit disapointed / worried about DevBase v2.0 ROM file size - finally I have decided to debloat stock system.img (in same way as in v1.x => "Safe De-Bloat") and remove option to install all available bloatware. ROM file size has been reduced from about ~2GB to about ~1.6GB. Note for Devs / Chefs: Do not use Windows tools - you need Linux with "selinux" package installed (to handle SELinux contexts) to mount (rw) system.img safely. If you want to add / change any system content this way - remember about proper chown/chmod/chcon
- Added device check during install as flashing directly to EMMC block is potentially more risky for "other" devices. Installer will abort installation if device is not N910F (trlte(xx)). If you want to try this ROM on other N4 devices - you need to remove this check manually from updater-script (it is more conscious procedure)
v2.0 (not released for N960F):
- Completely new concept of ROM development that makes it easy to build most tuned and nuanced custom ROMs. No more arduous manual analysis or (often) invalid permissions / SELinux contexts taken from a kitchen. The main idea is to flash original, stock /system image as EMMC block (in same way as PC Odin does) instead of extracting ZIP's contents to mounted partition, then setting permissions, then creating symlinks, etc. However, it requires more knowledge related to sh scripts as ALL necessary changes need to be done on the fly, while installing (e.g. by injecting modified classes.dex and/or modified images/xmls to /res/../* into an apk). There are no limits, all depends on your creativity!
- One common ZIP installer for Odexed and Deodexed ROM - you can control it by new "deodexed.rom" entry in options.prop (there is new dex_injector.sh script which can deodex on the fly the whole ROM using previously processed classes.dex files)
- ROM is still Safe De-Bloated by default but removing bloatware during install is not mandatory - you can control it by new "safe.debloat" entry in options.prop (there is new protection included to avoid overfilling /system in case of large size of additional MODs and/or large multi CSC package)
- Major improvements in csc_detect.sh script - it is able to detect previous CSC even in cases of flashing over e.g. CM based ROM and/or previously formatted system partition. However, if detected CSC is NOT included in my multi CSC package, in both mentioned cases it is still not possible to keep detected CSC (as there is no CSC related content to backup / restore)
- Improvements in all sh scripts - additional "metadata" entries in updater-script (related to processed contents) are not required
- Improvements in root_supersu.sh script - it is suitable for 32 and 64 bit OS
- Added full zip support from the command line
v1.x (initial version, further improvements, not released for N960F):
- Built without using a kitchen. All set_metadata* / symlink entries are result of arduous manual analysis. For more info about the method - see hidden content for Devs / Chefs in THIS thread.
- New customization method without using Aroma (options.prop)
- Many useful scripts for easy installation: CSC applying/autodetection, backup/restore of security files, backup/restore of existing CSC package, XML modding on the fly, root, init.d support
- Many small changes and improvements "in the meantime" which I simply do not remember...
- Safe De-Bloated (see post #1 for details)
Optional MODs
[WORK IN PROGRESS, MODDING HAS LOW PRIORITY]
These modifications I have done personally using (bak)smali tools - these are NOT "borrowed" from other custom ROM, nor from someone else's thread (thanks to @BlackMesa123, @corsicanu, @Grouxho & @yash92duster for their excellent modding guides). All ZIP files are TWRP flashable:
>> MODs for SM-N960F/DS <<
TIP: Are you tired with re-installing your favorite MODs every time you update this ROM? Just take advantage of the new DevBase feature, intruduced in v5.6 (see "Changelog"). It is enough to put your favorite apks and/or jars in /sdcard/devbase/system/(priv-)app (or ../framework) and these MODs will be detected & applied automatically every time you update this ROM. You can also use your /external_sd to store your favorite MODs (it is mandatory if you are using encryption).
Example for "N960FXXx2ARxx_DisableHighVolumeWarning.zip" (modded SystemUI.apk):
- unzip SystemUI.apk file from my flashable MOD
- create /sdcard/devbase/system/priv-app/SystemUI directory
- place modded SystemUI.apk in above directory
Next time you will update my ROM - my installer will use modded SystemUI.apk instead of stock app included in my ROM
NOTE: Use this feature consciously and carefully! It may happen that your MOD is not compatible with a newer Samsung's base (especially in case of major Android update)! I will warn you about it, but only in case of MY MODs, I am not able to predict what kind of mods you are using.
Okie :good:
holy crap
nice to see you here too Alex.
i can be your tester
downloading now
hopefully you can give us a patch kernel
note 9 can't be booted without root if twrp is installed.
also there's a bug with gear app which is pissing off a lot of devs here lol
---------- Post added at 12:56 AM ---------- Previous post was at 12:20 AM ----------
HOLY SHtttt
first rom that fixed the gear issue
it paired!!!!!
TheUndertaker21 said:
holy crap
nice to see you here too Alex.
i can be your tester
downloading now
hopefully you can give us a patch kernel
note 9 can't be booted without root if twrp is installed.
also there's a bug with gear app which is pissing off a lot of devs here lol
---------- Post added at 12:56 AM ---------- Previous post was at 12:20 AM ----------
HOLY SHtttt
first rom that fixed the gear issue
it paired!!!!!
Click to expand...
Click to collapse
After reboot as well?
Jenanga said:
After reboot as well?
Click to expand...
Click to collapse
yes
glad more devs are coming over
but this is the best one so far
---------- Post added at 01:14 AM ---------- Previous post was at 01:06 AM ----------
sadly SPAY for gear is being detected for root
worked on GSI roms
might be due to the kernel.
checked /data there's no su folder or anything
hopefully the dev can chin in
TheUndertaker21 said:
[...]
note 9 can't be booted without root if twrp is installed
Click to expand...
Click to collapse
This statement is not totally true Proper statement is as follows:
"Note 9 can't be booted with TWRP without necessary patches in the stock kernel"
In case of "noroot" scenario - some additional patches are applied to the stock kernel during install (on the fly), for example jesec's special dtb+fstab patch. Of course, without having device to test, I'm still not 100% sure if it works, but it SHOULD
TheUndertaker21 said:
HOLY SHtttt
first rom that fixed the gear issue
it paired!!!!!
Click to expand...
Click to collapse
Great to know
TheUndertaker21 said:
[...]sadly SPAY for gear is being detected for root
worked on GSI roms
might be due to the kernel.
Click to expand...
Click to collapse
Have you tried just to enable MagiskHide for this app manually? (NOTE: reboot is required afterwards)
I really doubt that there is something to do with the kernel to make it work.
_alexndr said:
This statement is not totally true Proper statement is as follows:
"Note 9 can't be booted with TWRP without necessary patches in the stock kernel"
In case of "noroot" scenario - some additional patches are applied to the stock kernel during install (on the fly), for example jesec's special dtb+fstab patch. Of course, without having device to test, I'm still not 100% sure if it works, but it SHOULD
Great to know
Have you tried just to enable MagiskHide for this app manually? (NOTE: reboot is required afterwards)
I really doubt that there is something to do with the kernel to make it work.
Click to expand...
Click to collapse
Hope you will get the device ??
Jenanga said:
Hope you will get the device
Click to expand...
Click to collapse
Hope he does too. But he does work without the device
_alexndr said:
This statement is not totally true Proper statement is as follows:
"Note 9 can't be booted with TWRP without necessary patches in the stock kernel"
In case of "noroot" scenario - some additional patches are applied to the stock kernel during install (on the fly), for example jesec's special dtb+fstab patch. Of course, without having device to test, I'm still not 100% sure if it works, but it SHOULD
Great to know
Have you tried just to enable MagiskHide for this app manually? (NOTE: reboot is required afterwards)
I really doubt that there is something to do with the kernel to make it work.
Click to expand...
Click to collapse
You should make one anyway lol.
Yeah, that's statement is what they told me I just poorly paraphrased it lol
Hiding magisk and spay don't work because the rom still detected root.
It worked for another stock rom because that rom was fully debloated
I'm not sure what else is being detected because spay doesn't provide the logs that it usually does
It does on gsi roms for some reason.
twrp, root (magisk 17.1) and encryption - all done in less than 40 minutes SUPER!!
I was a little bit scared to try this new rom on my new and expensive note 9 with 512 GB because the rom named with "TEST" - and I am by far not a PRO.
So I downloaded the stock ROM ( SM-N960F Region "LUX" ) with samfirm....just in case (it was not needed).
The Procedure is unbelievable easy:
I installed TWRP with ODIN, after the installation I disconnected usb connection, interrupted the download mode and switched directly into the recovery mode to start TWRP.
In TWRP I formated data partition and wiped all (dalvik/system/data/internal storage/cache). After that I directly
installed this ROM ( N960FXXS2ARH6_DevBase_v5.9.zip ) from SD card.
Next step was system start/setup incl. wifi (without waiting/problems) and the google login/setup. I installed titanium pro and root explorer (YES!! its rooted)
And the last step was flashing the renamed ROM ( N960FXXS2ARH6_DevBase_v5.9__encrypt.zip ) once more to get the encryption of my data partition.
Now I have a rooted AND encrypted Note 9 N960F/DS
SUPER!!!
Thanks a lot Alexander! :good: You really deserve a big donation on your account!
Some notes:
my note 9 forced to a factory reset when switched in developer options the OEM unlock. There was no way to avoid that (but at least there is no 7 days waiting period as it is reported for other devices).
Installing TWRP and avoiding a system reboot with many other samsung devices is soooo annoying.
With note 9 download and recovery mode are very easy to start and to switch.
This rom makes automatically efs backup on sd card - this is a VERY good security addon - "just in case"
I like to have multiuser support. Any idea how to get it?
steven1a said:
I was a little bit scared to try this new rom on my new and expensive note 9 with 512 GB because the rom named with "TEST" - and I am by far not a PRO.
So I downloaded the stock ROM ( SM-N960F Region "LUX" ) with samfirm....just in case (it was not needed).
The Procedure is unbelievable easy:
I installed TWRP with ODIN, after the installation I disconnected usb connection, interrupted the download mode and switched directly into the recovery mode to start TWRP.
In TWRP I formated data partition and wiped all (dalvik/system/data/internal storage/cache). After that I directly
installed this ROM ( N960FXXS2ARH6_DevBase_v5.9.zip ) from SD card.
Next step was system start/setup incl. wifi (without waiting/problems) and the google login/setup. I installed titanium pro and root explorer (YES!! its rooted)
And the last step was flashing the renamed ROM ( N960FXXS2ARH6_DevBase_v5.9__encrypt.zip ) once more to get the encryption of my data partition.
Now I have a rooted AND encrypted Note 9 N960F/DS
SUPER!!!
Thanks a lot Alexander! :good: You really deserve a big donation on your account!
Some notes:
my note 9 forced to a factory reset when switched in developer options the OEM unlock. There was no way to avoid that (but at least there is no 7 days waiting period as it is reported for other devices).
Installing TWRP and avoiding a system reboot with many other samsung devices is soooo annoying.
With note 9 download and recovery mode are very easy to start and to switch.
This rom makes automatically efs backup on sd card - this is a VERY good security addon - "just in case"
I like to have multiuser support. Any idea how to get it?
Click to expand...
Click to collapse
if you turn on OEM unlock it will force you to wipe
yeah there aren't any OEM jailb for FD model
i agree his rom is the best here so far
j̶u̶s̶t̶ ̶w̶a̶i̶t̶i̶n̶g̶ ̶f̶o̶r̶ ̶h̶i̶m̶ ̶t̶o̶ ̶m̶a̶k̶e̶ ̶t̶h̶a̶t̶ ̶k̶e̶r̶n̶e̶l̶ ̶i̶f̶ ̶h̶e̶ ̶h̶a̶s̶ ̶t̶i̶m̶e̶.̶ ̶ ̶s̶o̶ ̶g̶e̶a̶r̶ ̶s̶p̶a̶y̶ ̶c̶a̶n̶ ̶s̶t̶o̶p̶ ̶d̶e̶t̶e̶c̶t̶i̶n̶g̶ ̶r̶o̶o̶t̶
TheUndertaker21 said:
[...]
Hiding magisk and spay don't work because the rom still detected root.
It worked for another stock rom because that rom was fully debloated[...]
Click to expand...
Click to collapse
Are you sure that it is related to debloat? If you know what exactly need to be removed to make "spay" work - please let me know
(I'm an opponent of heavy debloat - I'm going to remove only really unnecessary stuff - harmful in case of rooted devices)
What do you mean by "... because the rom still detected root"? Do you mean "Custom" status instead of "Official" ?? If yes - I just prepared modified SysScope.apk for Note 9.
Please download the attachment, then replace original apk in /system/app/SysScope, then reboot device. Please let me know if it helps for "spay" (even if not - at least please let me know if "Device status" is "Official" with attached apk)
steven1a said:
[...]
Thanks a lot Alexander! :good: You really deserve a big donation on your account!
Click to expand...
Click to collapse
Big thanks :good:
BTW: I'm going to remove "TEST" word soon as it seems to be unnecessary
I'm going to re-upload the final version of this ROM soon with AppLock on board (just forgot about it). I also need a confirmation if attached "Official" status MOD works well in Note 9 (not placed it in initial version intentionally, but now it's time to put it in the final version).
steven1a said:
[...]
I like to have multiuser support. Any idea how to get it?
Click to expand...
Click to collapse
I never needed it, even never tested it, but just found this:
https://forum.xda-developers.com/galaxy-note-8/how-to/add-guest-mode-multiple-users-easy-t3756128
Im Bit confused after the last Statements. Whats now recommend for clean Flash (the rename stuff)
_alexndr said:
This statement is not totally true Proper statement is as follows:
"Note 9 can't be booted with TWRP without necessary patches in the stock kernel"
In case of "noroot" scenario - some additional patches are applied to the stock kernel during install (on the fly), for example jesec's special dtb+fstab patch. Of course, without having device to test, I'm still not 100% sure if it works, but it SHOULD
Great to know
Have you tried just to enable MagiskHide for this app manually? (NOTE: reboot is required afterwards)
I really doubt that there is something to do with the kernel to make it work.
Click to expand...
Click to collapse
i fixed that issue
i debloated the rom.
the error will popup if there are any trace of crappy knox apps there
i can use spay for gear now
Thanks for this Alex
---------- Post added at 10:08 PM ---------- Previous post was at 09:59 PM ----------
_alexndr said:
Are you sure that it is related to debloat? If you know what exactly need to be removed to make "spay" work - please let me know
(I'm an opponent of heavy debloat - I'm going to remove only really unnecessary stuff - harmful in case of rooted devices)
What do you mean by "... because the rom still detected root"? Do you mean "Custom" status instead of "Official" ?? If yes - I just prepared modified SysScope.apk for Note 9.
Please download the attachment, then replace original apk in /system/app/SysScope, then reboot device. Please let me know if it helps for "spay" (even if not - at least please let me know if "Device status" is "Official" with attached apk)
Big thanks :good:
BTW: I'm going to remove "TEST" word soon as it seems to be unnecessary
I'm going to re-upload the final version of this ROM soon with AppLock on board (just forgot about it). I also need a confirmation if attached "Official" status MOD works well in Note 9 (not placed it in initial version intentionally, but now it's time to put it in the final version).
I never needed it, even never tested it, but just found this:
https://forum.xda-developers.com/galaxy-note-8/how-to/add-guest-mode-multiple-users-easy-t3756128
Click to expand...
Click to collapse
also note this is for the gear spay not spay for phone
doubt we can get that to work lol
Jenanga said:
Im Bit confused after the last Statements. Whats now recommend for clean Flash (the rename stuff)
Click to expand...
Click to collapse
According to @steven1a's report - there is no lags/freezes after clean install at first boot in case of Note 9. Seems like the issue applies only to Android 8.0 (my other devices case)
TheUndertaker21 said:
i fixed that issue
i debloated the rom.
the error will popup if there are any trace of crappy knox apps there
i can use spay for gear now
Thanks for this Alex
Click to expand...
Click to collapse
My ROM has removed KNOX app.
Would you like to have more tuned/nuanced DevBase ROM? Could you point me which one I missed?
_alexndr said:
According to @steven1a's report - there is no lags/freezes after clean install at first boot in case of Note 9. Seems like the issue applies only to Android 8.0 (my other devices case)
My ROM has removed KNOX app.
Would you like to have more tuned/nuanced DevBase ROM? Could you point me which one I missed?
Click to expand...
Click to collapse
security agents, samsung pay framework
gonna flash your rom again and make a titaniumback and will let you know which stuff got deleted.
Jenanga said:
Im Bit confused after the last Statements. Whats now recommend for clean Flash (the rename stuff)
Click to expand...
Click to collapse
At first you format and wipe , so it is a "clean installation"
then flash the zip file with TWRP "as it is" from AFH
and for the encryption just add the word -encrypt- in the existing filename and "dirty" flash it on top (without format and wiping).
or/and just read again above
@_alexndr,
Here's the list of all the apps I removed.
View attachment 4605806

Categories

Resources