[FYT Android Head Units] surfer63:
See title: Only for SC9853i Joying/FYT 8.1 units.

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.

Some info to start with:

(partly from 4pda, partly from a "hint" from [MENTION=2287433]julien_blanche[/MENTION], 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
test # test unit and firmware before flash

Some properties that can be put inside config.txt. Say you live in Brazil and you want your locale settings immediately on Brazil, you can add that, for example:

ro.product.locale = pt_BR

The file crruptoff:

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. Does not work anymore on the later firmwares. Chances are minimal but maybe it might work again "some day".

The Allapp.pkg

The Allapp.pkg file is a special XAR archive with a directory structure. You can use ApkPack.exe to create or extract it.

Folder path: This is where your files are being extracted to, or packed from

File path: This is the file that is being created (packed), or where the files are extracted from.

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 [MENTION=7838245]realzoulou[/MENTION]'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

(I would suggest not using values like -15, -14, -13 to make sure you do not really interfere with the real system apps).

And then you need to add this file to your own allapp.pkg

The lsec_updatesh folder and lsec.sh script

Practical applications:

Making patches, an alternative to creating the Allapp.pkg package.

Work on all folders in the unit (which Allapp.pkg cannot do).

Delete unnecessary files or applications (who uses the calculator app?), or overwite files like the fyt.prop or others.

Modify/overwrite config files that are otherwise not modifiable (like bluetooth config?)

Setting properties that normally require root/admin rights.

Creating backups of your partitions using the dd command. This can be handy on a device for which you do not have a firmware yet as backup.

Rooting your unit, also if you do not have a firmware from your supplier.

Make a Custom ROM by simply doing all kind of modifications after the "normal" firmware flash.

See for more info about the "The lsec_updatesh folder and lsec.sh script" in post #228.

Creating an Allapp.pkg and flash it to your device (post #2)

Some pre-build flashable images (post #3)

And if everything goes wrong and your unit ends up in a boot loop or doesn't get past the boot logo. (post #4)