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


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

    背景

    在Ubuntu下进行了镜像img的制作,需要向sd卡进行镜像的烧录,但是过程繁琐。
    一是将带系统的sd卡插进电脑,因为存在多个分区,一次性弹出多个窗口。
    在这里插入图片描述

    二是需要将img移动到window下,然后通过 Win32DiskImager.exe 进行烧写。
    三是在烧录前经常提示拒绝访问。
    在这里插入图片描述
    我通常的解决办法是到磁盘管理器将sd卡复原
    在这里插入图片描述
    但是这数量有点多啊,每次烧录都复原太麻烦了吧。
    官方提供的 PhoenixCard.exe 有恢复卡的选项,但是每次都要点击两次才能完全恢复。
    在这里插入图片描述
    四是烧写完还会给我打开若干个窗口。。。。。

    总上所述,既然镜像系统在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 文件系统
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

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

    2、格式化前先取消挂载

    sudo umount /dev/sdc*
    
    • 1

    3、格式化(合并)分区

    sudo mkfs.vfat /dev/sdc -I
    
    • 1

    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
    
    • 1

    一键脚本

    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 "结束烧录"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    效果:

    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:~#
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    但是不会输出dd烧写过程的j进度,有知道的大佬欢迎留言。

  • 相关阅读:
    wxpython使用中出现的内存泄露问题
    java-net-php-python-s2sh教学管理平台hsg8229AGA2修改回复计算机毕业设计程序
    工程管理系统源码之全面+高效的工程项目管理软件
    剑指Offer || 116.省份数量
    聊聊ChatGLM-6B的源码分析
    element-table出现错位解决方法
    c# class 执行实例化时,执行的步骤
    软件工程第十周
    H3C SecParh堡垒机 get_detail_view.php 任意用户登录漏洞
    48-安装软件并管理服务
  • 原文地址:https://blog.csdn.net/qq_46079439/article/details/125914109