[ROM][N960F/DS/N][ALEXNDR] * SAFWB3 * DevBase v7.4 * DeX, Gear & Encryption support - Samsung Galaxy Note 9 (Exynos) ROMs, Kernels, Reco

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

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

[G920F/FD/W8/...][6.0+] SYSTEMLESS DevBase | Encryption support | Stock OTA updates

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?

[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

[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

[MAGISK Rom /Base Convertor) 420rom N986B V3.8 - DUF8 - ANDROID 11 - OneUI 3.1 - Sec Patch 07/2021 - Released 18/07/2021-EXYNOS!!!

{
"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"
}
WELCOME TO 420 ROM - MAGISK ROM FOR SAMSUNG GALAXY NOTE 20 ULTRA 5G N986B (EXYNOS)
Telegram-Group
Please bear in mind that things will be added as and when my learning and time permits (being a dad with a family and having ADHD myself means things get a lil gnarly) but i will aim to support this ROM as regularly as possible.
Ill usually release a test to one or two users before each release also - :cyclops:​
CUSTOMIZABLE ONEUI EDITION MAGISK ROM FEATURES: - with Vol +/- keys
-Add YouTube Vanced - thanks to Vanced peeps github
-Add 3minit battery - thanks G Harrington - if online menus don't appear, install the apk that the module places on your internal storage in the 420rom folder. (PLEASE SEE KNOWN ISSUES FOR INSTALLATION)
-Add 3minit clock - thanks G Harrinton (PLEASE SEE KNOWN ISSUES FOR INSTALLATION)
-Add V4A
-Add custom 420rom bootanimation thanks to @chalmizzle
-Add SamsungSans fonts apk
-Add Goodlock
-Add SoundAssistant (for increased vol steps)
-Add Customized Secsettings (420 banner in every phone info screen) (coming soon)
-Add Custom wallpapers (coming soon)
-Remove Chrome
(further debloat options for stock rooted base)
-Remove Bixby
-Remove Netflix
-Remove kidshome
-Remove Facebook_stub
-Remove FBservices
-Remove Upday
-Remove Onedrive
CORE MAGISK ROM FEATURES
-installs custom secsettings
-Detects OMC code and ensures correct OMC folders and files installed (multi OMC support hopefully coming - thankfully OXM should be sufficient for now - please let me know if your N986B CSC isn't supported and ill see what i can do)
-detects base rom or rooted stock and presents relevant install features and aborts if attempted to be installed on anything else - should help keep non compatible setups intact
-Device detection as i'll will now be supporting several N20 variants
Enabled the following CSC fetures: (thanks @m8980
- Disable shutter sound menu
- AppLock Protection menu
- Support RealTime Network Speed in status bar - working
- Enable Camera during call
- Enabled call recording
- Data usage in quick panel - the feature displays but not the actual data used - if anyone knows a fix, let me know
- Block call number menu
GOOGLE EDITION FEATURES (FURTHER TO THOSE IN ONEUI EDITION MODULE ABOVE)
This Module is based on the main Main 420rom Rom Module but replaces some of the Samsung apps with Google ones. It is recommended to backup your Samsung apps 1st!!!
Installed with Module - Samsung App it replaces
--------------------------------------
Google Phone - Samsung Phone
Google Contacts - Samsung Contacts
Google Messages - Samsung Messenger
Google Chrome - Samsung Internet Browser
Google Calculator - Samsung Calculator
Google Calendar - Samsung Calendar
Google Clock - Samsung Clock
Google Drive - Samsung Cloud (stays installed)
Google Files - Samsung MyFiles
Google Fit - Samsung Health (can be reinstalled from Galaxy Apps)
Google Pay - Samsung Pay
Google Keep Notes - Samsung Notes
Google Photos - Samsung Gallery
Google Recorder - Samsung Recorder
Google TTS - Samsung TTS
Google Duo - n/a
Google News - n/a
Google Tasks - n/a
Google Sounds (Sound Picker) - n/a
Google Apo - n/a
Google Carrier Services (for RCS) - n/a
GBoard - Samsung Keyboard
GMail - Samsung Email
YouTube Music - Samsung Music
YouTube Vanced, Vanced Manager & Vanced MicroG - YouTube
Nova Launcher - OneUI Launcher
RECOVERY FLASHABLE BASE FEATURES
-Does away with warning on splash
-Debloated a fair whack but not too much
-rebased with each firmware update (when possible)
-rooted with magisk manager
-latest disabler from @ianmacd included (cheers for this and TWRP mate)
-flashes latest TWRP during Base flash
Changelog
v3.8 (3.7 unreleased)
- rebase to DUF8 - July patch
V3.6
- Main big change is that install options are now taken care of by the (now renamed) MASTER MODULE - you will be presented with your installation options on the first zip you install - these will then be picked up by the ROM MODULE that will automatically flash the relevant features selected in the MASTER MODULE flash.
- Rebased to DUDA - (next update will probably just be a rebase as new June firmware will be here v soon)
- Magisk v23 installed
- I have included the Audio Modification Library module for until they sort V4a out. The process to get v4a working is:
1 - Activate the AML module in magisk and reboot then when rebooted into system start v4a and install drivers (it will reboot)
2 - on reboot, disable the AML module and then reboot system once more
3 - when rebooted to system, start v4a and reinstall the drivers
4 - v4a should be functional after reboot
V3.5
This version brings a lot of automation to the install process. The mother module script will detect if the convertor has been flashed over that particular firmware and then make the convertor zip automatically if it is needed - in the case of reapplication of the rom or if i bring out an incremental update on the same firmware then this will mean that the convertor will be skipped by the mother module script and the rom module will be made only.
In short, the Mother module does my job by cooking the rom module and convertor mid flash
-Also rebased to DUD1 firmware
v3.4 Simple rebase to DUC8
- rebase to DUC8 firmware and most recent TWRP added
v3.3 no more disabler required after odin flash
- disabler files now added to odin files, no standalone disabler flash required anymore.
- rebased to DUC1 March patch
- workaround was required for wallpapers and will have this back to normal next time but end result is exactly the same. We're just using the DUB6 apk in this firmware no wallpapers were showing with DUC1 wallpaperres.apk
V3.2 another big update!!!! - in addition to the changes brought in recently, i have decided that patching system files instead of replacing them will be better going forward - the upshot for you guys is that the install process is even quicker now and the total package size has gone from 500mb to 240ish mb, yet the end result is exactly the same as any other release The convertor copies the relevant files from device and the rom module makes the amendments needed.
- fixes to backup and restore function
- tidied up script a bit
Now live in link in first post!!!
3.1- smallish update in comparison but still needed
- Home up added to goodlock package in rom - this incorporates task changer
- fixed Auto backup backing up previous rom options when new Rom Module selection option is selected (i.e no to restoring)
- Will now NOT install if any firmware version other than the one matching the rom is present
3.0- addition of Rom Module options backup/restore and rebase to OneUI 3.1:
- I have created a new Rom Module backup and restore function which will read the setup of the last rom module install (v2.6 onwards only) and ask you if you want to restore your previous install options. It will also backup any CSC features choices you make. This was not easy due to the complexity of my other function
-soundassistant updated
-some script optimisations and tidy ups
-completely rebased to DUB6 OneUI 3.1 - hence V3.0
-CTS fix working perfectly and is included as an install option
2.5 - big refinement on changes in 2.4
- module base convertor now installs the cts fix module automatically and systemlessly
- the Mother Module sends the convertor to internal/420rom which will then delete itself after flash and replace it with the rom module in internal/420. This is because it could be confusing with so many folders
- convertor now clears any old 420rom modules
- the convertor checks for old internal 420rom directory and clears it if detected then sets up a new one.
- more general automation and tidy ups in scripts applied
- advanced power mode app added for booting to recovery on the fly easier
2.4 - Big format change - see second post
2.3.2 - incremental update
- Added CTS safteynet fix by @kdrag0n - (huge thanks for your contribution to the community man!!!) - thread
2.2-2.3.1 (unreleased xmas testing)
Rom-module
- rebased files to CUA2 Jan firmware
- moved all install and extract code to functions which are each called when you select an install option for the magisk rom module features - main upshot is that it saves a **** load of time installing the module. The long boring extraction list before the install options is now a past nightmare
- tidying up the script big time - variables defined for mod extraction paths etc - makes debugging much easier haha
Module Base
- rebased to CUA2 Jan firmware
- Latest TWRP from Ianmacd included from now on - the base will automatically flash this.
- updated disabler included
- Magisk updated to V21.2
v2.1 (unreleased) & 2.1.1
- Full script rewrite for a big big change in cscfeatures implementation method
- csc features are now selectable should you not wish to install all of them
- updated source to CTL5
- CSC mod fixes
- bugs and performance fixes
v1.1/1.1.1
-changed default wallpaper
-compressed mods in module zip to save space
-added debloat to updater script - debloat is carried out after image flash (fixed issues in 1.1.1)
-general theme refresh
-fixed sound assistant not installing
v1-b6-b10
-added CTS fix
-added wallpapers
V1-b5
-implemented updated 3minit install procedure @starbucks2010 - cheers for the help and code for my flashable zip
-added updated YoutubeV manager etc - install youtubeV from manager is recommended
-tidied up install script
V1-b3&4
-unreleased, research mules for failed patch testing :laugh:
V1-b2
- initial xda release
what's next? & Known Bugs we can't do much about or will sort eventually
-N980F/N985F support
-Google edition of the module
-incorporation of further goodies into magisk rom and base
-if A SYSTEM APP hasn't been removed, try uninstalling it you should now be able to - any updates installed over an original system app remain as they are data apps following an update
CORE DEV TEAM
Myself - team owner and Rom Module chef
@abun880007 - team co-conspirator
Huge thanks to.................
@abun880007 for the legendary support and collab
@Zackptg5 for the brilliant MMT Extended zip
Rooted with Magisk - thanks @topjohnwu
@topjohnwu for magisk
@Winb33) for the samsungsans7.2 fonts
@superr for the kitchen
@starbucks2010 @ASHLEY117 & @ZonalRipper for showing me winrar was sh## and for all you help with getting around these invisible system.dat.br issues i was having! :good::laugh: link to Beyond Rom S20 Thread
@Team_DeWitt for the Awesome V4A 2.7 - a must have for audiophiles!!
G Harrington for the 3minit apps
Team Vanced for bringing us all youtube Vanced
@dr.ketan for the various pointers and sage advice
Finally, @m8980, thanks for letting me adapt your CSC features into my module. :good::good::good:
DOWNLOADS
MASTER MODULES
STOCK ROOTED ODIN FIRMWARE
XDA:DevDB Information
[MAGISK Rom & Base], ROM for the Samsung Galaxy Note 20 Ultra
Install procedure for V2.4 onwards has changed drastically as has the format of the module base itself
From now on N20U and soon on N10 and Tab, there will be no more 4gb zip files to flash (im sick of the time wasted waiting for copying and flashing lol) - the total size of files has gone from 4.5GB to 450mb but you will have exactly the same end result!!!!!!
I have created an "Mother Module" or "MM" which, when flashed in Magisk, places a (Magisk installed) Rom Module zip and a (TWRP flashable) Module Base Convertor zip into their own folder on internal/420.
The next thing to do is to go to TWRP and locate the Module Base Convertor zip and flash it. This will apply all debloat and This will also trigger a marker that will allow the rom module to be flashed.
Once the first zip is flashed, you can then go and install the rom module as normal in Magisk
I will be providing rooted stock firmware to start the whole thing off
BEFORE YOU START. DO NOT ATTEMPT TO FLASH THIS OVER A DIFFERENT DEVS ROM - IT WILL CAUSE ISSUES. BACKUP APPS AND DO A FRESH STOCK INSTALL FIRST - that's even if you get past the failsafe
Install process assuming you are on matching firmware to the released Rom and rooted
1, Flash the mother module in Magisk - reboot to TWRP
2, In TWRP, flash Module Base Convertor located in internal/420- this will apply all the modifications and debloat to your rom that i used to on the Old full size zips
3, reboot and install rom module in Magisk as normal- all done!!!
Install Process assuming you are coming from earlier 420rom:
1, Using the odin files i have provided, flash BL, Modded AP, CP and HOMECSC in Odin with AUTOREBOOT off
2, Keeping phone plugged in, hold vol down and power to exit download and immediately hold vol up and power to enter TWRP.
3, flash Multidisabler & reboot.
4, Flash the mother module in Magisk - reboot to TWRP
5, In TWRP, flash Module Base Convertor - this will install a few generic niceties seen on the module bases of old (No red text etc) and debloat a fair whack of crap out
6, reboot and install rom module in Magisk as normal- all done!!!
on a side note........................
How i patch and add TWRP to the Stock AP file - aka making stock rooted odin flashable files
Producing a stock rooted firmware is really easy and i would hope it would be part of people's standard updating process from now on & will take most people 10 mins if instructions on Xda are read through but I will make them nonetheless.
1, extract firmware zip so you have BL, AP, CP and HOMECSC visible (Put CSC aside)
2, copy AP to internal on phone and patch with Magisk (install -> select and patch file). Once done, copy the Modded AP file (also called magisk patched tar) that Magisk produced from /downloads on your phone's internal storage back to your firmware folder - call this one Modded AP or whatever.
3, get the latest TWRP and rename to recovery.img, drop the image into the magisk_patched.tar (delete recovery.img.lz4 if present)
4, extract the BL folder and delete vbmeta.img.lz4 in the extracted folder, pull out vbmeta.img from magisk_patched.tar and copy to the BL extracted folder - re-tar this BL folder using 7z. DO NOT REMOVE VBMETA.img from magisk_patched tar - call this one modded BL file or whatever.
5, you can now go ahead and flash Modded BL, Modded AP, CP and Homecsc in odin
Reserved
another
one more
Yes!!! Definitely rooting and flashing!
Sent from my [device_name] using XDA-Developers Legacy app
speedyjay said:
yes!!! Definitely rooting and flashing!
Sent from my [device_name] using xda-developers legacy app
Click to expand...
Click to collapse
hello maaaatttteeee!!!!
Hi, I just wanted to know, with this rom, can you edit and modify system apps? Because am unable to do it, when I try to remove a system app, it won't let me. With the s20 this is fixed installing the vbmeta_disabled file.
Looks nice
mcgomfer said:
Hi, I just wanted to know, with this rom, can you edit and modify system apps? Because am unable to do it, when I try to remove a system app, it won't let me. With the s20 this is fixed installing the vbmeta_disabled file.
Click to expand...
Click to collapse
Can you possibly point me to this? could find this very handy (if it's shareable)
Thanks for the work.
Need a detailed installation guide.
Hi, are there any instructions for flashing this rom, because am flashing, but when finished and rebooting, it goes into bootloop.
tuanduy7453 said:
Thanks for the work.
Need a detailed installation guide.
Click to expand...
Click to collapse
Yeah, a detailed installation guide would be great.
Install procedure in second post
Dex not working
Samsung DEX doesn't seem to be working, tried to connect it to Samsung tv, but won't work. Any idea how to fix this?
Play store crash... Goodlock navbar not supported
and i cant take screenshot everywere it says... U cant bcoz of security policy.....
Nice working rom waitin more updates
ok now i have gotten past a tonne of the quirks this new device is throwing out so will be releasing an updated base and module shortly.
- any users of 3minit wont have to install the apk manually - just flash a zip i will provide and then select the option in the module install steps - took me a while to get my head around the /system mounting lol
- add themed secsettings
- add wallpapers
- take a look at Dex issue - can anyone else confirm this issue?
exocetdj said:
ok now i have gotten past a tonne of the quirks this new device is throwing out so will be releasing an updated base and module shortly.
- any users of 3minit wont have to install the apk manually - just flash a zip i will provide and then select the option in the module install steps - took me a while to get my head around the /system mounting lol
- add themed secsettings
- add wallpapers
- take a look at Dex issue - can anyone else confirm this issue?
Click to expand...
Click to collapse
Dex working fine for me.
For me DEX isn't working won't connect with Samsung smart TV.

Categories

Resources