[Android Head-Units] Tazc:
Hi,

after several hours of working, I finally managed to customize a factory to my own firmware for my Asottu Head Unit.

All I'v done is based on the 9.4.1 version of Android and for AllWinner T8.

I explain how to do it and provide a tool to sign the firmware homemade, but of course you do it at your own risk & responsability

Prerequisites:

- LINUX: I made the tool to sign on linux (it'll run on linux target)

- OFFICIAL firmware: for instance V9.4.1_20190829.100539_AKW1-FD (AKW1 is the name of the manufacturer)

- A little bit knowledge of unix commands and what you will make in the firmware (otherwise you will brick your headunit)

Step 1:

Unzip the official firmware in a working diretory (for instance V9.4.1_20190829.100539_AKW1-FD)

Content of the zip archive is:

- c23c0812-a146-11e9-948a-6f966dc3faf9 (extension 0, 1, 2)

- c1434ea2-a146-11e9-8113-67e2f4bd95ae

- c5759110-a146-11e9-a26c-c7232518a533

So you will have in you working directory:

c23c0812-a146-11e9-948a-6f966dc3faf9.0

c23c0812-a146-11e9-948a-6f966dc3faf9.1

c23c0812-a146-11e9-948a-6f966dc3faf9.2

c1434ea2-a146-11e9-8113-67e2f4bd95ae

c5759110-a146-11e9-a26c-c7232518a533

Step2:

Because c23c0812-a146-11e9-948a-6f966dc3faf9.(0 1 and 2) are the splited parts of the system partition of the HeadUnit, you have to merge all them in one file

cat c23c0812-a146-11e9-948a-6f966dc3faf9.* >c23c0812-a146-11e9-948a-6f966dc3faf9

Remove the splited parts

rm c23c0812-a146-11e9-948a-6f966dc3faf9.*

Create a tmp directory in your working directory to mount the image of the system partition rebuild:

mkdir tmp

Mount the image of the system partition of the headunit

sudo mount -t auto -o loop c23c0812-a146-11e9-948a-6f966dc3faf9 tmp/

Step3:

At this point, you can go into the system android of your headunit and do what you want as customization

cd tmp

In my case, I fixed some issues like sound volume, ADB unlock it, bluetooth issue, remove some applications by better one...

For instance I drop here the firmware I've customized and fixed (volume, adb)

For any manipulations uses the 'sudo' to keep the rights on the android partition !

Step4:

You have done what you want to customize and repackage the result

Release the partition

sudo umount tmp/

Step5:

Split the image of the partition you have updated

split -b 400m c23c0812-a146-11e9-948a-6f966dc3faf9

Step6:

You will have several files (xaa,xab,xac), you have to rename:

mv xaa c23c0812-a146-11e9-948a-6f966dc3faf9.0

mv xab c23c0812-a146-11e9-948a-6f966dc3faf9.1

mv xac c23c0812-a146-11e9-948a-6f966dc3faf9.2

Step7:

sign your work

./cks -f

Step8:

To upload the firmware, put all the files (c23c0812-a146-11e9-948a-6f966dc3faf9.0, c23c0812-a146-11e9-948a-6f966dc3faf9.1, c23c0812-a146-11e9-948a-6f966dc3faf9.2, c1434ea2-a146-11e9-8113-67e2f4bd95ae, c5759110-a146-11e9-a26c-c7232518a533)

into a USB stick (FAT 32 format) and via the car settings menu launch the FIRMWARE UPDATE (do not forget to click on WIPE option). Enjoy !

NOTE1: IN CASE OF EMERGENCY (bricked): A way (which works because I used it) to unbrick is to make a link between the KEY1 cable to the METAL BOX (ground) and to reset the headunit. An UPDATE message will appear, then release the KEY1 cable off the ground

NOTE2: File c5759110-a146-11e9-a26c-c7232518a533 also contains another part of the android system. You can customize it as well, do the same (forget to split, but mount, unmount and sign using cks -s c5759110-a146-11e9-a26c-c7232518a533)