From fd27ef17c1717b811924626bb902b3b19ea97616 Mon Sep 17 00:00:00 2001 From: android <android@lingyun.com> Date: Thu, 11 Jul 2024 11:39:44 +0800 Subject: [PATCH] update android_sdk build shell script for do_patch --- android_sdk/build.sh | 141 ++++++++++++++++++++++++---------------------- 1 files changed, 74 insertions(+), 67 deletions(-) diff --git a/android_sdk/build.sh b/android_sdk/build.sh index c4eac55..e1550d4 100755 --- a/android_sdk/build.sh +++ b/android_sdk/build.sh @@ -7,7 +7,7 @@ TOP_PATH=$(realpath $PRJ_PATH/..) # SDK build workspace -SDK_DIR=/work/sdk_build +SDK_DIR=/work/android_build # binaries build prefix install path PRFX_PATH=$PRJ_PATH/install @@ -101,101 +101,106 @@ export SDK_VER=`jq -r ".android.sdk_ver" $CONF_FILE` export SDK_PATH=`jq -r ".android.sdk_path" $CONF_FILE` - export ARCH=arm64 + export ARCH=arm64 - if [[ $BOARD =~ igkboard-rk3568 ]] ; then - LUNCH_BOARD=rk3568_t-userdebug - fi + if [[ $BOARD =~ igkboard-rk3568 ]] ; then + LAUNCH_BOARD=rk3568_t-userdebug + fi - PYTHON_VERSION=$(python --version 2>&1 | awk '{print $2}' | cut -d. -f1) - if [ $PYTHON_VERSION != "3" ] ; then - PYTHON_VERSION=$(python --version 2>&1) - pr_error "ERROR: This SDK build need Python3, current version is $PYTHON_VERSION" - pr_warn "You can use 'sudo update-alternatives --config python' command to switch it" - exit - fi + PYTHON_VERSION=$(python --version 2>&1 | awk '{print $2}' | cut -d. -f1) + if [ $PYTHON_VERSION != "3" ] ; then + PYTHON_VERSION=$(python --version 2>&1) + pr_error "ERROR: This SDK build need Python3, current version is $PYTHON_VERSION" + pr_warn "You can use 'sudo update-alternatives --config python' command to switch it" + exit + fi } function do_fetch() { - SDK_FPATH=$SDK_PATH/$SDK_VER + SDK_TAR=$SDK_PATH/$SDK_VER.tar.bz2 + SDK_FLAG=$SDK_DIR/kernel-5.10/Makefile - PATCH_FLAG="$SDK_DIR/kernel-5.10/arch/arm64/configs/rockchip_defconfig" - if [ -e $PATCH_FLAG ] ; then - pr_warn "SDK source code fetched already, skip do fetch" - fi + if [ -e $SDK_FLAG ] ; then + pr_warn "INFO: SDK source code fetched already, skip do fetch" + fi - if [ ! -d $SDK_DIR/.repo ] ; then + if [ ! -d $SDK_DIR/.repo ] ; then - SDK_FILE=$SDK_PATH/$SDK_VER.tar.bz2 + if [ ! -e $SDK_TAR ] ; then + pr_error "ERROR: SDK package '$SDK_TAR' doesn't exist!" + exit + fi - if [ ! -e $SDK_FILE ] ; then - pr_error "ERROR: SDK package '$SDK_FILE' doesn't exist!" - exit - fi + pr_info "decompress SDK tarball $SDK_TAR..." + do_unpack $SDK_TAR $SDK_DIR + fi - pr_info "decompress SDK tarball $SDK_FILE..." + cd $SDK_DIR - do_unpack $SDK_FILE $SDK_DIR - fi - - cd $SDK_DIR + if [ ! -e $SDK_FLAG ] ; then + pr_info "repo sync to checkout source code..." + ./.repo/repo/repo sync -l + fi +} - if [ ! -e $PATCH_FLAG ] ; then - pr_info "repo sync to checkout source code..." - ./.repo/repo/repo sync -l - fi +function do_patch() +{ + PATCH_FLAG="$SDK_DIR/kernel-5.10/arch/arm64/configs/rockchip_defconfig" - if ! grep -q '^CONFIG_CAN=y' $PATCH_FLAG ; then - pr_info "patch for android..." - cd kernel-5.10 - patch -p1 < $PRJ_PATH/patches/kernel.patch - - cd ../vendor/rockchip/common/ - patch -p1 < $PRJ_PATH/patches/4g_patch/vendor.patch + cd $SDK_DIR - cd $SDK_DIR/device/rockchip/common/ - patch -p1 < $PRJ_PATH/patches/4g_patch/device_rockchip.patch + if grep -q '^CONFIG_CAN=y' $PATCH_FLAG ; then + pr_warn "INFO: Patch for Android SDK already" + return ; + fi - cd $SDK_DIR/device/google/atv/ - patch -p1 < $PRJ_PATH/patches/4g_patch/device_google.patch + pr_info "do patch for android source code" + cd kernel-5.10 + patch -p1 < $PRJ_PATH/patches/kernel.patch - cd $SDK_DIR/hardware/interfaces/ - patch -p1 < $PRJ_PATH/patches/4g_patch/hardware_interfaces.patch + cd ../vendor/rockchip/common/ + patch -p1 < $PRJ_PATH/patches/4g_patch/vendor.patch - cd $SDK_DIR/hardware/ril/ - patch -p1 < $PRJ_PATH/patches/4g_patch/hardware_ril.patch + cd $SDK_DIR/device/rockchip/common/ + patch -p1 < $PRJ_PATH/patches/4g_patch/device_rockchip.patch - cd $SDK_DIR/frameworks/opt/telephony/ - patch -p1 < $PRJ_PATH/patches/4g_patch/frameworks_opt_telephony.patch - - pr_info "copy 4G RIL library..." + cd $SDK_DIR/device/google/atv/ + patch -p1 < $PRJ_PATH/patches/4g_patch/device_google.patch - cp -f $FILES_PATCH_4G/ip-* $SDK_DIR/vendor/rockchip/common/phone/etc/ppp/ - cp -f $FILES_PATCH_4G/ql-ril.conf $SDK_DIR/vendor/rockchip/common/phone/etc/ppp/ - cp -f $FILES_PATCH_4G/chat $SDK_DIR/vendor/rockchip/common/phone/bin/ - cp -f $FILES_PATCH_4G/libreference-ril.so $SDK_DIR/vendor/rockchip/common/phone/lib/libreference-ril-em05.so + cd $SDK_DIR/hardware/interfaces/ + patch -p1 < $PRJ_PATH/patches/4g_patch/hardware_interfaces.patch - pr_info "copy wifi firmware..." + cd $SDK_DIR/hardware/ril/ + patch -p1 < $PRJ_PATH/patches/4g_patch/hardware_ril.patch - cp -f $FILES_PATCH_WIFI/mt7601u.bin $SDK_DIR/vendor/rockchip/common/wifi/firmware + cd $SDK_DIR/frameworks/opt/telephony/ + patch -p1 < $PRJ_PATH/patches/4g_patch/frameworks_opt_telephony.patch - cd - fi + pr_info "copy 4G RIL library..." + + cp -f $FILES_PATCH_4G/ip-* $SDK_DIR/vendor/rockchip/common/phone/etc/ppp/ + cp -f $FILES_PATCH_4G/ql-ril.conf $SDK_DIR/vendor/rockchip/common/phone/etc/ppp/ + cp -f $FILES_PATCH_4G/chat $SDK_DIR/vendor/rockchip/common/phone/bin/ + cp -f $FILES_PATCH_4G/libreference-ril.so $SDK_DIR/vendor/rockchip/common/phone/lib/libreference-ril-em05.so + + pr_info "copy wifi firmware..." + + cp -f $FILES_PATCH_WIFI/mt7601u.bin $SDK_DIR/vendor/rockchip/common/wifi/firmware } function do_build() { - pr_info "Choose your board" + cd $SDK_DIR - cd $SDK_DIR - - source build/envsetup.sh - lunch $LUNCH_BOARD - ./build.sh -AUCKu + pr_info "start build $LAUNCH_BOARD..." - pr_info "System image will be installed to $SDK_DIR/rockdev/Image-rk3568_t" - ls ./rockdev/Image-rk3568_t + source build/envsetup.sh + lunch $LAUNCH_BOARD + ./build.sh -AUCKu + + pr_info "System image will be installed to $SDK_DIR/rockdev/Image-rk3568_t" + ls ./rockdev/Image-rk3568_t } #+-------------------------+ @@ -208,4 +213,6 @@ do_fetch +do_patch + do_build -- Gitblit v1.9.1