IPQ5322 自动生成QSDK

脚本第一次生成QSDK并编译打包

  1. 设置环境变量

    CHIP_CODE_DIR=~/works/01.qsdk12.2.r3_32_5322/qca-networking-2022-spf-12-2_qca_oem
    BUILD_WS=~/works/01.qsdk12.2.r3_32_5322 # 即$CHIP_CODE_DIR/../
    
  2. 执行:分两种情况

    • 没有EZMESH等这些代码

      cd $BUILD_WS
      python $CHIP_CODE_DIR/common/build/meta_generation_script.py -c r12.2.r3_00009.0 -s IPQ5322.ILQ.12.2 -p P -b 32 -d OEM  --path $BUILD_WS
      
    • 有EZMESH_BIN等这些代码

      cd $BUILD_WS
      python $CHIP_CODE_DIR/common/build/meta_generation_script.py -c r12.2.r3_00009.0 -s IPQ5322.ILQ.12.2 -p P -b 32 -d HYFI,WHC,WAPID,EZMESH_SRC,EZMESH_BIN,EZMESH_ALG,EZ_ALG_SRC,CTL_APP_SRC,CTL_APP_BIN,IFLI_SRC,YORK -m EZMESH_FULL --path $BUILD_WS
      

注意:这里为什么--path $BUILD_WS :在python meta_generation_script.py脚本里面:

book@docker:~/works/01.qsdk12.2.r3_32_5322$ tree -L 2
.
|-- MIAMI
|   |-- Build_path.txt
|   `-- P_0310----------------------------------------------------|名字脚本生成
|		`-- qca-networking-2022-spf-12-2_qca_oem《---------------—|-最终编译的都在这里面
|																  |
`-- qca-networking-2022-spf-12-2_qca_oem------------拷贝-----------|
    |-- BOOT.XF.0.3.1.1
    |-- IPQ5322
    |-- IPQ5322.ILQ.12.2
    |-- IPQ9574
    |-- Miami_DebugEntitlementCert_OEM_Priv_v01_signed.bin
    |-- NHSS.QSDK.12.2
    |-- TMEL.WNS.1.1
    |-- TZ.WNS.5.3
    |-- WLAN.WBE.1.1
    |-- about.html
    |-- apss_proc
    |-- boot_images
    |-- common
    |-- contents.xml
    |-- miami_tme_security_profile.xml
    |-- output
    |-- patch
    |-- qsdk
    |-- qsdk_devenv_setup.sh
    |-- release
    |-- scripts
    |-- skales
    |-- tools
    |-- trustzone_images
    |-- wim
    `-- wlan_proc

PATH=$BUILD_WS
CHIPCODE_TAG="r12.2.r3_00009.0"
PROFILE=P


cd $PATH
MAIN_DISTRO=ls | grep 'qca-networking' | head -1   检查 qca-networking开头的
#MAIN_DISTRO=qca-networking-2022-spf-12-2_qca_oem

cd $MAIN_DISTRO
判断下 PATH+MAIN_DISTRO+"/qsdk" 必须存在
git checkout MAIN_DISTRO # 由于我们是自己解压的oem,所以没有这里在MAIN_DISTRO路面不肯有git信息
cd $PATH

#sp="MIAMI"
mkdir -p "MIAMI"
mkdir -p "MIAMI/P_0310  # P来源PROFILE 0310是时间 
cp -rf $MAIN_DISTRO MIAMI/P_0310
build_path=PATH/MIAMI/P_0310
cd $build_path
echo " + build_path+"/"+MAIN_DISTRO +" >> ../Build_path.txt"
mkdir -p 64
cp -rf MAIN_DISTRO* 64
cd $MAIN_DISTRO
接下来就和正常一样了

总结也就是

  • CHIP_CODE_DIR只是初始我们存放的源码

  • 我们需要用到$CHIP_CODE_DIR/common/build/meta_generation_script.py脚本

  • 执行这个脚本的时候需要指定--path参数

    python meta_generation_script.py -c r12.2.r3_00009.0 -s IPQ5322.ILQ.12.2 -p P -b 32 -d OEM  --path $BUILD_WS
    

    BUILD_WS必须和CHIP_CODE_DIR处于同级目录,而不是CHIP_CODE_DIR/的目录

  • 脚本会拷贝$CHIP_CODE_DIR 到 $PATH/MIAMI/P_0310下面,这个$PATH/MIAMI/P_0310/qca-networking-2022-spf-12-2_qca_oem 才是我们最终编译,打包的目录

编译

下次编译直接进入

cd MIAMI/P_0310/qca-networking-2022-spf-12-2_qca_oem/qsdk/
make

打包

还是需要用到我们的打包脚本

cd MIAMI/P_0310/qca-networking-2022-spf-12-2_qca_oem
./wim/scrpit/wim_pack_single_image.sh