From 992d1969fcf222b072ac338908b21805611c9b36 Mon Sep 17 00:00:00 2001
From: android <android@lingyun.com>
Date: Fri, 12 Jul 2024 15:08:07 +0800
Subject: [PATCH] Update linux SDK build shell script and patches
---
linux_sdk/build.sh | 110 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 64 insertions(+), 46 deletions(-)
diff --git a/linux_sdk/build.sh b/linux_sdk/build.sh
index bbbb060..f47f981 100755
--- a/linux_sdk/build.sh
+++ b/linux_sdk/build.sh
@@ -7,7 +7,7 @@
TOP_PATH=$(realpath $PRJ_PATH/..)
# SDK build workspace
-SDK_DIR=sdk_build
+SDK_DIR=linuxsdk_build
# binaries build prefix install path
PRFX_PATH=$PRJ_PATH/install
@@ -97,72 +97,88 @@
export SDK_PATH=`jq -r ".linux.sdk_path" $CONF_FILE`
export DISTRO=`jq -r ".linux.distro" $CONF_FILE | tr 'A-Z' 'a-z'`
- export ARCH=arm64
+ export ARCH=arm64
- if [[ $BOARD =~ igkboard-rk3568 ]] ; then
- LUNCH_BOARD=rockchip_rk3568_evb1_ddr4_v10_defconfig
- fi
+ if [[ $BOARD =~ igkboard-rk3568 ]] ; then
+ LAUNCH_BOARD=rockchip_rk3568_evb1_ddr4_v10_defconfig
+ 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_FPATH=$SDK_PATH/$SDK_VER
- PATCH_FLAG="$SDK_DIR/kernel/arch/arm64/configs/rockchip_linux_defconfig"
+ SDK_FLAG=$SDK_DIR/kernel/Makefile
- if [ -e $PATCH_FLAG ] ; then
- pr_warn "SDK source code fetched already, skip do fetch"
- return ;
- fi
+ cd $PRJ_PATH
- if [ ! -d $SDK_DIR/.repo ] ; then
+ if [ -e $SDK_FLAG ] ; then
+ pr_warn "SDK source code fetched already, skip do fetch"
+ return ;
+ fi
- SDK_FILE=`ls $SDK_FPATH/*.tar.bz2 | head -n 1`
+ if [ ! -d $SDK_DIR/.repo ] ; then
- if [ ! -d $SDK_FPATH ] ; then
- pr_error "ERROR: SDK package folder '$SDK_FPATH' doesn't exist!"
- exit
- fi
+ if [ ! -d $SDK_FPATH ] ; then
+ pr_error "ERROR: SDK package folder '$SDK_FPATH' doesn't exist!"
+ exit
+ fi
- pr_info "decompress SDK tarball $SDK_FILE..."
+ SDK_FILE=`ls $SDK_FPATH/*.tar.bz2 | head -n 1`
- do_unpack $SDK_FILE $SDK_DIR
- fi
-
- cd $SDK_DIR
+ pr_info "decompress SDK tarball $SDK_FILE..."
+ do_unpack $SDK_FILE $SDK_DIR
+ fi
- if [ ! -e $PATCH_FLAG ] ; then
- pr_info "repo sync to checkout source code..."
- ./.repo/repo/repo sync -l
- fi
+ if [ ! -e $SDK_FLAG ] ; then
+ pr_info "repo sync to checkout source code..."
+ cd $SDK_DIR
+ ./.repo/repo/repo sync -l
+ fi
- if ! grep -q '^CONFIG_CAN=y' $PATCH_FLAG ; then
- pr_info "patch for linux kernel..."
- cd kernel
- patch -p1 < $PRJ_PATH/patch/kernel.patch
- fi
+}
+
+function do_patch()
+{
+ PATCH_FLAG="$SDK_DIR/kernel/arch/arm64/configs/rockchip_linux_defconfig"
+
+ cd $PRJ_PATH
+
+ if grep -q '^CONFIG_CAN=y' $PATCH_FLAG ; then
+ pr_warn "INFO: Patch for Linux SDK already"
+ return ;
+ fi
+
+ pr_info "patch for linux kernel..."
+ cd $SDK_DIR/kernel
+ patch -p1 < $PRJ_PATH/patches/kernel.patch
+ cd -
+
+ pr_info "patch for linux buildroot..."
+ cd $SDK_DIR/buildroot
+ patch -p1 < $PRJ_PATH/patches/buildroot.patch
+ cd -
}
function do_build()
{
- pr_info "Choose your board"
+ cd $PRJ_PATH
+ pr_info "start build $LAUNCH_BOARD..."
- cd $SDK_DIR
-
- ./build.sh lunch:${LUNCH_BOARD}
+ cd $SDK_DIR
+ ./build.sh lunch:${LAUNCH_BOARD}
+ RK_ROOTFS_SYSTEM=$DISTRO ./build.sh
- RK_ROOTFS_SYSTEM=$DISTRO ./build.sh
-
- pr_info "System image will be installed to $PRJ_PATH/$SDK_DIR/rockdev"
- ls ./rockdev
+ pr_info "System image will be installed to $SDK_DIR/rockdev"
+ ls ./rockdev
}
#+-------------------------+
@@ -175,4 +191,6 @@
do_fetch
+do_patch
+
do_build
--
Gitblit v1.9.1