凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2023-06-28 fe3873a5423e587161941ba833bfbd266cc37f6a
yocto/build.sh
@@ -5,18 +5,23 @@
# https://wiki.yoctoproject.org/wiki/Releases
# Version should be: hardknott(3.3) honister(3.4) kirkstone(4.0)
VERSION=kirkstone
YCT_VERSION=kirkstone
PACKDIR=`pwd`/yocto_packets
#PACKDIR=${HOME}/yocto/yocto_packets
# i.MX BSP release version:
# https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX
BSP_VERSION=lf-5.15.71-2.2.0
#PACKDIR=`pwd`/yocto_packets
PACKDIR=/srv/yocto_packets/
BUILDIR=$BOARD
PRJ_PATH=`pwd`
WORKDIR=${PRJ_PATH}/workspace-${VERSION}
WORKDIR=${PRJ_PATH}/${YCT_VERSION}-${BSP_VERSION}
SRV_URL=http://weike-iot.com:2211/yocto/
#SRV_URL=http://127.0.0.1:2211/yocto/
YOCTO_TAR=imx-yocto-bsp-${VERSION}.tar.xz
SRV_URL=http://master.iot-yun.club:2211/imx/bsp/yocto/
#SRV_URL=http://127.0.0.1:2211/imx/bsp/yocto/
YOCTO_TAR=${YCT_VERSION}-${BSP_VERSION}.tar.xz
set -e
@@ -77,11 +82,11 @@
function do_fetch()
{
    if [ -d ${WORKDIR}/sources/meta-imx/ ] ; then
        pr_warn "Yocto ${VERSION} fetched already."
        pr_warn "Yocto ${YCT_VERSION} fetched already."
        return 0;
    fi
    pr_info "start fetch Yocto ${VERSION}"
    pr_info "start fetch Yocto ${YCT_VERSION}"
    cd ${PRJ_PATH}
@@ -93,20 +98,20 @@
    cd ${PRJ_PATH}
    do_unpack tarballs/$YOCTO_TAR
    mv imx-yocto-bsp workspace-${VERSION}
    mv imx-yocto-bsp $WORKDIR
}
function do_patch()
{
    if [ -d ${WORKDIR}/sources/meta-${BOARD} ] ; then
        pr_warn "Yocto ${VERSION} patch already."
        pr_warn "Yocto ${YCT_VERSION} patch already."
        return 0;
    fi
    pr_info "start patch Yocto ${VERSION}"
    pr_info "start patch Yocto ${YCT_VERSION}"
    cd ${WORKDIR}/sources
    cp -af ${WORKDIR}/../meta-${BOARD}/${VERSION} meta-${BOARD}
    cp -af ${WORKDIR}/../meta-${BOARD}/${YCT_VERSION}-${BSP_VERSION} meta-${BOARD}
    cd ${WORKDIR}
}
@@ -115,15 +120,15 @@
{
    TARGET=linuxsys-image
    pr_warn "Build Yocto ${VERSION} for ${TARGET}."
    pr_warn "Build Yocto ${YCT_VERSION} for ${TARGET}."
    cd ${WORKDIR}
    if [ -f ${BUILDIR}/conf/local.conf ] ; then
        pr_info "Yocto ${VERSION} source poky."
        pr_info "Yocto ${YCT_VERSION} source poky."
        source sources/poky/oe-init-build-env ${BUILDIR}
    else
        pr_info "Yocto ${VERSION} source meta."
        pr_info "Yocto ${YCT_VERSION} source meta."
        MACHINE=${BOARD} source sources/meta-${BOARD}/tools/${BOARD}-setup.sh -b ${BUILDIR}
    fi
@@ -149,7 +154,7 @@
function do_clean()
{
    pr_warn "Clean Yocto ${VERSION} source code"
    pr_warn "Clean Yocto ${YCT_VERSION} source code"
    rm -rf $WORKDIR
}