[FYT Android Head Units] surfer63:
What are these kernels actually?​

In the thread "General FYT based Spreadtrum uis7862(s) (unisoc ums512) & uis8581a (sc9863) - Q&A, Mods, tips, firmware" and then specifically in #post 2, the kernels are explained. So read post #1 - #4 !

Kernels are universal for all 7862 and 7862S models, except for T'eyes units which deviate from this standard.

These kernels are regularly updated with android security patches, baseband upgrades, bluetooth and wifi driver updates, proprietary driver updates, etcetera.

FYT is the maker of the SOCs and the motherboards (Amp, radio chip, etcetera) and these are built in by resellers into units. FYT also makes the kernel (uis7862(s): 6315_1.zip; uis8581a: 6316_1.zip) and application layer (AllAppUpdate.bin).

FYT delivers two types of kernels: The domestic kernels and the foreign kernels.

domestic kernels : This is the kernel for the Chinese market without Google software and some applications to replace the Google stuff for likewise functionality. These also contain some settings specifically for the internal Chinese situation. To use these we need to add the missing Google software, but still then it requires more work to change all Chinese content. Avoid when possible.

foreign kernels: This is with Google software like we all know them from our phones and our international units. These foreign kernels are about 750-100 MB bigger (uncompressed) than the domestic kernels. These also contain some settings that are to be used (allowed) outside China.

The resellers like Mekede/NaviFly, Joying, T'eyes, Atoto and others, add optionally a few more APKs to this foreign kernel and repackage it.

They also use the application layer (AllAppUpdate.bin) from FYT and add some APKs, modify some layouts, etcetera and repackage the AllAppUpdate.bin. Then they combine this kernel and AllAppUpdate.bin and release it as a new firmware (T'eyes does it differently and is not compatible!).

So basically the rooted or the optimized kernel delivered here are based on a domestic, foreign or kernel from a "full firmware" (the easiest one).

To be able to use a domestic kernel, we need to add 750-1000 MB of Google software. Either from a foreign kernel of from a kernel out of a full firmware. We will take the Google software from the latest foreign or full firmware we can get.

Edit: Although you can still use a domestic kernel, I strongly suggest not to do that unless you are Chinese living in China and you have no other option. In my scripts I do not package the extra 750~100MB of Google software.

What do the scripts/files inside the FYT-Firmware_Workbench?​

config.ini = A file to setup parameters: paths for the original kernel and type of kernel, temp and mount directory to work with kernel files and mount point to edit the firmware, type of original kernel, create rooted or non-rooted kernel.

00_import_original.sh = Retrieves the kernel file 6315_1.zip or 6316_1.zip from the location specified in config.ini

01_unpack.sh = Unpack the imported firmware and create the mount points (as specified in the config.ini file) to work with the firmware

02_tweaker.sh = Allows change Locale, Language, Country and allows enabling ADB and OTG (if hardware supports it) and optimizes kernel parameters, and in general makes the changes to the several *.prop and *.xml files.

03_remove_stuff.sh = Removes APKs and files you do not want to have.

04_inject_mods = Copies all contents of "_mods" folder into system partition, like Google APKs and libraries. It is up to you to create the same folder structure with your own files to inject.

05_repack = Unmount the modified firmware from the mount points, delete the mount points, recreate the unpacked kernel.

06_zip_and_sign.sh = Assemble the new ZIP file, sign it and move it to the patched directory as specified in the config.ini

clean_local.sh = This script will unmount the firmware and delete it, it will also delete temporary files. It cleans the local workbench folder!

tools = the tools necessary to work on these kernels. Note that this is for Linux and you also need a number of standard Linux tools (auto-installed for Debian/Ubuntu like distributions).

The config.ini.​

The config.ini as such will not be explained here. It is actually the only documentation you have that describes what needs to be done. Either you know how it works and you can read and understand the config.ini, or you first need to read post #1 and post #2 from "General FYT based Spreadtrum uis7862(s) (unisoc ums512) & uis8581a (sc9863) - Q&A, Mods, tips, firmware", and then try again.