Due to some changes in the flashing process since the previous PX5 and Sofia 3GR models it is now partly possible to mod your unit without root. (A custom Rom might be the next step.)
Some info to start with:
(partly from 4pda, partly from a "hint" from @julien_blanche, mostly from own knowledge)
Contents of a firmware zip:
6521_1.zip # The zip that contains the boot.img; the system/vendor/oem partitions and a few other things. Allapp.pkg # Special file that contains all FYT apps (actually a special XAR archive.) config.txt # file comparible to the build.prop which can contain additional properties lsec6521update # The binary that really does the update oem # Folder containing some additional apps Stm32ud.bin # The MCU binary. It is not always in every firmware updatecfg.txt # Contains instructions for the flashing process crruptoff # Special file for "WiFi only". Not in the normal firmwares. Be careful!
Some commands that can be put inside updatecfg.txt
twipe_all # Wipe entire system twipe_data # Will wipe data partition (but not /sdcard, internal memory). Wiping the /data partition will wipe all config, all 3rd party apps and updates of system apps. This is the same as a "reset to factory defaults" twipe_sd # Will wipe internal memory /sdcard (but not the data partition) dellapp # Remove all 3rd party apps make_updates # Make an upgrade U-disk boot file
persist.adb.tcp.port=5555 # set adb over tcpip to active ro.product.locale = pt_BR
If you have a unit with a 4G module, but you don't have 4G (or don't want to use it), you can use this file. Put one line in this crruptoff being "fixwifi" and save it to the sdcard/usb-stick you use for flashing.
You can use it to get rid of the "No SIM" notification in your notification bar.
The Allapp.pkg file is a special XAR archive with a directory structure. You can use ApkPack.exe to create or extract it.
All apks (*.apk) and all libraries (*.so) will be installed as system apks and libraries, which means you can't uninstall them, but on the SC9853i units they are installed under /oem and not under /system.
Inside this Allapp.pkg you will also find two other files: fyt.prop and skipkillapp.prop.
The fyt.prop is identical to the build.prop but gives the option to add extra properties or replace/modify properties in the build.prop.
The skipkillapp.prop contains apps (package names) with values from -15 to 15.
When going into "deep sleep" the packages not mentioned in this list will be killed. Applications in this list with positive values will absolutely be killed (unstable otherwise??). The ones with higher values first. The ones with values 1 and 0 as last, where the app with value 0 will be the last killed before going into deep sleep.
The apps with negative values are considered system apps and will not be killed. In this case the most negative number (-15) has the highest priority. My assumption (not tested, not verified) is that negative numbers approaching 0 might be killed if the system needs the memory?
So in other words: If you do not want that some of your apps are killed, you can add them to this "skipkillapp.prop" by their package name. Say you use @realzoulou's DAB-Z app, you would add a line for DAB-Z (com.zoulou.dab). Or for example if you are a Tasker user, which is normally killed as well:
com.zoulou.dab = -10 net.dinglisch.android.taskerm = -10
And then you need to add this file to your own allapp.pkg
Creating an Allapp.pkg and flash it to your device (post #2)
And if everything goes wrong and your machines gets in a boot loop or doesn't get past the boot logo. (post #3)