对emmc进行分区

1.运行的前提是,pc机上sfdisk工具

为什么SD卡在Linux下/dev下的设备名叫mmcblk0p1?

SD/MMC 卡的设备构造差不多,MMC 应该是 SD 的前身,不过 MMC 当时的设计比SD 小一半。
所以,SD/MMC 的驱动通用,进一步的,Linux 的设备节点就延续了 MMC 的这个名字,后面的 blk 是块设备这个英文的简写, mmcblk 也就是“mmc/sd 块设备”,0 就是这个 mmc/sd 设备的顺序编号,p1 就是第一个分区。
 

 目前是分了3个区(EMMC-4G大小,可用空间大约3.9G,本次分区并全部使用)

150M   --mmcblk0p1 ,偏移量为10M开始

2G       --mmcblk0p2,偏移量为200M开始

1G      -- mmcblk0p3,偏移量为2200M开始

打开烧写脚本

#!/bin/sh

# partition size in MB

BOOT_ROM_SIZE=10   MBR数据区,10MB

ROOT_SYSTEM_SIZE=150  //分区磁盘大小

# call sfdisk to create partition table

# destroy the partition table

node=$1

dd if=/dev/zero of=${node} bs=1024 count=1 清除分区表MBR

sfdisk --force -uM ${node} << EOF

${BOOT_ROM_SIZE},${ROOT_SYSTEM_SIZE},83  //此处应该就是mmcblk0p1

,,83 将其他所有空间再分成一个区,,此处应该就是mmcblk0p2了。

EOF

83是Linux分区标识

Uboot和kernel是直接使用dd写入mmcblk0中的,而分区则是使用sfdisk进行的,空出了uboot和kernel的位置,从起始地址10MB开始的。
 

将shell脚本改好之后,进行程序烧写

烧写完成后重新启动linux系统

这就是表示emmc已经分好区了

很感激作者shell文档,在这里借用该作者的shell脚本:

https://blog.csdn.net/linglongqiongge/article/details/52262660?locationNum=13

https://blog.csdn.net/shell_albert/article/details/8425530

了解emmc分区原理参考文档:
 https://blog.csdn.net/u011975319/article/details/51803126/

 

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值