Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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:

    • ./android_build.sh <BOARD_CODE> # Where <BOARD_CODE> can be “C61”, C43”

      [For

      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/

Detailed procedure:

  • Configure git:

    • git config --global user.name "Your Name"

    • git config --global user.email "your.name@example.com"

...

  • 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 an OTA package to upgrade an existing Android 11 installation you just need to use the “otapackage” target in the previous “make -j20” command.

So the complete procedure is:

  • make otapackage procedure:

    • source setup<BOARD_CODE> # 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” ]

Info

The preconfigured android_build.sh script contains all the commands described above and can be used to speedup the build process, or can be modified to be used for specific needs.

...