• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

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

Search This thread

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
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! :cool: I present you SYSTEMLESS DevBase - an SYSTEMLESS equivalent of my previous work (see hidden content above) :cool:

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 !!! :cool:


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! :cool:

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

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

Attachments

  • Screenshot_20170103-221103.jpg
    Screenshot_20170103-221103.jpg
    76 KB · Views: 17,119
  • Screenshot_20170103-221428.jpg
    Screenshot_20170103-221428.jpg
    83.3 KB · Views: 17,064
  • Screenshot_20170103-222811.jpg
    Screenshot_20170103-222811.jpg
    46.6 KB · Views: 17,412
  • Screenshot_20170103-221225.jpg
    Screenshot_20170103-221225.jpg
    90.4 KB · Views: 16,380
  • Screenshot_20170103-222524.jpg
    Screenshot_20170103-222524.jpg
    36 KB · Views: 16,095
  • Screenshot_20170103-223021.jpg
    Screenshot_20170103-223021.jpg
    22.5 KB · Views: 15,293
  • Screenshot_20170103-221831.jpg
    Screenshot_20170103-221831.jpg
    75.4 KB · Views: 15,162
Last edited:

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
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
 
Last edited:

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
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 :cool:
 
Last edited:

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
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
 
Last edited:

ambasadii

Senior Member
May 9, 2011
2,574
8,480
Warsaw
sites.google.com
@_alexndr
Congrats mate! Great job I will test it in a few days :)

# 1 question

What about framework folder support with modded files ?

fb2fd87b520e2156aed6d89f737e7620.jpg


# 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 :)
 
Last edited:
  • Like
Reactions: _alexndr

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
@_alexndr
Congrats mate! Great job I will test it in a few days :)

# 1 question

What about framework folder support with modded files ?

fb2fd87b520e2156aed6d89f737e7620.jpg


# 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 :)

#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/... :cool:

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) :cool:

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

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
 

Attachments

  • Screenshot_20161213-202530.jpg
    Screenshot_20161213-202530.jpg
    64.1 KB · Views: 1,189
  • Screenshot_20161213-202742.jpg
    Screenshot_20161213-202742.jpg
    69.1 KB · Views: 1,191
Last edited:
  • Like
Reactions: ambasadii

ambasadii

Senior Member
May 9, 2011
2,574
8,480
Warsaw
sites.google.com
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)
 
  • Like
Reactions: _alexndr

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
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)

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
 
Last edited:

ambasadii

Senior Member
May 9, 2011
2,574
8,480
Warsaw
sites.google.com
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...
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

good news, remove it means delete :)
 

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
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

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

Nice joke :silly: "whatever it means" => FYI => it may also mean bind mounts with files (0 bytes size) ;)
 

roozbeh158

Senior Member
May 18, 2012
932
239
Gonbad-e Qabus
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
 

lvnatic

Senior Member
Dec 5, 2010
1,854
212
Iasi
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.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 53
    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! :cool: I present you SYSTEMLESS DevBase - an SYSTEMLESS equivalent of my previous work (see hidden content above) :cool:

    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 !!! :cool:


    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! :cool:

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

    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 :)
    17
    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.
    12
    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 :cool:
    9
    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
    8
    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