[Galaxy S 5 Android Development (Snapdragon)] _alexndr:
DOWNLOADS

Download ROM:

>> G900FDXXS1CQD1_DevBase_v4.3.zip << (Android 6.0.1, updated Jul-04-2017, more info in post #300)

>> Recent ROM versions for SM-G900FD <<

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

v4.3

(starting from G900FDXXS1CQD1 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 (see changelog HERE)

v4.2

(not released for G900FD):

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

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

- A huge step in the systemless direction! DevBase installer now installs pure odexed stock ROM (just slightly debloated), then systemless SuperSU, then systemless DevBase, then (optionally) systemless Xposed

- All Knox related applications are available again (except SecurityLogAgent, to prevent annoying security alerts)

- Fake KNOX 0x0 status (check it in PhoneINFO app) - most of Knox related apps should work again, like in case of untouched KNOX flag

- All mods known from previous DevBase versions (up to v3.x) now are applied systemlessly - all modified files (including modded apps) are placed in /data/devbase/system instead of physical /system partition. Mods section (#4) has been updated to install mods to /data/devbase/system/(priv-)app if systemless DevBase has been detected (otherwise will be installed as usual, to /system)

- Deodex on-the-fly feature has been removed. If you really need deodexed ROM - you can install someone else's deodexed ROM, then systemless DevBase as an overlay

- Init.d support has been removed as it is deprecated (use su.d instead)

v3.8

(starting from G900FDXXS1CPH1 DevBase):

- Added hexpatch to root_from function (support for SM-N930x, thanks to @Chainfire)

v3.7

(starting from G900FDXXU1CPF4 DevBase):

- Another major improvement/bugfix in deodex_from function (full support for 64 bit OS)

v3.6

(starting from G900FDXXU1CPE1 DevBase):

- Major improvement/bugfix in deodex_from function (added "-g" switch to zip command - finally no issues in case of deodexed Android 6.0.1)

v3.5

(starting from G900FDXXU1CPE1 DevBase):

- Improved root_from function (Android 5.1+) - added "setprop selinux.reload_policy 1" removal from init.rc (thanks to @Chainfire)

- Fixed bug in new alghoritm for checking whether stock recovery should be installed or not (introduced in v3.4)

- Added new functionality - installer will store a copy of patched stock kernel in /data for those who flashed custom kernel but for some reasons want to revert to the stock kernel (Android 5.1+)

v3.4

(not released for G900FD):

- 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

(starting from G900FDXXU1CPE1 DevBase):

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

- Potential fix for reported problems with root (rare cases)

v3.3

(starting from G900FDXXS1BPD3 DevBase):

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

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

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

- Significantly improved "add_initd" function in the update-binary shell script. Added support for (probably) all available Samsung's platforms (e.g. Exynos) and all available firmwares (based on Android 4.4+)

- In case of installation with Xposed framework installer checks if Xposed Installer app is present in /data/app and installs it automatically if necessary

- Minor intaller's optimizations/improvements

v3.0

(starting from G900FDXXS1BPC3 DevBase):

- Entire installer has been re-written from the scratch! All "magic" moved to update-binary which is a shell script. It opens up new possibilities never possible before!

- Introduced new customization method - you can change most frequently switched options just by renaming installer's ZIP file name. Currently supported "strings" in the file name:

"noroot" (means "do not root"), "deodex", "xposed", "initd" (no other comments are required, I hope..)

- Starting from v3.0 init.d support is disabled by default

v2.3

(not released for G900FD):

- 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 [MENTION=3562083]wanam[/MENTION]'s)

v2.2

(not released for G900FD):

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

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

- 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 ~1.6GB to about ~1.3GB.

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

- Completely new concept of ROM development that makes it easy to build most tuned and nuanced custom ROMs. No more arduous manual analysis or (often) invalid permissions / SELinux contexts taken from a kitchen. The main idea is to flash original, stock /system image as EMMC block (in same way as PC Odin does) instead of extracting ZIP's contents to mounted partition, then setting permissions, then creating symlinks, etc. However, it requires more knowledge related to sh scripts as ALL necessary changes need to be done on the fly, while installing (e.g. by injecting modified classes.dex and/or modified images/xmls to /res/../* into an apk). There are no limits, all depends on your creativity!

- One common ZIP installer for Odexed and Deodexed ROM - you can control it by new "deodexed.rom" entry in options.prop (there is new dex_injector.sh script which can deodex on the fly the whole ROM using previously processed classes.dex files)

- ROM is still Safe De-Bloated by default but removing bloatware during install is not mandatory - you can control it by new "safe.debloat" entry in options.prop (there is new protection included to avoid overfilling /system in case of large size of additional MODs and/or large multi CSC package)

- Major improvements in csc_detect.sh script - it is able to detect previous CSC even in cases of flashing over e.g. CM based ROM and/or previously formatted system partition. However, if detected CSC is NOT included in my multi CSC package, in both mentioned cases it is still not possible to keep detected CSC (as there is no CSC related content to backup / restore)

- Improvements in all sh scripts - additional "metadata" entries in updater-script (related to processed contents) are not required

- Improvements in root_supersu.sh script - it is suitable for 32 and 64 bit OS

- Added full zip support from the command line

v1.x

(initial version, further improvements, up to G900FDXXU1BOJ1 DevBase):

- Built without using a kitchen. All set_metadata* / symlink entries are result of arduous manual analysis. For more info about the method - see hidden content for Devs / Chefs in THIS thread.

- New customization method without using Aroma (options.prop)

- Many useful scripts for easy installation: CSC applying/autodetection, backup/restore of security files, backup/restore of existing CSC package, XML modding on the fly, root, init.d support

- Many small changes and improvements "in the meantime" which I simply do not remember...

- Safe De-Bloated (see post #1 for details)