[G928F/C/G/L/S/...][6.0+] SYSTEMLESS DevBase | Encryption support | Stock OTA update - Galaxy S6 Edge+ Android Development

SYSTEMLESS DevBase has been developed and physically tested on S7 Edge (G935F), so main thread containing the most detailed description you can find here:
>> [SAMSUNG][6.0+] SYSTEMLESS DevBase | Encryption support | Stock OTA updates <<
However, it should work on ALL SAMSUNG DEVICES running Android 6.0+, so if you are Galaxy S6 Edge+ (G928xx) 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 G928F 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

hello,alexdr
how are you?
i had flashed your nice rom in s5
do you make. rom for s6 edge plus?

_alexndr said:
Download
>> Recent SYSTEMLESS DevBase <<
Click to expand...
Click to collapse
I'm a little bit confused as the download link refers to S7edge SM-G935F

Androidwizzard said:
I'm a little bit confused as the download link refers to S7edge SM-G935F
Click to expand...
Click to collapse
Yes, agrees - DL link refers to S7edge, but only because there is no just "Samsung" device (generally, without number) to choose @ AndroidFileHost
That's why I put such big NOTE at the top of post #1:
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 Edge+ (G928xx) owner - please place your feedback & discussion here to let me know about device-specific issues or to let me know that everything works perfect
Click to expand...
Click to collapse

merry xmas ,mate
alexndr

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 <<

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 <<

DEV ,
tahnks for your hard work .
can you make a s7 edge nougat mod for samsung s6 edge plus ?

Related

[ROM] [2016.12.07] XT1096 5.x stock based rom

Updated 2016.12.07 - Post updated with current files, see end of post for links to helpful posts.
Updated 2016.04.14 - Post updated with current files.
Updated 2016.01.23 - This post has been rewritten for people who have unlocked their Verizon XT1096 through the Motorola unlock page. It is presumed that you have fastboot installed and working and that you have at least a 5.x version of Android on your phone. (Android version in Settings -> About phone) If not and you're still on 4.4.4, the information hidden at the bottom of this post will help you upgrade.
This ROM is based on the Stock ROM and has SuperSU v2.65, Xposed v80, Xposed Installer, BusyBox v1.24.1-Stericson, sqlite3, zip, aapt, and DNS support for Busybox apps pre-installed. System is mounted R/W via su.d script, addon.d scripts are supported, the Verizon part of the boot animation is removed, tethering is enabled. The following obsolete files are deleted from the stock image:
Avatar
AvatarPermissionsApp
Bug2GoStub
com.customermobile.preload.vzw
CQATest
DemoMode
fswriter
GuideMe
LMIRescue
LMIRescueSecurity
LocalWipePolicyManager
MediaShortcuts
MotoCare
MotoCareInt
VerizonSSOEngine
VMobileSecurity
VzwAVS
vznavigator
In addition to TWRP mentioned next, you'll need a few files on hand to complete the process:
XT1096-23.32-25-5-5-Firmware.zip - TWRP zip to update firmware.
xt1096-5.1-23.32-25-5-5-Mod.zip- The factory based modified ROM
A GApps package, this is possibly the most confusing part for new ROM flashers and will be discussed below.
xt1096-5.1-debloat.zip - Optional, removes some Verizon bloat, see list below
xt1096-5.1-debloat-keepconnect.zip - Same as above but retains Moto Connect and some files need for the Moto Gallery app.
If you want root, flash SuperSU from this thread: SuperSU Release (As of the time of this posting the direct link to the download is here: SuperSU-v2.78-201609011115.zip
If you want Xposed, flash xposed from this thread: Xposed thread you want the version for SDK22 for ARM. (As of the time of this posting, the direct link to the download is here: xposed-v87-sdk22-arm.zip
Here is the list of apps deleted by the debloat zip, the keepconnect version does not remove Motorola Connect:
ECID_VZW_Victara (Verizon Caller ID $)
GoogleHindiIME
GooglePinyinIME
iWnnIME
KoreanIME
com.gotv.nflgamecenter.us.lite
VZMessages
BodyGuardApp (Alerts)
Verizon Cloud
Verizon CloudSetup
Entitlement
MotorolaConnect
MyVerizon
VVM3 (Visual Voice Mail $)
GApps are Google Applications, the stock ROM originally had many of the GApps but they are outdated. Note: Due to changes in the Open GApps package, the minimum level that will work correctly with this ROM is the Micro package, the nano and pico packages probably won't work. Like other custom ROM's, if you want to use any Google services and/or the Play Store, you must install a GApps package. One source is here: Open GApps with an XDA discussion group here: XDA Open GApps When selecting your GApps package, choose ARM for the platform and 5.1 for the version of Android. Then any of the variants will work to give you access to the Google services. The XT1096 has plenty of room and resources for the larger packages. The "Full" variant is probably most like what the phone came with as stock. Be advised that the "Stock" and "Super" variants, by default, will replace the excellent Motorola camera app with the Google camera app. You can avoid this by creating a gapps-config.txt file kept in the same place as the installer zip. In addition, all but the "Nano" and "Pico" variants will put Google Photos in place of the stock Gallery app with it's Highlight Reel tool. Creating a gapps-config.txt file is described on the pages linked above. To avoid losing the Moto Camera and Gallery apps, you might have a gapps-config.txt file like this:
Code:
+Gallery
CameraGoogle
Collect all the needed zip files and place them all in your download folder on the phone or on a USB-OTG drive.
Install TWRP. The TWRP app from the Play Store doesn't always work reliably, install TWRP using fastboot. The latest official version is 2.8.7.1 and you can download it from here: https://dl.twrp.me/victara/. (Note: Some people have reported problems with official versions of TWRP getting stuck at the splash screen. See post 1013 for alternate versions of TWRP that may work for you.) Put the .img file in the same place that you run fastboot from, put the phone in bootloader/fastboot mode and run the following command (replacing the file name at the end with the file you want to flash):
Code:
fastboot flash recovery twrp-2.8.7.1-victara.img
The process only takes a couple seconds, ignore any errors about size mismatch. Use the volume down key to highlight recovery, then press the volume up key to select. The phone should reboot into TWRP. Make a backup, preferably to a USB-OTG drive before you do anything else. If something goes wrong with the next steps, you'll be able to restore the backup and be back to where you started.
In TWRP select WIPE, then Advanced Wipe. Select, Data, System, Cache and then slide the slider to begin the process. This will wipe the phone except for your pictures and other things on the "SDCARD" or internal storage. (The phone will enter setup when booting the first time after flashing the ROM. You might be able to get away with not doing the wipe, most people will have problems if the wipe isn't done due to the Google apps being updated from the stock installed versions.)
Return to the Home menu in TWRP, select install, then add zip. Select xt1096-23.32-25-5-2_gpt.zip. Tap add zip again and select xt1096-23.32-25-5-2_Firmware.zip. Tap add zip again and select xt1096-5.1-23.32-25-5-2_1.zip. These 3 must be first. Tap add zip again and select the GApps zip file that you selected. If you are debloating, tap add zip again and select that zip file. If you want the CM AudioFX, tap add zip again and select that zip (you can actually do this step in the future by itself if you want.) At this point you have at least 4 zips and possibly 6 selected; slide the slider to begin the flashing process. This will take a while, don't interrupt it. If the screen turns off, use the power button to turn it back on. When done, use the Reboot System button to restart the phone. The phone will reboot, it will show the logo and then the boot animation. It will take 4-5 minutes during which time the boot animation will appear to be stuck, don't panic, this is normal and will only happen the first time after a clean install. The phone should start an optimizing apps process and when that completes, you will see the first set up screen.
Enjoy your rooted stock ROM!
See post 2 for zips to add Viper4Android, restore Exchange2, or remove Xposed and links to other useful things.
See post 886 for flashable zips to change the boot logo and boot animation to a Marshmallow style.
See post 1009 for more info about the current files listed here.
See post 1057 for more info about the April 2016 security update.
See post 1108 for more info about the August/November security update and instructions to flash your phone to stock.
The info below is about mofo and previous versions of this rom. Most people won't need to look at it!
Updated 2015.09.16 - Jump to post 781 for the TWRP Stagefright patch update!
Updated 2015.09.12 - Jump to post 783 for the MOFO Stagefright patch update!
Below is the original information for using Mofo to flash 5.0 images, upgrade to 5.1 and other Mofo info. If you have used Sunshine to unlock your bootloader, you can still flash any of the old images using fastboot. Now, this thread will have images for flashing with both mofo and TWRP..
I've created a base XT1096 v5.1 stock based image that is setup like a custom ROM. This image has tether enabled in build.prop, Busybox and SQLite3 are installed. The ROM has been rooted with SuperSU. Support for DNS in Busybox is included. Certain apps that are potentially spyware or are outdated have been removed. Even more stock apps can be removed via TWRP with the xt1096-5.1-debloat.zip file available in post 2. As time permits I'll create some more TWRP zip files to add Viper4Android, the stagefright patches when released, etc.
Important: This ROM, like other custom ROMs, does not included GApps (like PlayStore, etc.) Most everyone will want to download a GApps package and include it in the list of zips to install in TWRP. There are several GApps packages out there, TK GApps are very flexible and can be configured to install just the bare minimum or the full set of Google Apps: TK GApps 5.1 If using Xposed, you will need to reinstall the Xposed Installer app from here: XposedInstaller_3.0_alpha4.apk; you will then need to open the Xposed Installer and enable your installed modules before they will function.
The TWRP flashable image is available here: xt1096-5.1-stock-20150820.zip
If you do a clean flash (wipe data), it takes 4-5 minutes for the phone to start the first time.
See some useful links and additional TWRP zips in the next post!
Here is a nice guide for upgrading from the Mofo to the unlocked bootloader with Sunshine, installing TWRP and using the TWRP compatible zips by @betarepeating:
Starting with 5.1 Mofo Rooted image provided in this thread:
First install/run sunshine. This process was painless and easy and I'm not going to waste my time typing instructions here.
Nuke the "Warning Message" boot logo
Instructions | Download
Just opened that folder and typed:
Code:
fastboot flash logo logo.bin
Installing TWRP
Instructions | Download
then do
Code:
adb reboot bootloader
fastboot flash recovery twrp.img
fastboot reboot
Now when you boot to recovery you will see TWRP!
Installing Apps
===============
Boot into recovery (TWRP)
Made backups of /system and /boot (didnt backup /data because I don't have an OTG cable or room on my internal storage - but you should!)
Copied backups to my PC
Copied the following to the TWRP folder on my phone (could put them anywhere doesnt matter):
xt1096-5.1-stock-20150820.zip
xt1096-5.1-debloat.zip
xt1096-5.1-CM-Stuff.zip
tk_gapps-modular-mini-5.1.1-20150816-signed.zip
xposed-v71-sdk22-arm-by-romracer-20150816.zip
Links to download are in the second post of this thread
Went into Wipe > Advanced Wipe and checked system and dvalik-cache and wiped them.
Installed all the zips from above in the listed order (all that matters is the xt1096-5.1-stock-20150820.zip goes first)
Rebooted
Phone sat and optimized for a long time
While waiting I downloaded:
XposedInstaller
AdAway
CF.Lumen
Dropped the APKs onto my phone once it was booted and ran them from file explorer.
Done.
=================================================
Here is the original info and links for Mofo 5.0 images:
The mofo image file with Xposed v65 baked in is listed below. It is based on the image posted by btdownloads7. It includes root, tether, BusyBox and SQLite3 while adding Xposed v65.
You need to flash an image with root from here: http://forum.xda-developers.com/showpost.php?p=60537982&postcount=1 to be able to follow the instructions below.
You also need to install the alpha Xposed apk from here: http://forum.xda-developers.com/attachment.php?attachmentid=3383776&d=1435601440 Download the apk to your phone, find it with your phone file manager and click on it to install. Do not try to install the framework from within the Xposed installer.
While in your root file manager, navigate to /data/dalvik-cache and delete both the "arm" and "profiles" folders. (This is needed one time due to a glitch in the alpha Xposed for Lollipop.) You must do this!
Connect your phone to your pc and issue the "adb reboot-bootloader" command to get into fastboot mode (or use the proper key combination on the phone to enter fastboot mode.)
Flash the image file with mofo as normal.
After mofo completes its work, enter "fastboot erase cache" from your pc to flush the system cache.
Once done, reboot the phone. The boot animation will end and seem to freeze for a minute or two, then it will start the upgrading/optimizing apps process. Once your phone is booted up, open the Xposed installer from the app drawer, install a module (like Gravity Box for LP) and enjoy!
Note: If you get system memory full errors after the reboot, you didn't delete the folders in /data/dalvik-cache as noted above; with luck you will be able to delete them in between error messages and reboot. Otherwise, you'll need to flash an image without Xposed and start over.
XT1096_5.0-tether-root-bb-sqlite3-XposedV65.img.7z - XT1096 image for use with mofo. Includes HDR fix, tether, root, busybox, sqlite3 and Xposed v65
http://forum.xda-developers.com/attachment.php?attachmentid=3383776&d=1435601440 - Link to Xposed Installer Alpha 4 needed for Xposed v65
XT1096_5.0-tether-root-bb-sqlite3-XposedV65-DeBloat.img.7z - Image with bloat removed, see this post for details: Post 169
XT1096_5.0-tether-root-bb-sqlite3-XposedV65-DeBloat-AdAway.img.7z - Image for AdAway users with symlink for hosts file, see this posrt for details: Post 188
Here is the info for 5.1 Mofo Images, updating, patching, etc.:
Thanks to @JulesJam and @Slack3r we have Android 5.1 for the XT1096 with mofo! Below are links to the 5.1 mofo image and patch files.
These images have tether enabled, root, Sqlite3, BusyBox, Xposed, CF.lumen and support for AirAudio, AdAway, iOS Emoji fonts and Viper4Android with the latest TK Gapps installed. Here are the main files:
5.1bins.7z - Kernel, modem and other 5.1 update files
xt1096-5.1-v3.1g-pkg.7z - Base image
You should save the base 5.1 image file. When there are updates in the future, patch files will be used to work with this base image.
@JulesJam has written an excellent guide for new users (and those who might need a refresher) here: Mofo Noob Guide
These images are for Android 5.1. If you are still running 5.0, here are instructions for upgrading to 5.1:
The following presumes that you already are running a rooted mofo version of Android 5.0. You shouldn't loose your data by making this upgrade, however, it is always wise to backup anything on your device that isn't also stored somewhere else. As usual, I can't be responsible if your phone malfunctions in some way. I have installed these files following the instructions below without any difficulty.
First, download the 5.1 base file and the 5.1 base image with patches.
Do not remove your SIM card, leave it installed.
Using your root file explorer (like ES Explorer with root enabled), delete everything in /data/dalvik-cache - YOU MUST DO THIS! Then reboot into bootloader mode.
Extract the files from the 5.1bins.7z archive and then run these commands:
Code:
fastboot flash logo logo.bin
fastboot flash boot boot.img
fastboot flash modem NON-HLOS.bin
fastboot erase modemst1
fastboot erase modemst2
fastboot flash fsg fsg.mbn
fastboot flash recovery recovery.img
Then, immediately use mofo to flash the 5.1 image. Reboot your phone and enjoy Android 5.1!
The base image can be patched to enable/disable features. The patch files are listed below and instructions on how to apply them are here:
First, you need to have the Xdelta3 program:
xdelta3 for Windows x86
xdelta3 for Windows 64-bit
xdelta3 for Linux
For Linux, extract the files from the archive, enter the folder with the extracted files and run the following command to install xdelta3 to your system:
Code:
./configure && make && make install
For windows extract the xdelta3-3.0.9-x86.exe file from the zip and rename it to xdelta3.exe.
Put the patch file(s), the xdelta3 program and the base image mofo file into the folder where your mofo program file is.
Open a command window in this folder.
Enter the "dir" command (Without quotes. You should see your files listed including xdelta3, mofo, etc.)
For both Windows and Linux users enter the following cmd while in your mofo directory:
Code:
xdelta3 -d -s base_image_file patch_file
In other words, to patch the base image to add Xposed, your command would look like this:
Code:
xdelta3 -d -s xt1096-5.1-mofo-base-v2.img base-to-base_xp.patch
The patched image will be created and you can then flash that like normal.
Make sure the newly created image is the exact same size as the original image. If a patch for another image is applied to the wrong image, there will be an error message displayed. Even if there is an error, a patch file may be created but it will usually not be the same size as the original.
The patch files for the base image are included in the image archive
In the archive are patches to do the following:
3.1{x}--3.1{x}-de - Removes some apps from v3.1f image
3.1{x}--3.1{x}-cf-de - Removes some apps from v3.1f image, keeps CF.lumen
3.1{x]--3.1{x}-v4a - Adds Viper4Android to the image
3.1{x]--3.1{x}-v4a -cf-cmt-de - Adds Viper4Android to the image with some apps removed
The apps removed in the Debloat patch(es) are listed here:
Code:
3c_main (Moto Apps Manager)
3c_checkin (Moto Apps Connector)
3c_notification (Moto Apps Notifications)
3c_ota (Moto Apps Data Manager)
BodyGuardApp (Moto Alerts)
Books (Google Books)
CF.lumen
Chrome (Google Chrome)
Cloud (Verizon cloud storage)
Drive (Google Drive)
Ears (Google Sound Search)
ECID_VZW_Victara (Verizon CallerID pay service)
EditorsDocs (Google Docs)
EditorsSheets (Google Sheets)
EditorsSlides (Google Slides)
FaceLock (Face Unlock)
Google Earth (Google Earth)
Google HindiIME (Hindi keyboard)
Google PinyinIME (Pinyin keyboard)
Google PlayGames (Playgames (not playstore))
Hangouts (Google Hangouts)
Inbox (Google Inbox)
iWnnIME (iWnn keyboard)
Keep (Google Keep)
KoreanIME (Korean keyboard)
Maps (Google Maps)
Messenger (Not Messaging)
MotorolaConnect (Connect to watches or your PC)
Music2 (Google Play Music)
MyVerizon (My Verizon Mobile)
News & Weather (News & Weather widget)
Newsstand (Google Magazines)
Nflgamecenter (NFL App)
PlusOne (Google+)
Quickoffice (Google Quickoffice)
Talkback (Google Talkback)
Translate (Google Translate)
Trebuchet (CM Launcher)
Videos (Google Play Movies & TV)
VVM3 (Verizon Visual Voicemail)
VZMessages (Verizon Messages)
VzwEntitlementService (Not needed with tether in build.prop)
Wallet (Google Wallet)
YouTube (Google YouTube)
Tips:
The image includes AdAway support. If you want to use AdAway, go into the AdAway settings and set the location of the hosts file to /data/data/hosts
To change the bootup animation, place your desired bootanimation.zip file (not the installer zip) into /data/local/moodle and set the permissions to rwx rwx rwx (chmod 777) and owner:group u0_a40:u0_a40
To use iOS Emojis, follow these instructions:
Code:
If iOS Emojis are desired,
Copy /system/fonts/NotoColorEmoji.ttf.iOS to
/data/data/NotoColorEmoji.ttf
To restore the stock font,
Copy /system/fonts/NotoColorEmoji.ttf.stock to
/data/data/NotoColorEmoji.ttf
Or, just delete the file and the system will copy the
stock one into place at the next boot.
Changelog:
Code:
xt1096-5.1-v3.1f - 2015.08.06
- Major improvement to updated /system app cleanup
of apps in /data. Now takes 2 seconds instead of 90
Cleanup happens seamlessly, no reboot required
- Add CF.lumen v3.00, will add to debloat list if any requests
- Add CM's AudioFX, remove moto Audio Effects
- Add CM's Trebuchet Launcher, not in debloated image
On first boot of image with Trebuchet, you will be prompted to retain
the Google Now Launcher, select Always to keep the current launcher.
Launcher can be changed in Settings->Home
- Add patch to include Viper4Android v2.3.4.0 in image
Patch disables Selinux enforcing to allow V4A to work
Patch removes AudioFX
- Update Xposed Framework to v69
Minor changes don't require clearing dalvik-cache
- Updated Chrome to v44.0.2403.133
- Updated Docs to v1.4.292.15.35
- Updated Drive to v2.3.283.23.35
- Updated Moto App to v3.0.45
- Updated VZ Message+ to v5.6.5
- Patches now included with image & version update patch archive:
3.1e--3.1f.patch - Version update patch
3.1f--3.1f-v4a.patch - Patch to add Viper4Android
3.1f--3.1f-de.patch - Patch to debloat image
Requests for additional patch variations will be considered
xt1096-5.1-v3.1e - 2015.08.01
- Fixed incorrect permissions on Inbox causing fc
- Update Xposed Framework to v68
- Update Google Play Services to v7.8.95
- Update Chrome to v44.0.2403.128
- Update Connect to v2.06.16-pc-249
- Update My Verizon Mobile to v10.0.751
- Update Google Play Music to v6.0.195S.2109908
- Update Google+ to v6.0.0.99065591
- Update Maps to v9.12.1
- Update NFL Mobile to v12.0.28
- Update Photos to v1.2.1.99143001
- Update Translate to v4.0.0.RC08.99220384
- Updated debloat list
xt1096-5.1-v3.1d - 2015.07.29
- Fix problem with Connect force closing.
- Add Google Camera in addition to stock Moto Camera
xt1096-5.1-v3.1c - 2015.07.28
- Made change in updated play store app cleanup to account for
unexpected data in /data/system/packages.xml possibly causing
system failure to set correct processor parameters. Possible
infinite loop corrected.
- Added Google Inbox, rolled in updated versions of Google Photos,
Verizon Cloud, Message+, MyVerizon.
- Add Google Inbox to debloat list.
xt1096-5.1-v3.1b - 2015.07.25
- Fixed problem where apps updated by play store could be incorrectly
reverted to /system version which was actually older.
- Rolled into /system latest versions of: Google Keep, Maps, YouTube, Wallet.
- Restore stock Email app that was accidentally removed.
xt1096-5.1-v3.1a - 2015.07.21
- Fixed some directory permissions.
- Restored stock mms app to image.
- Rolled updated versions of apps into system:
NFL Game Center
Google Docs
Google Slides
Verizon Message+
- Added functionality for system to automatically remove
obsolete copies of apps in /data/app when new image has
newer or equal version of those apps (same as custom Roms.)
Release 5 - 2015.07.20
- Base file name: xt1096-5.1-v3.1.img
- Exchange is enabled in Gmail, old stock email was removed.
- Add PA-Gapps Stock package 20150717 - updates all Google
apps to versions available as of the date noted. Thanks
to TKruzze & osm0sis @ xda for their work.
- Updated Motorola and Verizon apps are integrated into image.
- Removed deprecated Spotlight player
- Installed AdAway and Xposed Installer into /system
- Corrected permissions on auto created /data/data/hosts file
- Install Air Audio in base image. (Future MMU will give option
to disable/enable this as well as other apps.)
- Updated Xposed to v67 (nothing major changed from v65)
- Made iOS Emoji support permanent by creating a symlink.
The Emojis will not be available until the second time
booting with this image.
If iOS Emojis are desired,
Copy /system/fonts/NotoColorEmoji.ttf.iOS to
/data/data/NotoColorEmoji.ttf
To restore the stock font,
Copy /system/fonts/NotoColorEmoji.ttf.stock to
/data/data/NotoColorEmoji.ttf
Or, just delete the file and the system will copy the
stock one into place at the next boot.
Release 4 - 2015.07.15
- Base file name: xt1096-5.1-v3.0.img
- Fix security context and ownership on BusyBox symlinks
- Add symlink for /system/etc/resolv.conf to /data/data/resolv.conf
Does not require user action, allows BusyBox DNS resolution by
creation of /data/data/resolv.conf file. Make one like the
following if you want to use Google's nameservers for DNS resolution
in adb shell programs like nslookup, traceroute, etc. Remember.
the adb shell nslookup, etc. only work after you su to root.
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 4.4.4.4
- Add Better Battery Stats XDA version as a system app
- Add /system/etc/mofobuild.prop with name of image installed
- Alpha version of Mofo Utility
Release 3 - 2015.07.10
- Base file name: xt1096_5.1_mofo-base-v2.img
- Fix broken BusyBox installation
Release 2 - 2015.07.09
- Base file name: xt1096_5.1_mofo-base.img
- Correct security context on /system/etc/install-recovery.sh to value
in original ROM instead of value as (not) set by SuperSU installer
causing script to not run at boot.
- Make AdAway support the default. Added functionality to create
/data/data/hosts file on boot, if it doesn't exist, for users who
don't wish to use AdAway ensuring there will be no problems in
resolving localhost for apps/processes that might use that.
- Shorten and simplify names of base and patch files.
- Upgrade SuperSU from v2.46 to v2.49
Initial Release - 2015.07.05
- Base file name: XT1096_5.1-tether-root-bb-sqlite3.img
XDA:DevDB Information
Mofo XT1096 5.x Images, ROM for the Moto X 2014
Contributors
mikeoswego
ROM OS Version: 5.1.x Lollipop
Based On: Stock
Version Information
Status: No Longer Updated
Created 2015-05-04
Last Updated 2017-06-28
Updated 2016.01.21 - xt1096-5.1 & 23.32-25-5x TWRP based zips
The zips attached below are available for use with TWRP on the xt1096-5.1 & 23.32-25-5x images:
xt1096-5.1-Viper4Android.zip - Adds Viper4Android (disables selinux security and removes Audio Effects app)
xt1096-5.1-Mail-Exch2.zip - Restores stock email & exchange2, included in xt1096-5.1-23.32-25-5_3. Flash after flashing GApps
xt1096-5.1-Rem-Xposed.zip - Removes Xposed from ROM, use only after ROM has been started and setup is complete
See post 886 for a flashable alternate boot logo and boot animation.
Useful Links:
CF.lumen xda thread - Or search the Playstore fo CF.lumen
BetterBatteryStats xda thread - Get the BetterBatteryStats installer here
TWRP for Motorola Moto X 2014 - TWRP info page for MotoX 2014
TWRP for victara - TWRP download page
Open GApps for Android 5.1 - Google Apps installer
AdAway xda thread - Get AdAway from here
Was first!
Are the steps the same to flash the updated image with the boot animation or can I just flash and wipe cache. I literally just booted the previous Xposed image after installing GravityBox and a few other modules and this is the first thing I see lol.
Thanks so much for the image though, it took a while to boot and start apps but it hasn't given me any issues otherwise yet.
fakieskr8333 said:
Are the steps the same to flash the updated image with the boot animation or can I just flash and wipe cache. I literally just booted the previous Xposed image after installing GravityBox and a few other modules and this is the first thing I see lol.
Click to expand...
Click to collapse
If you are already running the previous image with Xposed, you can just flash the new one in the normal way with mofo, no special steps needed.
Nvm
That's some animation! Sometimes I reboot just to watch it.
I don't seem to have the new animation....everything else is working fine though..
Empty \data folder
I didn't seem to have anything in my \data folder so I proceeded with flashing the image. Now, it appears I have the memory issue. Also, the apk for the xposed intaller seems to be for Alpha 2 - does that matter?
Thanks for everything!
Updated without any issues at all. Now time to get crazy with modules! Thanks again!
dudicle said:
I didn't seem to have anything in my \data folder so I proceeded with flashing the image. Now, it appears I have the memory issue. Also, the apk for the xposed intaller seems to be for Alpha 2 - does that matter?
Thanks for everything!
Click to expand...
Click to collapse
Hmmm. Found 'em! Wonder if I needed root to see those files in the first place. Since this was my first flash away from unrooted stock, I didn't have root yet. Anyhow, deleted them and reflashing the image. So far so good...
I can't seem to be able to install the Xposed Framework after I flashed this image. Is there something I'm missing??
dudicle said:
Hmmm. Found 'em! Wonder if I needed root to see those files in the first place. Since this was my first flash away from unrooted stock, I didn't have root yet. Anyhow, deleted them and reflashing the image. So far so good...
Click to expand...
Click to collapse
Right you have to have root to be able to delete the dalvik-cache files. I'll edit the first post.
Aroch925 said:
I can't seem to be able to install the Xposed Framework after I flashed this image. Is there something I'm missing??
Click to expand...
Click to collapse
The framework is already installed in the image. You can't install the framework from the Xposed installer for two reasons. First, this root doesn't open up /system for writing (which Xposed normally needs for installation), and two, this alpha version of Xposed for Lollipop doesn't install the framework on its own anyway, it has to be flashed from recovery (but we don't have a recovery yet so it has to be baked in.) Hope that makes it more clear!
mikeoswego said:
The framework is already installed in the image. You can't install the framework from the Xposed installer for two reasons. First, this root doesn't open up /system for writing (which Xposed normally needs for installation), and two, this alpha version of Xposed for Lollipop doesn't install the framework on its own anyway, it has to be flashed from recovery (but we don't have a recovery yet so it has to be baked in.) Hope that makes it more clear!
Click to expand...
Click to collapse
So does that mean I can't actually use Xposed yet?
Aroch925 said:
So does that mean I can't actually use Xposed yet?
Click to expand...
Click to collapse
It means you just go to the download section and choose the modules you want to install. The installer can't install the framework but it does install the modules you want to use. :good:
tjohnstone3 said:
I don't seem to have the new animation....everything else is working fine though..
Click to expand...
Click to collapse
The new animation is quite different so you would know if you had it. I had the previous version of this image with Xposed linked in the OP for a few minutes after first posting it. The file you dl'd should have been named XT1096_5.0-tether-root-bb-sqlite3-Xposed.img.rar. If not, dl it again from the link in the OP.
dudicle said:
Also, the apk for the xposed intaller seems to be for Alpha 2 - does that matter?
Click to expand...
Click to collapse
The Xposed framework is alpha 4 but the installer is only alpha 2 because no changes have been needed in that part.
What is the fix for low memory. I flashed this img with mofo but I cant seem to resolve the low memory issue? Thanks
---------- Post added at 12:46 AM ---------- Previous post was at 12:39 AM ----------
Jah Ruggz said:
What is the fix for low memory. I flashed this img with mofo but I cant seem to resolve the low memory issue? Thanks
Click to expand...
Click to collapse
Disregard..I did not realize I had a recovery that I could wipe cache from. I will try that and see if it works.
Thanks for the image- love it, well documented tutorial helped heaps. Do you plan on updating this thread with new updates or by chance taking feature requests?
Cheers - Harrison

[SAMSUNG][Android 6.x/7.x/8.x] SYSTEMLESS DevBase v2.1 | Encryption support

Hello
Do you remember my custom ROMs for older devices? Do you remember my "DevBase" and its idea? If not - please read hidden content below:
>> [ROM] DevBase for Note 3 (SM-N9005) <<
>> [ROM] DevBase for Note 4 (SM-N910F) <<
>> [ROM] DevBase for S5 (SM-G900F) <<
>> [ROM] DevBase for S5 Duos (SM-G900FD) <<
Since I created these custom ROMs - many things have changed. Main idea of my previous work was the ability to flash these ROMs over stock ROM without wipe data - to let users simply jump between official ROM and DevBase with most necessary modifications for advanced users. It was relatively simple to implement until Samsung introduced both: dm-verity's boot prevention + forced /data encryption (starting from S7/S7edge series). What does it mean? If you disable /data encryption - you are able to use TWRP like in older devices, you are able to flash custom ROMs available in this section, but you are not able simply switch to official stock ROM. Since I bought my S7 edge I realized, that the most reasonable way is to go in the "systemless direction".
Are you tired with traditional custom ROMs?
Do you miss custom ROMs but do not want to decrypt your device (for privacy/security reasons)? (!)
You are in the right place! I present you SYSTEMLESS DevBase - an SYSTEMLESS equivalent of my previous work (see hidden content above)
SYSTEMLESS DevBase is developed and physically tested on S7 Edge (G935F). However, it should work on ALL UNLOCKED SAMSUNG DEVICES running Android 6.x/7.x/8.x. Exynos? Snapdragon? NO MATTER !!!
Prerequisites:
- Samsung device running stock or stock-based Android 6.x or newer (7.x/8.x)
- Rooted device - Magisk v12+ or SuperSU v2.76+ installed in SYSTEMLESS mode (!)
- Stock, untouched /system partition (not mandatory, but recommended for OTA)
(!) WARNING (related to installing TWRP and/or rooting Nougat - e.g. ZPLN, DPLT or newer): There are confirmed reports that installing TWRP and/or rooting encrypted phones running stock Nougat causes bootloop (even if you just flash TWRP, without rooting). You will need to restore both - stock recovery and stock kernel (if you e.g. tried to flash SuperSU or other ZIP which might modify the kernel) to make your device bootable. You need to remove stock encryption (by formatting /data after rooting). If you need data encryption - you can easy re-encrypt already rooted device (by setting "KEEPFORCEENCRYPT" flag to "true" before (re)flashing Magisk or SuperSU).
SYSTEMLESS DevBase v2.0:
1. Benefits / main features:
- Works with encypted /data partition (**) (!)
- Working official OTA updates! (see Tips & Tricks - post #4)
- 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)
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 (**)
- Added 4G/3G network support (master/slave SIM card - applies to Duos variants)
- Call Recording (added "Record" button, auto record calls - starting from Nougat)
- Enabled "Recent App Protection" feature
(**) may not work starting from Android 7.0 Nougat
Installation:
1. 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" (DO NOT wipe /cache after flashing in case of encrypted /data!)
2. FlashFire app (***):
- Open file using "Flash ZIP or OTA" option
- UNTICK "Mount /system read/write" [extremely important for working OTA!]
- Tap "FLASH"
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
@topjohnwu for Magisk, another inspiration & some binaries used separately
Hit Thanks button if you like my work. If you really appreciate my work - feel free to buy me a beer
Download
>> SYSTEMLESS_DevBase_v2.1.zip <<
>> 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
v2.1:
- Fixed potential "Google Play services" FCs in case of S8 or newer device(s)
v2.0:
- Initial support for devices using /system/omc CSC location (e.g. S8 / S8+ / Note 8)
- Added support for /system/preload as app location
- Other improvements & optimizations in the installer
v1.15:
- Added support for BINDSBIN mode (required by latest suhide) in case of SuperSU as root solution
v1.14:
- Added possibility to bypass all systemless mods by creating /cache/.disable_devbase file. It is usefull option especially for encrypted devices (without access to /data from TWRP) in case of you experienced bootloop due to placing a problematic MOD in /data/devbase/system/.. If /cache/.disable_devbase file exists then all systemless mods in ../app ../framework & ../piv-app will be moved to /data/devbase/system/.backup
- Backup all mods (to /data/devbase/system/.backup) instead of delete in case of major Android update has been detected
v1.13:
- Fixed bug with combination Magisk v15+ & SYSTEMLESS DevBase if we are trying to install one by one directly after wipe/format data
v1.12:
- Improved compatibility with Magisk v15+
v1.11:
- Fixed issues and improved compatibility with Magisk v14.5+
v1.10:
- Fixed not working /sbin support after clean installation of Magisk v14+, then SYSTEMLESS DevBase
v1.9:
- Improved/tuned compatibility with Magisk v13+ (which has been re-built from the scratch)
- Updated Magisk's binaries (e.g. resetprop function is now an applet available in magisk binary)
- Systemless BusyBox will be installed even with Magisk (since it has been removed from Magisk v13+)
v1.8:
- Fixed unroot2ota script to work while busybox is NOT in the $PATH (typical Magisk's case)
v1.7:
- Added support for /sbin via /data/devbase/sbin (you can only add a NEW item, e.g. script/binary/executable file). It can be an interesting feature for advanced users which would like to add custom commands, because /sbin is in the $PATH
- resetprop & unroot2ota now are placed in /sbin, in result unroot2ota command will natively work even with Magisk (without SuperSU)
v1.6:
- Improved/fixed Systemless Safe De-Bloat - now it should work in any case (even if enforceskippingpackages.txt file does not exist in your stock FW)
- In case of SYSTEMLESS 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
- Added new features to Systemless CscFeature MOD: Allow 3G network mode in case of slave SIM card (Duos variant); Enabled "Recent App Protection" feature
v1.5:
- Added full support for MagiskSU as root solution. SuperSU is no longer the only available prerequisite
- Improved build.prop support in case of SuperSU as root solution, without magisk installed (seems like we can't rely on resetprop binary @ Android N)
- unroot2ota: removed SuperSU's sukernel dependency
v1.4:
- Improved/changed support for /data/devbase/system/build.prop file (uses @topjohnwu's resetprop binary)
- "ro.warranty_bit" & "ro.boot.warranty_bit" are set to "0" at boot -> fake KNOX 0x0 status (uses @topjohnwu's resetprop binary)
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
v1.1:
- Added SYSTEMLESS support for /system/framework
- Added SYSTEMLESS support for /system/build.prop (overrides & additions)
- Added SYSTEMLESS BusyBox bionic (the most stable and respected release)
- Added major Android update detection (auto-remove mods for older API to prevent bootloops & FCs)
- 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
v1.0:
- Initial version
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).
UPDATE: Due to the fact that installing TWRP and/or rooting encrypted phones running stock Nougat is not possible without format /data - the above described advantages applies to stock ROMs based on Android up to 6.0
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 may be performed if /data/devbase/system/build.prop file has been added, modified or removed (SuperSU case). 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 SamsungCamera6): Create "SamsungCamera6" directory in /data/devbase/system/priv-app and then put modified "SamsungCamera6.apk" file into it. Set rwxr-xr-x (755) permissions to "SamsungCamera6" directory, rw-r--r-- (644) permissions to "SamsungCamera6.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
Optional MODs
I put some of my favorite MOD's. 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 FlashFire / TWRP flashable ZIPs.
These MODs are compatible with SYSTEMLESS DevBase - installer will try to detect if your /system has been moddified (or not) already. If the installer will not detect any popular /system modifications like SuperSU / busybox / Xposed (installed to /system) then will try to install app systemlessly to /data/devbase/system/(priv-)app
1. Modified Camera app:
- Full functionality of the Camera app in low battery
2. Modified Messages app:
- 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 G935F (Marshmallow) << (**)
>> MODs for G935F (Nougat) << (**)
(**) Original apps come from stock ROM for G935F, but these MODs should work on all S7 flat & edge variants (Exynos based)
In case of MODs installed to /system - you can restore original apk using backup stored in /data/alexndr/backup
Incredible work, man! Thanks
I'm HAPPY to see you in this Forum with an S7edge !
@_alexndr
Congrats mate! Great job I will test it in a few days
# 1 question
What about framework folder support with modded files ?
# 2 question
Modded deodex apps putted in /data/devbase/system folders will work on odex system ?
For example:
/data/devbase/system/priv-app/SystemUI/SystemUI.apk
will be deodexed
but orginal one:
/system/priv-app/SystemUI/SystemUI.apk
will be odex (with arm folders)
# 3 question
For example if I put systemui.apk the modded will be run and original no ? Or they collaborate toggether ?
Edit:
If I correct understand examples they are colaborate
# 4 question
system/etc/permissions files not supported too ? For exapmle platform.xml
••••
This tool have a BIG potential to be the greatest !
Have a nice day
ambasadii said:
@_alexndr
Congrats mate! Great job I will test it in a few days
# 1 question
What about framework folder support with modded files ?
# 2 question
Modded deodex apps putted in /data/devbase/system folders will work on odex system ?
For example:
/data/devbase/system/priv-app/SystemUI/SystemUI.apk
will be deodexed
but orginal one:
/system/priv-app/SystemUI/SystemUI.apk
will be odex (with arm folders)
# 3 question
For example if I put systemui.apk the modded will be run and original no ? Or they collaborate toggether ?
Edit:
If I correct understand examples they are colaborate
# 4 question
system/etc/permissions files not supported too ? For exapmle platform.xml
����
This tool have a BIG potential to be the greatest !
Have a nice day
Click to expand...
Click to collapse
#2: Deodexed apps works great in odexed rom, but odexed apps will not work at all in case of deodexed framework!
SYSTEMLESS DevBase uses bind mounts so entire /system/priv-app/SystemUI directory (and its content) will be virtually replaced by /data/devbase/system/priv-app/SystemUI => it means you will not see oat/arm directory => entire app will act as deodexed in /system/...
See attached screenshots - first is with moded SamsungCamera5 present in /data/devbase/system/priv-app, second is after deleting /data/devbase/system/priv-app/SamsungCamera5 (and reboot)
Now it is good time to answer #1: With framework I intentionally dropped possibility to replace systemlessly files in .../framework (for security reasons @ to avoid unintentional bootloops). Imagine that you "systemlessly" replace ../framework/oat directory by empty one => then all jars corresponding to *.odex files in oat/arm(64) will immediately require classes*.dex files inside jars (otherwise will not work). Even if you replace entire framework by deodexed (with classes.dex inside jars) -> as I stated above (answer #2) -> almost all apps in /system/app & priv-app will stop working as almost all apps are originally ODEXED.
Imagine also that you leaded device into bootloop by replacing files in framework AND you have encrypted /data. There is no easy way out for normal users (which are not able to play with "fake" /cache/su.img to make workaround matched to the problem) they will not be able just remove files (causing the problem) from /data/devbase/system/framework using TWRP
In sum - thats why I have not introduced such possibility for normal users, but you as the DEV may extend this idea and try to systemlessly replace entire framework, app & priv-app by deodexed content (I have not tested it personally, IMO it does not worth the effort)
#3: The answer is now clear from the answer to question #2 - modded will run and original will NOT (original will "virtually disappear")
#4: It is easy to extend support for etc/permissions/* files by editing 0000000devbase, I will think about it
Now almost everything is clear
so for example if i put /data/devbase/system/framework/services.jar and delete from system/framework/oat/arm64/services.odex file should work ?
add support for etc/permissions/* files to fix ext-card permissions (platform.xml)
ambasadii said:
Now almost everything is clear
so for example if i put /data/devbase/system/framework/services.jar and delete from system/framework/oat/arm64/services.odex file should work ?
add support for etc/permissions/* files to fix ext-card permissions (platform.xml)
Click to expand...
Click to collapse
The only way to "virtually remove" files using this method is "fake" (e.g. empty) parent directory. Another way is to create "fake" file with same name (but size 0 bytes).
There is a chance that it will work for services.jar - but such "fun/play" is only for advanced DEVs, like you :good: you need to extend support for framework and subdirectories in 0000000devbase su.d script. Then you can try to systemlessly replace jar by deodexed&modded one in /data/devbase/system/framework... and odex file by "fake 0 sized" odex in /data/devbase/system/framework/oat/arm64/...
EDIT: @ambasadii, there is no need to "remove" (whatever it means) odex file as it will be ignored in case of jar or apk contains classes*.dex inside
Ok I will test it
Sent from my SM-G935F using XDA-Developers mobile app
_alexndr said:
you need to extend support for framework and subdirectories in 0000000devbase su.d script. Then you can try to systemlessly replace jar by deodexed&modded one in /data/devbase/system/framework...
Click to expand...
Click to collapse
correct ?
Code:
if [ -d "/data/devbase/system/framework" ] ; then
for i in `ls /data/devbase/system/framework` ; do
mount -o bind /data/devbase/system/framework/$i /system/framework/$i 2>/dev/null
done
fi
if [ -d "/data/devbase/system/etc/permissions" ] ; then
for i in `ls /data/devbase/system/etc/permissions` ; do
if [ -f "/data/devbase/system/etc/permissions/$i" ] ; then
mount -o bind /data/devbase/system/etc/permissions/$i /system/etc/permissions/$i 2>/dev/null
fi
done
fi
EDIT: @ambasadii, there is no need to "remove" (whatever it means) odex file as it will be ignored in case of jar or apk contains classes*.dex inside
Click to expand...
Click to collapse
good news, remove it means delete
ambasadii said:
correct ?
Code:
if [ -d "/data/devbase/system/framework" ] ; then
for i in `ls /data/devbase/system/framework` ; do
mount -o bind /data/devbase/system/framework/$i /system/framework/$i 2>/dev/null
done
fi
if [ -d "/data/devbase/system/etc/permissions" ] ; then
for i in `ls /data/devbase/system/etc/permissions` ; do
if [ -f "/data/devbase/system/etc/permissions/$i" ] ; then
mount -o bind /data/devbase/system/etc/permissions/$i /system/etc/permissions/$i 2>/dev/null
fi
done
fi
Click to expand...
Click to collapse
Basically correct but you need to add bind mounts only for files (just in case)
I will send you today new (pre-release v1.1) version with "slightly tuned code" and with support for framework
good news, remove it means delete
Click to expand...
Click to collapse
Nice joke :silly: "whatever it means" => FYI => it may also mean bind mounts with files (0 bytes size)
Welcome to the S7 bro
Hi alexndr
I love you from 9005 to now.
Plz add a option in cmera mod,that under i geting 60fps video,i can get pic.
Mean, camcorder 60fps and camera pictures together .
I cant write eng.plz exercise me.
Sent from my SM-G935F using Tapatalk
Awesome to see you here! Thanks @_Alexandr
Gesendet von meinem SM-G935F mit Tapatalk
Nice to see a familiar face in the S7 (E) section! Good luck with all your plans here.
Verstuurd vanaf mijn SM-G935F met Tapatalk
Nice to find you here Alexandr, been using your Roms on my old note 3 about 8 months ago and they were the most stable "custom Roms". But then you were providing a full unmodified ROM with root access, can you do something like this here for those of us that wish it? I personally don't have access to a PC so I can't flash newer firmwares with Odin, so I'm stuck using flashable ROMs.
It is possible to install magisk and work hide magisk for apps, for example bank apps?

[ROM][G935F/FD][ALEXNDR] * U8EUE1 * DevBase v7.4 * Encryption support [Jul-10]

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 G935FXXU2xxxx_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
ROM contains my extended CSC package, which I called G935FAXX (this is a combination of OXX, OXA, OXE, OLB, OJV, OJK + some additional). Final list of available CSC is as follows:
ACR, AFG, AFR, ALE, ARO, ATO, AUT, BGL, BNG, BTC, BTU, BVO, CAC, CAM, CAU, CEL, CHK, CHO, CHP, CHQ, COO, CPW, CYO, DBT, DKR, DRC, ECT, EGY, EON, ETL, EUR, GLB, ILO, INS, INU, ITV, KOR, KSA, LUX, LYS, MAT, MAX, MID, MM1, MRT, MRU, MTZ, MWD, MYM, NEE, NPL, NZC, ORX, PAK, PCL, PCT, PCW, PHE, PHN, PTR, ROM, SEB, SEE, SEK, SER, SIN, SIO, SLI, SLK, SMA, SMG, SKZ, STH, THL, THR, TMC, TPA, TPH, TPL, TRG, TTR, TTT, TUN, TUR, TWO, UPO, UYO, VIM, WTL, XEF, XEH, XEO, XEU, XFA, XFE, XFM, XFU, XID, XME, XSA, XSG, XSP, XTC, XTE, 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.G935FXXU8EUE1:
1. Base:
- Odexed (original stock files) + stock kernel
- Multi CSC (list of natively supported CSC as above) (*)
- Removed KNOX related content (useless on rooted phones)
- 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] (*)
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, ALE, ARO, ATO,
# AUT, BGL, BNG, BTC, BTU, BVO, CAC, CAM, CAU, CEL, CHK, CHO, CHP, CHQ, COO, CPW, CYO, DBT, DKR, DRC, ECT,
# EGY, EON, ETL, EUR, GLB, ILO, INS, INU, ITV, KOR, KSA, LUX, LYS, MAT, MAX, MID, MM1, MRT, MRU, MTZ, MWD,
# MYM, NEE, NPL, NZC, ORX, PAK, PCL, PCW, PHE, PHN, PTR, ROM, SEB, SEE, SEK, SER, SIN, SIO, SKZ, SLI, SLK,
# SMA, SMG, STH, THL, THR, TMC, TPA, TPH, TPL, TRG, TTR, TTT, TUN, TUR, TWO, UPO, UYO, VIM, WTL, XEF, XEH,
# XEO, XEU, XFA, XFE, XFM, XFU, XME, XSA, XSG, XSP, XTC, XTE, 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/KnoxCore
# 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
FBInstagram_stub.apk
FBServices.apk
FotaAgent.apk
Hangouts.apk
MSSkype_stub.apk
Music2.apk
OneDrive_Samsung_v2.apk
OneNote.apk
Photos.apk
PowerPoint_SamsungStub.apk
Videos.apk
WhatsApp.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 (NOTE: you will get unmodified ROM!)
(place "noroot" string anywhere in the ZIP file name, e.g. "G935Fxxx_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. "G935Fxxx_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. "G935Fxxx_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_G935Fxxx_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. "G935Fxxx_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
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:
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!
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
@Tkkg1994 for TWRP for Oreo (quota support)
@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
>> G935FXXU8EUE1_DevBase_v7.4.zip << (updated Jul-10-2021, more info HERE)
>> SM-G93xF/FD repository (recent ROMs & BL packages) << (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 G935FXXU8EUE1 DevBase):
- Fixed unzip issue which caused unexpected installation termination - applies to TWRP 3.5.0_9-1 and newer
v7.3 (starting from G935FXXU7ETBD 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 G935F):
- Fixed bootloop issue in case of Android Q and encrypted devices (applies to dirty update)
v7.1 (starting from G935FXXS7ETA8 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 G935F):
- Initial support for Android Q / system-as-root devices
v6.0 (starting from G935FXXU3ERL3 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 G935FXXU2ERG2 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 G935FXXU2EREM 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 G935FXXU2ERD5 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 G935FXXS2DRDC 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 G935FXXS2DRCC 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)
- Partition(s) may be wiped only by writing new block's image
- Minor optimizations / improvements in the installer
v5.4 (starting from G935FXXS2DRC3 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 G93xx):
- Improved algorithm of search & change "ro.security.vaultkeeper.feature" property to 0 (/system & /vendor)
v5.2 (not released for G93xx):
- 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 G935FXXU2DRB7 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 (not released for G93xx):
- 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 G935FXXU2DRAG 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_G93xFXXU1xxxx_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 (starting from G935FXXU1DQLF DevBase):
- 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 (starting from G935FXXU1DQL8 DevBase):
- 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 (starting from G935FXXS1DQF6 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.12 (see changelog HERE)
v4.2 (starting from G935FXXU1DQD7 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 G935FXXU1DQD1 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 (not released for G93xx):
- 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 G93xx):
- Added hexpatch to root_from function (support for SM-N930x, thanks to @Chainfire)
v3.7 (not released for G93xx):
- Another major improvement/bugfix in deodex_from function (full support for 64 bit OS)
v3.6 (not released for G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- Potential fix for reported problems with root (rare cases)
v3.3 (not released for G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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 G93xx):
- 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-G93xF/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 "G93xF_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.
Welcome
Sent from my SM-G955F using Tapatalk
DQD1?
Very nice can't wait
Why no roms have Canadian CSC lol. Iv will give this a try?
Sent from my SM-G935F using XDA-Developers Legacy app
Hi @_alexndr and thanks for the new base, just a couple of questions, could be possible to add UUB CSC or TTT or TPA? this are to be used in Latinamerica
For the other side, is it possible to give indications how to disable safety volume, with this option I will very glad to test your ROM!!! I know I have to modify services.jar, but the question will be where!!
S-Health not working, Knox tripped message.
civato said:
S-Health not working, Knox tripped message.
Click to expand...
Click to collapse
You can add:
Code:
ro.config.tima=0
to /data/devbase/system/build.prop (then reboot)
The advantage of systemless build.prop support is that you need to add it only ONCE.
Your favorite entries stored in /data/devbase/system/build.prop will be used even after another DevBase update (this file will not be touched while the installer run next time)
I will consider to add this line by default by the installer if it does not exists already in /data/devbase/system/build.prop
thanx.
how to use on flat.G930F?
_alexndr said:
You can add:
Code:
ro.config.tima=0
to /data/devbase/system/build.prop (then reboot)
The advantage of systemless build.prop support is that you need to add it only ONCE.
Your favorite entries stored in /data/devbase/system/build.prop will be used even after another DevBase update (this file will not be touched while the installer run next time)
I will consider to add this line by default by the installer if it does not exists already in /data/devbase/system/build.prop
Click to expand...
Click to collapse
Some questions if I may?
1*Is there a way you can do it on installation of the rom. Like adding it in the option.prop or in the update binairy of the devbase.zip?
2*Using a kernel with dm verify disabled (like a custom kernel), what will be the disadvantages of that?
3*Is there a way of installing directly to data/devbase/system (like a modded app) with a zip installed with recovery?
I would also like to say this is a very smooth rom and a good solid way of installing a rom to your needs, Thanks for that!
Calvin.manneson said:
thanx.
how to use on flat.G930F?
Click to expand...
Click to collapse
edit:tried to rename zip and replace images inside the zip....how to fool installer?
@civato.. if you come out of your 'cave' occasionally...hope you tempted to share ...:victory:
edit:success!!
edited update_binary inside zip...flashed ok
:laugh:
Calvin.manneson said:
@civato.. if you come out of your 'cave' occasionally...hope you tempted to share ...:victory:
:laugh:
Click to expand...
Click to collapse
Sorry it is nice and quiet here in the man cave. No time to do a lot of android stuff. I just am reading up on my edge s7.
Can you put bootloader and modem in zip file so we can flash via recovery?
civato said:
Some questions if I may?
1*Is there a way you can do it on installation of the rom. Like adding it in the option.prop or in the update binairy of the devbase.zip?
2*Using a kernel with dm verify disabled (like a custom kernel), what will be the disadvantages of that?
3*Is there a way of installing directly to data/devbase/system (like a modded app) with a zip installed with recovery?
I would also like to say this is a very smooth rom and a good solid way of installing a rom to your needs, Thanks for that!
Click to expand...
Click to collapse
1*I will think about it in the next release
2*Should work with any kernel which can be successfully patched by Magisk or SuperSU (systemless). If you flash a custom kernel - you basically need to reinstall Magisk (or systemless SuperSU) to apply all necessary patches to your new kernel.
There is another way, for advanced users - if your just flashed custom kernel supports init.d (but it is mandatory that scripts need to be executed in post-fs-data) - you can manually put 0000000devbase script to /system/etc/init.d, but you need to remove check for init.supersu.rc / init.magisk.rc file(s) (as there is no official support for this) - in such case systemless mods should work even without systemless root
3*Of course you can do it directly or via ZIP. You can also see my method (slightly expanded for encrption support via /cache) - see MODs for Nougat in post #5 here:
https://forum.xda-developers.com/showthread.php?p=70036256&postcount=5
Calvin.manneson said:
thanx.
how to use on flat.G930F?
Click to expand...
Click to collapse
Calvin.manneson said:
[...]edit:success!!
edited update_binary inside zip...flashed ok
:laugh:
Click to expand...
Click to collapse
I have plan to release also ready to use version for G930F
Work in progress with DQD2 (in both versions - G930F(D)/G935F(D))
This release will contain "ro.config.tima=0" entry in /data/devbase/system/build.prop by default (but only in case of fresh installation, if you install it over previous DQD1 DevBase -> you need to add this line manually as the installer never touch existing file) - due to issue with S-Health reported by @civato
_alexndr said:
1*I will think about it in the next release
Click to expand...
Click to collapse
Also possible to add the
"wlan.wfd.hdcp=disable"
This for screenmirroring support.
I did the things above on my own in the devbase.zip and added the LUX csc as there is still no official support for it. I created one so I got autocorrection in mu csc region on the keyboard. ANd added it to the zip package and made the changes on the option.prop and SW_Configuration.xml so it installs just fine.
One problem I got when I create my own system.img (with the new DQD2) it boots just fine (full clean install) but it got stuck on the Network status checking right after you confirm the samsung legal stuff on the installation wizard.
It just keeps spinning there and doesn't go any further. Any tips?
Edit:
The private mode is it working I did not test it yet or do I need to add a modded "PersonalPageService"
civato said:
Also possible to add the
"wlan.wfd.hdcp=disable"
This for screenmirroring support.
I did the things above on my own in the devbase.zip and added the LUX csc as there is still no official support for it. I created one so I got autocorrection in mu csc region on the keyboard. ANd added it to the zip package and made the changes on the option.prop and SW_Configuration.xml so it installs just fine.
One problem I got when I create my own system.img (with the new DQD2) it boots just fine (full clean install) but it got stuck on the Network status checking right after you confirm the samsung legal stuff on the installation wizard.
It just keeps spinning there and doesn't go any further. Any tips?
Click to expand...
Click to collapse
Good idea to add also "wlan.wfd.hdcp=disable", I forgot about screen mirroring fix :good:
I will add LUX CSC if such CSC will be released oficially with Nougat (I had some bad experience with using old xmls in case of major Android update)
_alexndr said:
Good idea to add also "wlan.wfd.hdcp=disable", I forgot about screen mirroring fix :good:
I will add LUX CSC if such CSC will be released oficially with Nougat (I had some bad experience with using old xmls in case of major Android update)
Click to expand...
Click to collapse
Maybe you can add the official dutch (NL t9) in the T9DB folder so you get autocorrection for the NL typing people. (I extracted that on a official samsung Nougat rom and confirmed it working.
See attachments.

Huawei P8 GRA [ROM][6.0][EMUI 4.0.3][b399]MagicArrow-v3

{
"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"
}
Huawei P8 Custom ROM
*MagicArrow*
3.Version
based on Huawei EMUI European Firmware b399
Magisk-Edition and SuperSU-Edition
Teamwork by Tecalote and KangV
Release-Date: 15.02.2018
Status: stable
Tested and developed on: GRA-L09 c432
should work also on: GRA-UL10 und GRA-UL00
flashed over Firmware: b399 und b398 - clean und dirty
cust in this ROM: only for c432
(if somebody need, I can make cust-patches for other regions)
German-Thread: https://www.android-hilfe.de/forum/root-custom-roms-modding-fuer-huawei-p8.2257/huawei-p8-gra-b399-rom-6-0-emui-4-0-3-magicarrow-v3-bytecalote.866753.html
Known issues/not really a Bug:
A) AdAway is working as preinstalled apk for blocking ads (just enable it after first start) - but if you want to use TCPDUMP or Webserver, please install this apk over the existing one in the ROM as Update: https://androidfilehost.com/?fid=313042859668275788
B) If you flash clean and setup-assistant ask you for WLan Network Connection and you cancle it for the moment - it occurs sometimes on the Magisk Edition an error message like: "No SIM Card found - shoutdown or confirm..." - You just go to confirm and in the next second your SIM Network will be recogniced
C) If you install a new App or change something in settings you may receive from time to time a message: "Dropezone for K-Settings blocked... you can add K-Settings in Phonemanager to Dropezone Apps..." But it is not possible to add K-Settings into Dropezone in European Cust (because Phonemanager does not allow...) So, just ignore this message
Requirements:
- Huawei P8 GRA Phone without branding and with Unlocked Bootloader
- not flashable over Android 5 Lollipop
- for best results: Latest possible Android 6 Firmware for your device
- ore if you come from MagicArrow v2 or v1
- read Install-Instructions
- latest TWRP (see Download-Section)
Features/Infos:
- K-Settings by KangV for b399
- Viper4Android and DolbyAtmos with preinstalled Driver, working with Huawei Musicplayer (and with other Players)
- all the other Apps I have included are uninstallable with native settings /Apps (you dont need systemapp-remover!)
- PMPlus and Kernel Audiutor Mod (reborn) for Advanced Users (just uninstall with settings /Apps, if you dont know what to do with this apps)
- Kernel Audiutor can emulate init.d (without loose green safetynet)
- PMPlus can enable App-Auto-Launch in Phonemanager (but its not easy to configure!!)
Phone Manager and the app PMPlus:
Phone Manager does not include the Autostart Manager in European Firmware. The advantage is: you do not have to worry about anything, everything is controlled automatically - and also works. But the battery consumption is slightly more, since all apps wait in the background to be called.
With the app PMPlus, you can activate the Autostart Manager in the Phone Manager. To do this, start the app, go to Installation and as soon as the succesful message comes, close the app (can be uninstalled thereafter). Now, on screen two of the Phone Manager, the entry "App auto-launch" appears!
But NOTICE - through this upgrade will initially set ALL Autostarts to 0 ! You must manually enable the most important apps in App auto-launch - all apps that should receive push notifications - and, most importantly, SuperSU in the Classic Edition and Magisk Manager in the Magisk edition. Otherwise Root permissions do not work!
Advantage: You have control over which apps should not start at system start or in the background (if you need it rarely)
But you must always remember to activate a newly installed app there if necessary. Example: Amazon, E-Bay, PayPal - some of these apps are coupled and not only need the autostart to work , but also the so-called " app activation " (which appears in Autostart Manager when such apps are installed)
Disadvantage: If the apps are not configured correctly in the mask, you have more trouble than good. So, if you're not control freaks, then let's keep your fingers out of it.
But if you want to activate this function, it is recommended to do it at the end, if you have already installed all the apps you are using and not before!
- Facebook lite (original): I recommend to use this App instead of the BigBrother App Facebook - because it saves a lot of battery on Huawei P8!
- most of Google Apps from system are deleted, only the required Core-Apps not - so if you need more Google Apps - dont flash any GApps, just install it with Playstore (like Maps, Google Play Music.... )
- some nice Designs/Themes onboard (Themes will be copied to your internal storage/HWThemes - you can delete what you dont need)
- App-Clone is supported (in Huawei Launcher)
- VoLTE can be enabled in mobile network settings (if your Provider / SIM support it)
- Magisk-Edition: Magisk 15.3 with Magisk Manager 5.6.0 (please enable Magisk Manager as protected App in Phonemanager)
- Magisk Manager comes with pre-enabled settings for safetynet, dont change them. For example: AdAway works now without systemless host setting in Magisk Manager!
- Enabling systemless host in Magisk Manager Settings would break safetynet!
- Magisk v16 Update available - do it with this steps: https://forum.xda-developers.com/showpost.php?p=75656403&postcount=22
Do not update yet to Magisk v16.1 - it would cause big problems - I will provide a patch zip for the update
- You dont need Universal Safetynet Fix anymore - it break safetynet
- If you install Apps which requires safetynet, enable them first in Magisk Hide before you start them first time.
- Busybox 1.27.2 stable by YashdSaraf and SELinux Permissive Script installed as Magisk Module (required)
- In Superuser Section of Magisk Manager is one component pre-allowed for Root-Rights: com.android.inputdevices (its for communication between Magisk and KangV settings)
- If you receive Root-Request from Kernel Audiutor or another Huawei App if you have uninstalled Kernel Audiutor App - then allow this Root Request too
- The system-partition in Magisk Edition must be untouched after Rom Installation, or you loose cts and basicintegrity=true
- means: dont delete or change anything in system partition (with Root Explorer or system-app remover)
- Xposed Framework systemless by topjohnwu (SDK 23) can work with this Rom (not installed) - but it breaks safetynet!
- SuperSU-Edition: SuperSU 2.82 SR5 with modified launch_daemonsu.sh (for SELinux permissive and init.d support - note: you dont need to enable init.d with Kernel Audiutor in SuperSU-Edition)
- SuperSU-Root systemless with boot.img patching (Phone cancle first reboot after ROM Installation and boot up twice)
- Please enable SuperSU App in Phonemanager /Akkumanager as protected App!
- Known issues: In MagicArrow v1 was SuperSU-Root in system - this can make problems if you update directly to MagicArrow v3, because of the CR-Backup Script in v1. MagicArrow v1 must be 100% unrooted before installing v3
- Busybox 1.27.2 stable by YashdSaraf installed to su/xbin
- Xposed Framework v89 by rovo89 integrated in K-Settings /Xposed Settings: If you like to enable just use button "Install xposed" and confirm (same, if you want to uninstall Xposed Framework...)
- First reboot after Xposed Installing needs about 20 min
- PCB (Perfect Color Bar) module comes together with Xposed Framework (but its not enabled - enable it in Xposed Installer, if you like or uninstall it in settings/ apps...)
Download ROM:
P8-b399_MAv3-magisk.zip: https://www.androidfilehost.com/?fid=890129502657583539
MD5: 0394de70a5c3765914371ba4f5f0164b
FIX for the Network-Information-Query (for both Editions): https://forum.xda-developers.com/showpost.php?p=76416139&postcount=167
P8-b399_MAv3-supersu.zip: https://www.androidfilehost.com/?fid=818070582850493154
MD5: 27074686bfff020977ec09e68f80b0fe
You need this Version of TWRP: twrp-3.1.1-0-grace.img
- if you dont have it already... : https://eu.dl.twrp.me/grace/twrp-3.1.1-0-grace.img
Installation-Guide:
1) Make a TWRP Backup from your current system just for to be sure - use latest TWRP!
2) If you decide to flash clean or dirty, in both cases - Backup your stuff
3) IF YOUR CURRENT SYSTEM IS ROOTED - you must flash Unroot Script with TWRP
- For Magisk use Magisk Uninstaller: http://tiny.cc/latestuninstaller
- for SuperSU use UPDATE-unSU-signed.zip: https://forum.xda-developers.com/showpost.php?p=63615067
4) Soon you flashed Unroot Script, go back to main menu to WIPE /ADVANCED WIPE
- if you want to flash dirty, then wipe: Dalvik/ARTCache - Cache - Cust - System
- if you want to flash clean, then wipe: Dalvik/ARTCache - Cache - Cust - Data - System
5) After wipes flash MagicArrow-ROM and soon its finished, reboot your Phone without wipe Dalvik/Cache (Wipes must be done before flashing!)
6) Note - first Reboot can take up to 20 min, so stay tuned and trink some coffee, tea or beer
Disable Chinese Letters:
The Rom is European, but the K-Settings are from KangV. Thats why the Lunar component is installed in K-Settings (these are the only Chinese letters in this Rom).
To disable Lunar, go to K-Settings:
1) Lockscreen and desktop settings and disable: "Lunar Calendar" and at "Desktop weather lunar"
2) Notification settings - disable: "Show statusbar lunar"
Save Battery:
- NFC (with Google Pay) ist enabled by default - disable it and enable it only for the time you need it
- Location Settings (menu: scan settings) disable WLan and Bluetooth Search while Wlan and Bluetooth is disabled, Navi Apps are working also without this setting.
- You can change Location Service to WLan and mobile Network and enable GPS only if you need it
- Performance is enabled by default - change this in Akku-Manager (part of Phone Manager) to SMART
- Bluetooth enable it - if you use it and disable it - if you dont need it at the moment
- Close Apps in the background you dont use at the moment
Have much fun with this ROM​​​
Many thanks to KangV for his K-Settings Framework
If you like K-Settings - please support KangV: https://www.paypal.me/KangVIP
If you like MagicArrow, you can support this project here: https://www.paypal.me/Tecalote
Many thanks and credits:
@guitarededhero (Viper/Atmos) https://forum.xda-developers.com/nexus-6/themes-apps/viper4android-t2952137
@wanam and @rovo89 and @DVDandroid for the Xposed Framework Development
@HootanParsa (MiXplorer) and @YashdSaraf (BusyBox arm64)
@topjohnwu (systemless Xposed Framework and Magisk)
@Chainfire - SuperSU
@AD2076 for TWRP-Recovery twrp-3.1.1-0-grace.img for Huawei p8 marshmallow
@Blackball - BlackPyramid Theme and Custom Roms for P8 - P9 - P10 - P10 Plus - Mate 9
​
reserved for updates
reserved for additional Guides
Tecalote said:
Huawei P8 Custom ROM
*MagicArrow*
3.Version
based on Huawei EMUI European Firmware b399
Magisk-Edition and SuperSU-Edition
Teamwork by Tecalote and KangV
Release-Date: 15.02.2018
Status: stable
Tested and developed on: GRA-L09 c432
should work also on: GRA-UL10 und GRA-UL00
flashed over Firmware: b399 und b398 - clean und dirty
cust in this ROM: only for c432
(if somebody need, I can make cust-patches for other regions)
German-Thread:https://www.android-hilfe.de/forum/...ui-4-0-3-magicarrow-v3-bytecalote.866753.html
Known issues/not really a Bug:
A) AdAway is working as preinstalled apk for blocking ads (just enable it after first start) - but if you want to use TCPDUMP or Webserver, please install this apk over the existing one in the ROM as Update: https://androidfilehost.com/?fid=313042859668275788
B) If you flash clean and setup-assistant ask you for WLan Network Connection and you cancle it for the moment - it occurs sometimes on the Magisk Edition an error message like: "No SIM Card found - shoutdown or confirm..." - You just go to confirm and in the next second your SIM Network will be recogniced
C) If you install a new App or change something in settings you may receive from time to time a message: "Dropezone for K-Settings blocked... you can add K-Settings in Phonemanager to Dropezone Apps..." But it is not possible to add K-Settings into Dropezone in European Cust (because Phonemanager does not allow...) So, just ignore this message
Requirements:
- Huawei P8 GRA Phone without branding and with Unlocked Bootloader
- not flashable over Android 5 Lollipop
- for best results: Latest possible Android 6 Firmware for your device
- ore if you come from MagicArrow v2 or v1
- read Install-Instructions
- latest TWRP (see Download-Section)
Features/Infos:
-K-Settings by KangV for b399
-Viper4Android and DolbyAtmos with preinstalled Driver, working with Huawei Musicplayer (and with other Players)
- all the other Apps I have included are uninstallable with native settings /Apps (you dont need systemapp-remover!)
- PMPlus and Kernel Audiutor Mod (reborn) for Advanced Users (just uninstall with settings /Apps, if you dont know what to do with this apps)
- Kernel Audiutor can emulate init.d (without loose green safetynet)
- PMPlus can enable App-Auto-Launch in Phonemanager (but its not easy to configure!!)
Phone Manager and the app PMPlus:
Phone Manager does not include the Autostart Manager in European Firmware. The advantage is: you do not have to worry about anything, everything is controlled automatically - and also works. But the battery consumption is slightly more, since all apps wait in the background to be called.
With the app PMPlus, you can activate the Autostart Manager in the Phone Manager. To do this, start the app, go to Installation and as soon as the succesful message comes, close the app (can be uninstalled thereafter). Now, on screen two of the Phone Manager, the entry "App auto-launch" appears!
But NOTICE - through this upgrade will initially set ALL Autostarts to 0 ! You must manually enable the most important apps in App auto-launch - all apps that should receive push notifications - and, most importantly, SuperSU in the Classic Edition and Magisk Manager in the Magisk edition. Otherwise Root permissions do not work!
Advantage: You have control over which apps should not start at system start or in the background (if you need it rarely)
But you must always remember to activate a newly installed app there if necessary. Example: Amazon, E-Bay, PayPal - some of these apps are coupled and not only need the autostart to work , but also the so-called " app activation " (which appears in Autostart Manager when such apps are installed)
Disadvantage: If the apps are not configured correctly in the mask, you have more trouble than good. So, if you're not control freaks, then let's keep your fingers out of it.
But if you want to activate this function, it is recommended to do it at the end, if you have already installed all the apps you are using and not before!
- Facebook lite (original): I recommend to use this App instead of the BigBrother App Facebook - because it saves a lot of battery on Huawei P8!
- most of Google Apps from system are deleted, only the required Core-Apps not - so if you need more Google Apps - dont flash any GApps, just install it with Playstore (like Maps, Google Play Music.... )
- some nice Designs/Themes onboard (Themes will be copied to your internal storage/HWThemes - you can delete what you dont need)
- App-Clone is supported (in Huawei Launcher)
- VoLTE can be enabled in mobile network settings (if your Provider / SIM support it)
- Magisk-Edition: Magisk 15.3 with Magisk Manager 5.6.0 (please enable Magisk Manager as protected App in Phonemanager)
- Magisk Manager comes with pre-enabled settings for safetynet, dont change them. For example: AdAway works now without systemless host setting in Magisk Manager!
- Enabling systemless host in Magisk Manager Settings would break safetynet!
- You dont need Universal Safetynet Fix anymore - it break safetynet
- If you install Apps which requires safetynet, enable them first in Magisk Hide before you start them first time.
- Busybox 1.27.2 stable by YashdSaraf and SELinux Permissive Script installed as Magisk Module (required)
- In Superuser Section of Magisk Manager is one component pre-allowed for Root-Rights: com.android.inputdevices (its for communication between Magisk and KangV settings)
- If you receive Root-Request from Kernel Audiutor or another Huawei App if you have uninstalled Kernel Audiutor App - then allow this Root Request too
- The system-partition in Magisk Edition must be untouched after Rom Installation, or you loose cts and basicintegrity=true
- means: dont delete or change anything in system partition (with Root Explorer or system-app remover)
- Xposed Framework systemless by topjohnwu (SDK 23) can work with this Rom (not installed) - but it breaks safetynet!
- SuperSU-Edition: SuperSU 2.82 SR5 with modified launch_daemonsu.sh (for SELinux permissive and init.d support - note: you dont need to enable init.d with Kernel Audiutor in SuperSU-Edition)
- SuperSU-Root systemless with boot.img patching (Phone cancle first reboot after ROM Installation and boot up twice)
- Please enable SuperSU App in Phonemanager /Akkumanager as protected App!
- Known issues: In MagicArrow v1 was SuperSU-Root in system - this can make problems if you update directly to MagicArrow v3, because of the CR-Backup Script in v1. MagicArrow v1 must be 100% unrooted before installing v3
- Busybox 1.27.2 stable by YashdSaraf installed to su/xbin
- Xposed Framework v89 by rovo89 integrated in K-Settings /Xposed Settings: If you like to enable just use button "Install xposed" and confirm (same, if you want to uninstall Xposed Framework...)
- First reboot after Xposed Installing needs about 20 min
- PCB (Perfect Color Bar) module comes together with Xposed Framework (but its not enabled - enable it in Xposed Installer, if you like or uninstall it in settings/ apps...)
Download ROM:
P8-b399_MAv3-magisk.zip: https://www.androidfilehost.com/?fid=890129502657583539
MD5: 0394de70a5c3765914371ba4f5f0164b
P8-b399_MAv3-supersu.zip: https://www.androidfilehost.com/?fid=818070582850493154
MD5: 27074686bfff020977ec09e68f80b0fe
You need this Version of TWRP: twrp-3.1.1-0-grace.img
- if you dont have it already... : https://eu.dl.twrp.me/grace/twrp-3.1.1-0-grace.img
Installation-Guide:
1) Make a TWRP Backup from your current system just for to be sure - use latest TWRP!
2) If you decide to flash clean or dirty, in both cases - Backup your stuff
3) IF YOUR CURRENT SYSTEM IS ROOTED - you must flash Unroot Script with TWRP
- For Magisk use Magisk Uninstaller: http://tiny.cc/latestuninstaller
- for SuperSU use UPDATE-unSU-signed.zip: https://forum.xda-developers.com/showpost.php?p=63615067
4) Soon you flashed Unroot Script, go back to main menu to WIPE /ADVANCED WIPE
- if you want to flash dirty, then wipe: Dalvik/ARTCache - Cache - Cust - System
- if you want to flash clean, then wipe: Dalvik/ARTCache - Cache - Cust - Data - System
5) After wipes flash MagicArrow-ROM and soon its finished, reboot your Phone without wipe Dalvik/Cache (Wipes must be done before flashing!)
6) Note - first Reboot can take up to 20 min, so stay tuned and trink some coffee, tea or beer
Disable Chinese Letters:
The Rom is European, but the K-Settings are from KangV. Thats why the Lunar component is installed in K-Settings (these are the only Chinese letters in this Rom).
To disable Lunar, go to K-Settings:
1) Lockscreen and desktop settings and disable: "Lunar Calendar" and at "Desktop weather lunar"
2) Notification settings - disable: "Show statusbar lunar"
Save Battery:
- NFC (with Google Pay) ist enabled by default - disable it and enable it only for the time you need it
- Location Settings (menu: scan settings) disable WLan and Bluetooth Search while Wlan and Bluetooth is disabled, Navi Apps are working also without this setting.
- You can change Location Service to WLan and mobile Network and enable GPS only if you need it
- Performance is enabled by default - change this in Akku-Manager (part of Phone Manager) to SMART
- Bluetooth enable it - if you use it and disable it - if you dont need it at the moment
- Close Apps in the background you dont use at the moment
Have much fun with this ROM
Many thanks to KangV for his K-Settings Framework
If you like K-Settings - please support KangV:https://www.paypal.me/KangVIP
If you like MagicArrow, you can support this project here:https://www.paypal.me/Tecalote
Many thanks and credits:
@guitarededhero (Viper/Atmos) https://forum.xda-developers.com/nexus-6/themes-apps/viper4android-t2952137
@wanam and @rovo89 and @DVDandroid for the Xposed Framework Development
@HootanParsa (MiXplorer) and @YashdSaraf (BusyBox arm64)
@topjohnwu (systemless Xposed Framework and Magisk)
@Chainfire - SuperSU
@AD2076 for TWRP-Recovery twrp-3.1.1-0-grace.img for Huawei p8 marshmallow
@Blackball - BlackPyramid Theme and Custom Roms for P8 - P9 - P10 - P10 Plus - Mate 9
Click to expand...
Click to collapse
fantastic friend, newly installed, all good without any problem, dirty installation to not lose data, test and I will inform, thank you very much again
hey there
congratz to your new rom, well done!
quick question:
after flash my gallery, files and music app lost the abilty to showme my files..
and i allready figured out thats a problem withthe media-Provider-app
buuuut i cant fix it..
any ideas???
regards
Nice job work fine thanks
Rasenverbraucheramt said:
hey there
congratz to your new rom, well done!
quick question:
after flash my gallery, files and music app lost the abilty to showme my files..
and i allready figured out thats a problem with the media-Provider-app
buuuut i cant fix it..
any ideas???
regards
Click to expand...
Click to collapse
I like to know which Gallery and which music App did you flash and which files ? And which path did you use (which App into which directory?) Did you delete the original Huawei Musicplayer/Mediacenter and the original Huawei Gallery?
lespaul79 said:
fantastic friend, newly installed, all good without any problem, dirty installation to not lose data, test and I will inform, thank you very much again
Click to expand...
Click to collapse
Your welcome my friend
Tecalote said:
Your welcome my friend
Click to expand...
Click to collapse
Thank You, Tecalote!
I'll upgrade from MagicArrow v1 (!) one of the following weekends (I have to force myself to backup everything first ).
Quick question about the upgrading instruction you wrote:
- I want to do a clean install from v1 (b391): don't I have to reflash an official b399 first to update baseband/etc??? I hope not!
hello
my device p8 last update
GRA-UL10_C185B391 ?
aswertya said:
hello
my device p8 last update
GRA-UL10_C185B391 ?
Click to expand...
Click to collapse
The last Firmware is from December 2016 - b382 for c185. There's no newer Update available for c185
You must not update your Firmware, just do steps from OP
chros69 said:
Thank You, Tecalote!
I'll upgrade from MagicArrow v1 (!) one of the following weekends (I have to force myself to backup everything first ).
Quick question about the upgrading instruction you wrote:
- I want to do a clean install from v1 (b391): don't I have to reflash an official b399 first to update baseband/etc??? I hope not!
Click to expand...
Click to collapse
If you really want to do it complete clean, you should flash for L09c432 Full Firmware b399 with Factoryreset after.
I will write in #2 how to do with links and so on...
All perfect my friend
I have version 2 arrow magisk instaled,the correctway to update is uninstall magisk and after that flash with version 3 arrow magisk?
Cientista2018 said:
I have version 2 arrow magisk instaled,the correctway to update is uninstall magisk and after that flash with version 3 arrow magisk?
Click to expand...
Click to collapse
Yes just do Install Guide from Post #1 of this Thread (OP)
I've got GRA-UL00 with MagicArrow v2. Just updated it to v3 (dirty install), works fine.
I'm using version with SuperSU but thinking to switch over to Magisk. Do i need some additional steps than unroot, wipe and flash magisk version?
Thanks for the ROM. Is the missing 2G only option because it's not in the base ROM?
3G/HSDPA seem to display correctly now. I like having the option to force 2G only as there are a couple of areas where the 4G and 3G signal is very low.
Again, thanks for the ROM.
Morun said:
I've got GRA-UL00 with MagicArrow v2. Just updated it to v3 (dirty install), works fine.
I'm using version with SuperSU but thinking to switch over to Magisk. Do i need some additional steps than unroot, wipe and flash magisk version?
Click to expand...
Click to collapse
No additional steps, just as you said
beardedwonder said:
Thanks for the ROM. Is the missing 2G only option because it's not in the base ROM?
3G/HSDPA seem to display correctly now. I like having the option to force 2G only as there are a couple of areas where the 4G and 3G signal is very low.
Again, thanks for the ROM.
Click to expand...
Click to collapse
I have 2G only, 3G only, 2G/3G automatic and 4G/3G/2G automatic... (see screenshot) - but I have updated Firmware before installing the Rom.
Tecalote said:
I have 2G only, 3G only, 2G/3G automatic and 4G/3G/2G automatic... (see screenshot) - but I have updated Firmware before installing the Rom.
Click to expand...
Click to collapse
Which firmware are you on? I'm willing to do a full backup and install of that firmware then your ROM as I've had some dropped calls.

[ROM][G96xF/DS/FD/N][ALEXNDR] * UHFVG4 * DevBase v7.4 * Encryption support [Sep-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 G96xFXXU1xxxx_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
ROM for G96xF/DS/FD contains OXM multi CSC package, list of available CSCs is as follow:
ACR, AFG, AFR, ATO, AUT, BGL, BNG, BRI, BTC, BTU, CAC, CAM, CAU, CEL, CPW, DBT, DKR, ECT, EGY, EUR, GLB, ILO, INS, ITV, KSA, LAO, LUX, LYS, MAT, MID, MM1, MWD, MYM, NEE, NPL, NZC, OPS, ORX, PAK, PCL, PHE, PHN, PNG, PTR, 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
ROM for G96xN 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.G96xFXXUHFVG4:
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, CEL, CPW, DBT, DKR, ECT, EGY, EUR, GLB, ILO, INS, ITV, KSA, LAO, LUX, LYS,
# MAT, MID, MM1, MWD, MYM, NEE, NPL, NZC, OPS, ORX, PAK, PCL, PHE, PHN, PNG, PTR, 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
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. "G96xFxxx_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. "G960Fxxx_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. "G96xFxxx_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_G96xFxxx_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 MOD, 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
@fei-ke for omc-decoder
@Zackptg5, @osm0sis & @jcadduono for no-verity*
@Tkkg1994 for initial help with stock kernel's patches
@corsicanu & @jesec for TWRP recovery
@Duncan1982 & @bennebartsch for initial tests
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
S9 (SM-G960F/DS/FD):
>> G960FXXUHFVG4_DevBase_v7.4.zip << (Android 10, updated Sep-20-2022, more info HERE)
S9+ (SM-G965F/DS/FD):
>> G965FXXUHFVG4_DevBase_v7.4.zip << (Android 10, updated Sep-20-2021, more info HERE)
SM-G96xF/DS/N repository:
>> S9/S9+ 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 G96xNKSU4FUC1 DevBase):
- Fixed unzip issue which caused unexpected installation termination - applies to TWRP 3.5.0_9-1 and newer
v7.3 (starting from G96xFXXS7DTB5 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 G96xFXXU7DTB4 DevBase):
- Fixed bootloop issue in case of Android Q and encrypted devices (applies to dirty update)
v7.1 (starting from G96xFXXU7ZTA2 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 G96xFXXU7ZSLC DevBase):
- Initial support for Android Q / system-as-root devices
v6.0 (starting from G96xFXXU2ZRKN 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 G96xFXXU2BRG6 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 G96xFXXU1BRE6 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 G96xFXXU1ARD2 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 G96xFXXU1ARCC 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 G96xFXXU1ARCC 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 G96xFXXU1ARC5 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 (NOTE: take care of EFS backup in case something will go wrong)
- Initial support for encryption in case of G96xF/DS/FD (it is optional of course, not default)
- Minor optimizations / improvements in the installer
v5.3 (starting from G96xFXXU1ARC5 DevBase):
- Improved algorithm of search & change "ro.security.vaultkeeper.feature" property to 0 (/system & /vendor)
- Possibility to change CSC in case of S9/S9+ has been temporarily disabled for safety reasons (needs more research)
v5.2 (starting from G96xFXXU1ARC5 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 (not released for G96xF):
- 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).
v5.0 (not released for G96xF):
- 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 G96xF):
- 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_G96xFXXU3xxxx_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 G96xF):
- 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 G96xF):
- 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 G96xF):
- "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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- Added hexpatch to root_from function (support for SM-N930x, thanks to @Chainfire)
v3.7 (not released for G96xF):
- Another major improvement/bugfix in deodex_from function (full support for 64 bit OS)
v3.6 (not released for G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- Potential fix for reported problems with root (rare cases)
v3.3 (not released for G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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 G96xF):
- 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-G96xF/DS/FD << (updated Aug-12-2018, more info HERE)
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 "G96xFXXU2BRxx_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.
First
Awesome stuff buddy. Welcome!
Second maybe hoping to see some action here
Wow thats fast i'm going to try this rom
I did some initial tests for @_alexndr, and finally got DevBase running on my SM-G960F, it works perfect!
Quick work! CSC Unlisted/Non-Original?
Thank you for your hard work on the newest of the new!
I bought my phone in Germany, so it's got the "DTM" CSC.
I need it to be "TMB" so that I can use Samsung Pay and then later use it on T-Mobile back in the States.
Is this possible with DevBase? I've already rooted the phone with TWRP and SuperSU. Knox is reading 0x1, of course.
Thanks Aleandr for letting me test, I can confirm all is running very well and will be very much looking forward to it's progression.
Great that you decided to build for our S9+ devices bro :good:
Stay tuned folks, this will be interesting....:good:
bennebartsch said:
I did some initial tests for @_alexndr, and finally got DevBase running on my SM-G960F, it works perfect!
Click to expand...
Click to collapse
The installer itself worked fine since first try main issues were with Magisk/SuperSU + my workaround for Magisk + pure stock kernel... I finally gave up and used @Tkkg1994 pre-patched kernel
consoneo said:
Thank you for your hard work on the newest of the new!
I bought my phone in Germany, so it's got the "DTM" CSC.
I need it to be "TMB" so that I can use Samsung Pay and then later use it on T-Mobile back in the States.
Is this possible with DevBase? I've already rooted the phone with TWRP and SuperSU. Knox is reading 0x1, of course.
Click to expand...
Click to collapse
I'm not sure about your exact case... CSC change require changes in /efs so it is a bit dangerous operation if performed in the other way than official (especially that you want to change it outside G96xF supported list).
Also, as far as I know - Samsung Pay will never work for you with KNOX 0x1
Sounds about right. It's tough living outside of your home country.
I looked pretty deeply into it, and it seems as if Samsung Pay focuses on the CSC for which country you are in. Samsung Pay is only available in certain countries. Though it would make sense if they're worried about security in payments for Knox to kill it.
Cruddy.
Thank you for the reply.
By the way, I only installed TWRP via this page. That's what tripped Knox.
https://www.theandroidsoul.com/samsung-galaxy-s9-root/
I didn't do the OEM fix, only the DM verity and SuperSU.
I have the Rom installed and its very good no problems at all battery is very good
Isnt there some fuse like thing that goes in the circuitry when knox is tripped? Thus screwing up folder and pay for good (no matter if the counters reset or not?).
Dont use any pay apps or samsung folder my self but there are other non knox dependant alternatives
Nice work dev, will looo later on at getting this installed
ron1974 said:
I have the Rom installed and its very good no problems at all battery is very good
Click to expand...
Click to collapse
I'm really happy too it works without problems :good:
Hello Alexndr
I have your rom installed and i'm really happy with it but i miss the csc feature like call recorder nd shutter sound is it possible for me to get it work.
ron1974 said:
Hello Alexndr
I have your rom installed and i'm really happy with it but i miss the csc feature like call recorder nd shutter sound is it possible for me to get it work.
Click to expand...
Click to collapse
1. What is your CSC ??
2. Could you post here /odm/omc/{your_CSC}/conf/cscfeature.xml file ??
I'm on PHN csc dutch. The file i have to look.
Sorry the other file you want i don't find it.
ron1974 said:
I'm on PHN csc dutch. The file i have to look.
Sorry the other file you want i don't find it.
Click to expand...
Click to collapse
About CSC - have you checked if it is PHN by e.g. entering Download Mode or you just suppose it?
About cscfeature.xml file - you probably got me wrong
In case your CSC is PHN - go to following directory (using any root file manager):
/odm/omc/PHN/conf
You should find there a few *.xml files, I need cscfeature.xml to look into it
(NOTE: there should be also cscfeature.xml.bak - I don't need this one, I need only cscfeature.xml)
_alexndr said:
1. What is your CSC ??
2. Could you post here /odm/omc/{your_CSC}/conf/cscfeature.xml file ??
Click to expand...
Click to collapse
do you know how to decode the csc files ? they seem to be encrypted like note8 ones.

Categories

Resources