导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    【全志T113-S3_100ask】3-自动烧录系统脚本

    其它全志芯片讨论区
    百问网全志t113-s3
    1
    1
    1150
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Y
      giao LV 6 最后由 编辑

      背景

      在Ubuntu下进行了镜像img的制作,需要向sd卡进行镜像的烧录,但是过程繁琐。

      • 一是将带系统的sd卡插进电脑,因为存在多个分区,一次性弹出多个窗口。
        e46e38330b614a9ba67f330d24fc5fd6.png

      • 二是需要将img移动到window下,然后通过 Win32DiskImager.exe 进行烧写。

      • 三是在烧录前经常提示拒绝访问。

      8f4ed06a4bdb40169083f383cd9e2f58.png

      我通常的解决办法是到磁盘管理器将sd卡复原
      906528d58b9641ca819d33cb12a91f0d.png
      但是这数量有点多啊,每次烧录都复原太麻烦了吧。
      官方提供的 PhoenixCard.exe 有恢复卡的选项,但是每次都要点击两次才能完全恢复。
      b2967e2b224b4f65a679e390411e7a27.png

      • 四是烧写完还会给我打开若干个窗口。。。。。

      总上所述,既然镜像系统在linux下,为什么不通过Ubuntu向sd卡烧录系统呢?于是研究了linux下的dd命令。

      编写烧写脚本

      1、查看U盘挂载在哪

      root@znh-ubuntu:~# fdisk -l
      ......
      Disk /dev/sdc:29.7 GiB,31914983424 字节,62333952 个扇区
      单元:扇区 / 1 * 512 = 512 字节
      扇区大小(逻辑/物理):512 字节 / 512 字节
      I/O 大小(最小/最佳):512 字节 / 512 字节
      磁盘标签类型:gpt
      磁盘标识符:EAEF2A25-B105-4441-BF9F-A904F3B16E16
      
      设备         起点    末尾   扇区  大小 类型
      /dev/sdc1   35392   39487   4096    2M Linux 文件系统
      /dev/sdc2   39488   39743    256  128K Linux 文件系统
      /dev/sdc3   39744   39999    256  128K Linux 文件系统
      /dev/sdc4   40000  105535  65536   32M Linux 文件系统
      /dev/sdc5  105536  629823 524288  256M Linux 文件系统
      /dev/sdc6  629824 1154111 524288  256M Linux 文件系统
      

      结论:u盘挂载在 /dev/sdc下

      2、格式化前先取消挂载

      sudo umount /dev/sdc*
      

      3、格式化(合并)分区

      sudo mkfs.vfat /dev/sdc -I
      
      

      4、烧写系统
      替换自己的 img 路径

      sudo dd if=/disk/buildroot-100ask_t113-pro/buildroot/output/images/100ask-t113-pro_sdcard.img of=/dev/sdc bs=4M status=progress
      

      一键脚本

      writeImage.sh

      #/bin/sh
      echo "执行一键烧写系统脚本"
      
      echo "取消分区挂载"
      sudo umount /dev/sdc*
      
      echo "格式化分区"
      sudo mkfs.vfat /dev/sdc -I
      
      echo "烧写系统"
      echo "path = /disk/buildroot-100ask_t113-pro/buildroot/output/images/100ask-t113-pro_sdcard.img"
      sudo dd if=/disk/buildroot-100ask_t113-pro/buildroot/output/images/100ask-t113-pro_sdcard.img of=/dev/sdc bs=4M status=progress
      
      echo "结束烧录"
      

      效果:

      root@znh-ubuntu:~# ./writeImage.sh
      执行一键烧写系统脚本
      取消分区挂载
      umount: /dev/sdc: not mounted.
      umount: /dev/sdc1: not mounted.
      umount: /dev/sdc2: not mounted.
      umount: /dev/sdc3: not mounted.
      umount: /dev/sdc4: not mounted.
      umount: /dev/sdc5: not mounted.
      umount: /dev/sdc6: not mounted.
      格式化分区
      mkfs.fat 4.1 (2017-01-24)
      attribute "partition" not found
      烧写系统
      path = /disk/buildroot-100ask_t113-pro/buildroot/output/images/100ask-t113-pro_sdcard.img
      553648128 bytes (554 MB, 528 MiB) copied, 1 s, 552 MB/s
      记录了140+1 的读入
      记录了140+1 的写出
      590925824 bytes (591 MB, 564 MiB) copied, 68.5244 s, 8.6 MB/s
      结束烧录
      root@znh-ubuntu:~#
      

      原文链接:https://blog.csdn.net/qq_46079439/article/details/125914109

      1 条回复 最后回复 回复 引用 分享 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策