Building a custom Android 11 for SECO board is a really simple operation.
In the following instructions, values of “C61” and C43” are valid for <BOARD_CODE>.
Requirements:
a power powerful PC HOST with Linux OS system (Ubuntu, Debian, ARCH Linux are valid options);
a docker environment installed and running;
a configured git and repo environment;
250 GB of free space on HDstorage drive;
If you are in a hurry:
For i.MX platform download this preconfigured script: android_build.sh and run it on your Linux PC HOST:
[For./android_build.sh
<BOARD_CODE>
# Where <BOARD_CODE> can be “C61”, C43”for example: ./android_build.sh C43
]
You will find the results of the build process in the folder ANDROID_11/Distros/:
ls -lh ANDROID_11/Distros/
...
Init and download Android 11 repository:
mkdir ANDROID_11
cd ANDROID_11
repo init -u https://git.seco.com/pub/i.mx/android/android_11.0.0/android_11.0.0_1.0.0.git
repo sync -j 20
Pull the latest SECO docker for Android building image:
Code Block sudo docker pull secodocker/android-builder:latest
Run SECO docker for Android build:
Code Block docker run --rm -it \ --privileged \ --volume="/etc/passwd:/etc/passwd:ro" \ --volume="/etc/group:/etc/group:ro" \ --volume="/etc/shadow:/etc/shadow:ro" \ --volume $PWD:/workdir \ -v ~/.bash_history:${HOME}/.bash_history:rw \ -v ~/.vimrc:${HOME}/.vimrc:rw \ -v ~/.vim:${HOME}/.vim:rw \ -v ~/.cache:${HOME}/.cache:rw \ -e BOARDCODE=${boardcode} \ --workdir="/workdir" \ --user $(id -u "$(stat -c "%U" Android.bp)"):$(id -g) \ secodocker/android-builder:latest
Setup Set up the Android environment and run the build commands:
source setup<BOARD_CODE>
# Where <BOARD_CODE> can be “C61”, C43”, “C20”, etc [For for example: source setupC61]seco-imx-make.sh -j20 bootloader
seco-imx-make.sh -j20 bootimage
make -j20
...
Wait until the end of the compilation process (build process can lasts last 1 or more hours according to the speed of your system)
You can produce a tar.gz archive to be used for installation by running the following script:
prepare_distro.sh [<IMAGE_NAME>]
# Where [<IMAGE_NAME>] is an optional text string for naming the image file (default to “Android_11_<BOARD_CODE>_Distro_<DATE>.tar.gz”)
...
Build otapackage:
To build and an OTA package to upgrade an existing Android 11 installation you just need to use the “otapackage” target in the previous “make -j20” command.
...
make otapackage procedure:
source setup<BOARD_CODE>
# Where <BOARD_CODE> can be “C61”, C43”, “C20”, etc [For for example: source setupC61]seco-imx-make.sh -j20 bootloader
seco-imx-make.sh -j20 bootimage
make -j20 otapackage
Results of this build can be found in the following patrh:
out/target/product/<extended_board_code>/<extended_board_code>-ota-eng.<username>.zip #[for example: “out/target/product/c43_8q/c43_8q-ota-eng.developer.zip” ]
...