Customer may want to deploy Android 14 on FRDM-iMX8MP. This doc gives an introduction about how to deploy Android OS14 on FRDM-iMX8MP
Hardware:
FRDM-iMX8MP, Power supply cable, usb cable x2,
Ubuntu PC
Outline:
Follow the below steps:
Setup the Android 14 source environment based on LF6.6.36.
Apply FRDM-iMX8MP patches in kernel, uboot, mkimage, and device directory.
Build the image for FRDM-iMX8MP
Flash the image
1. Setup the environment
On the Linux PC, set up the Android Source environment according to Section 2- Section 3 from the Android User’s Guide Rev. android-14.0.0_2.1.0 and do not build the image yet. $ cd ~ (or any other directory you like)
$ tar xzvf imx-android-14.0.0_2.1.0.tar.gz
To generate the i.MX Android release source code build environment, execute the following commands: $ source ~/imx-android-14.0.0_2.1.0/imx_android_setup.sh
Prepare the build environment for U-Boot and Linux kernel. This step is mandatory because there is no GCC cross-compile tool chain in the one in AOSP codebase. An approach is provided to use the self-installed GCC cross-compile tool chain for both AArch32 and AArch64.
Change to the top-level build directory and set up the environment for building. This only configures the current terminal $ cd ${MY_ANDROID}
$ source build/envsetup.sh
2. Apply FRDM-iMX8MP patches into AOSP
Apply the patch in device/nxp, copy all the patches into android_build/device/nxp, and then running the command: $ git apply --check 0001-device-nxp-add-FRDM-i.MX8MP-Android14-basic-support.patch
$ git apply 0001-device-nxp-add-FRDM-i.MX8MP-Android14-basic-support.patch
Apply the patches in uboot, copy all the patches into android_build/vendor/nxp-opensource/uboot-imx, and then running the command: $ git am *.patch
Apply the patches in kernel, copy all the patches into android_build/vendor/nxp-opensource/kernel-imx, and then running the command: $ git am *.patch
Apply the patch in mkimage, copy all the patches into android_build/vendor/nxp-opensource/ imx-mkimage, and then running the command: $ git am *.patch
3. Build the image for FRDM-iMX8MP
Execute the Android lunch command: $ lunch frdm_8mp-trunk_staging-userdebug
Execute the imx-make.sh script to generate the image. $ ./imx-make.sh -j4 2>&1 | tee build-log.txt NOTE: The following outputs are generated by default in ${MY_ANDROID}/out/target/product/frdm_8mp:
4. Flash the image
The board image files can be flashed into the target board using Universal Update Utility (UUU).
For the UUU binary file, download it from GitHub: uuu release page on GitHub.
To achieve more flexibility, two script files are provided to invoke UUU to automatically flash all Android images.
uuu_imx_android_flash.sh for Linux OS
uuu_imx_android_flash.bat for Windows OS
For this release, these two scripts are validated on UUU 1.5.179 version. Download the corresponding version from GitHub:
For Linux OS, download the file named uuu.
For Windows OS, download the file named uuu.exe.
Perform the following steps to download the board images:
Download the UUU binary file from GitHub as described before. Install UUU into a directory contained by the system environment variable of "PATH".
Make the board enter serial download mode. Change the board's SW5 (boot mode) to 0001 (from 1-4 bit) to enter serial download mode.
Power on the board. Use the USB cable to connect the USB 3.0 dual-role port (with silkprint "PORT1") on the board to your host PC.
On the Linux system, open the shell terminal. For example, you can execute a command as follows: $ sudo ./uuu_imx_android_flash.sh -f imx8mp -p frdm -a -e
On the Windows system, open the command-line interface in administrator mode. The corresponding command is as follows: $ uuu_imx_android_flash.bat -f imx8mp -p frdm -a -e
NOTE: If you want to change the dtb, you can add -d dtb_feature. Also, you can check all the info by using the command: uuu_imx_android_flash.bat
Power off the board and Change the board's SW5 (boot mode) to 0010 (from 1-4 bit) to enter emmc boot mode
View full article