高通QSDK 内核阶段11.4升级12.2方法

概述

由于QSDK11.4升级12.2,需要同时升级uboot和kernel,为了不拆机接串口线,下面方法介绍在11.4版本内核启动后,如何升级为12.2。

**注意:**下面演示,硬件版本必须为cp01-c3,如果为cp01-c2或者其他 请谨慎(设备树适配问题)。

需要准备:

  1. openwrt-ipq6018-u-boot.mbn:QSDK12.2版本编译出来的uboot镜像

  2. bootloadenv.bin:QSDK12.2环境变量,该文件非必须。只有板子型号为cp01-c2才需要

  3. norplusnand-ipq6018-apps.img:QSDK12.2版本编译出来的 kernel+dtb+文件系统 镜像

烧录步骤

  1. 第一步:确定板子型号是不是cp01-c3或者cp01-c2

    cat /tmp/sysinfo/board_name
    
  2. 第二步:确定uboot分区

    cat /proc/mtd
    #打印出来找到下面两个分区为mtd13和mtd14
    mtd13: 000a0000 00010000 "0:APPSBL_1"
    mtd14: 000a0000 00010000 "0:APPSBL"
    
  3. 第三步:拷贝openwrt-ipq6018-u-boot.mbn 到板子/tmp目录下

    scp bin/ipq/openwrt-ipq6018-u-boot.mbn root@192.168.50.1:/tmp
    
  4. 第四步:烧录uboot到mtd13 和 mtd14分区,这里需要根据第二步,一定要确定好分区号

    **注意:**烧录uboot分区后不要重启设备

    dd if=/tmp/openwrt-ipq6018-u-boot.mbn bs=1 conv=sync | mtd -e "/dev/mtd13" write - "/dev/mtd13"
    dd if=/tmp/openwrt-ipq6018-u-boot.mbn bs=1 conv=sync | mtd -e "/dev/mtd14" write - "/dev/mtd14"
    
  5. 第五步:如果板子型号不是cp01-c3的话 需要烧录下环境变量的分区 执行cat /proc/mtd 确定

    1. mtd12: 00010000 00010000 "0:APPSBLENV"
    
    dd if=/tmp/bootloadenv.bin bs=1 conv=sync | mtd -e "/dev/mtd12" write - "/dev/mtd12"
    

    **注意:**该步骤请谨慎操作。

  6. 第5步

    用网页烧录 norplusnand-ipq6018-apps.img 不要保留配置,烧录完成后会自动重启。