SD卡分区操作

0 - 相关文章

  01-PanGu STM32MP1资料下载
  02-STM32MP1 开发环境搭建
  03-PanGu 开发板固件更新-SD卡
  03-PanGu 开发板SD卡分区
  03-PanGu 开发板固件更新-USB
  04-STM32MP1 uboot编译
  05-STM32MP1 linux编译
  06-STM32MP1 yocto qt构建
  07-PanGu 开发板SD卡镜像制作
  08-STM32MP1当单片机系列 一操作LED灯

目录

    • 0 - 相关文章
  • 一、格式化之前
  • 二、利用固件格式化SD卡
    • 2.1 写入固件
    • 2.2 查看结果
  • 三、使用命令格式化
    • 3.1 查看分区
    • 3.2 删除分区
    • 3.3 创建分区
    • 3.4 更改分区名
    • 3.5 其他参数
    • 3.6 格式化完整命令
    • 欢迎加群

一、格式化之前

  笔者使用16G SD卡,操作之前,卡是FAT32分区:
SD卡分区操作_第1张图片

二、利用固件格式化SD卡

2.1 写入固件

gzip -dc PanGu-SDCardUpdate-qt5-20191211-20191211121236.img.gz | sudo dd of=/dev/sdx bs=10M conv=fdatasync status=progress

  sdx替换成自己对用的设备名

  输入完命令后,正在格式化SD卡:
在这里插入图片描述
  烧录完成,如下显示:
在这里插入图片描述

2.2 查看结果

  使用gparted查看分区情况,会弹出如下提示,这是因为固件对SD卡分区时,最后一个部分区域空余出来,没有进行分区,这里直接忽略即可:
SD卡分区操作_第2张图片
  分区结果如下:
SD卡分区操作_第3张图片

三、使用命令格式化

  上述方法可以对SD卡进行分区,不过由于在分区的同时写入了固件,操作比较费时。如果仅需要分区而不用写入固件可以使用sgdisk命令操作:

3.1 查看分区

sudo sgdisk -p /dev/sdx

SD卡分区操作_第4张图片

3.2 删除分区

  删除第一个分区的命令如下:

sudo sgdisk -d 1 /dev/sdx

  可将1替换为其他数字,删除所有分区。

3.3 创建分区

  创建一个编号为x的新分区,从y开始,z结束。

sudo sgdisk -n x:y:z

  如下命令创建一个编号为1的新分区,从24扇区开始,545扇区结束。

sudo sgdisk -n 1:24:545 /dev/sdx

3.4 更改分区名

  更改分区 x 的名称为 y。

sudo sgdisk -c x:y

  如下命令将分区1的名称修改为fsbl1。

sudo sgdisk -c 1:fsbl1

3.5 其他参数

-a --set-alignment设置对齐。

-A --attributes
sgdisk -A 4:set:2表示将编号为4的分区设置为 “legacy BIOS bootable”。

3.6 格式化完整命令

sudo sgdisk --resize-table=128 -a 1 \
     -n 1:34:545      -c 1:fsbl1 \
     -n 2:546:1057    -c 2:fsbl2 \
     -n 3:1058:5153   -c 3:ssbl \
     -n 4:5154:136225 -c 4:bootfs \
     -n 5:136226:     -c 5:rootfs \
     -A 4:set:2 \
     -p /dev/sdx

  sdx替换成自己对用的设备名

  分区好后可以向相应分区写入内容,命令如下:

dd if=u-boot-spl.stm32 of=/dev/sdx1 conv=fdatasync
dd if=u-boot-spl.stm32 of=/dev/sdx2 conv=fdatasync
dd if=u-boot.img of=/dev/sdx3 conv=fdatasync

  

欢迎加群

扣扣群号:105335490

你可能感兴趣的:(STM32MP1,电子技术)