Build full aosp:
source build/envsetup.sh
lunch evk_8mm-userdebug
./imx-make.sh -j8
Only build kernel:
./imx-make.sh kernel -j8
Download GKI outside of android_build.
mkdir gki && cd gki (Make sure folder gki is not inside of ${MY_ANDROID})
repo init -u https://android.googlesource.com/kernel/manifest -b commonandroid13-5.15
repo sync
Build GKI locally.
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
After building GKI locally, you can copy linux-imx from /vendor/nxp-opensource/kernel_imx into common.
cd common
rm -r ./*
cp ${MY_ANDROID}/vendor/nxp-opensource/kernel_imx/* ./
ln -s ${MY_ANDROID}/vendor/nxp-opensource/verisilicon_sw_isp_vvcam verisilicon_sw_isp_vvcam
ln -s ${MY_ANDROID}/vendor/nxp-opensource/nxp-mwifiex nxp-mwifiex
Build GKI about i.MX:
BUILD_FOR_GKI=yes BUILD_CONFIG=common/build.config.imx EXT_MODULES_MAKEFILE="verisilicon_sw_isp_vvcam/vvcam/v4l2/Kbuild" EXT_MODULES="nxp-mwifiex/mxm_wifiex/wlan_src" build/build_abi.sh --update-symbol-list -j8
Then the common/android/abi_gki_aarch64_imx will be generated.
cd gki
cp common/android/abi_gki_aarch64_imx /tmp/abi_gki_aarch64_imx
Update GKI kernel
rm -r common/* # delete imx kernel
repo sync # recover aosp kernel
cp /tmp/abi_gki_aarch64_imx android/abi_gki_aarch64_imx
cd ..
BUILD_CONFIG=common/build.config.gki.aarch64 build/build_abi.sh LTO=thin --update -j8
Then, common/android/abi_gki_aarch64.xml is updated.