imx6ull EMMC分区 sfdisk命令

使用mfgtools烧录imx6ull时,如何对emma进行分区?根据查看ucl2.xml得知

在Profiles\linux\OS Firmware下有一个mksdcard.sh文件,正是这个脚本对EMMC设备进行的分区。

内容如下:

#!/bin/sh

# partition size in MB
BOOT_ROM_SIZE=10
PARTITION_KERNEL_START=10
KERNEL_SIZE=40
PARTITION_ROOTFS0_START=60
ROOTFS0_SIZE=300
PARTITION_ROOTFS1_START=400
ROOTFS1_SIZE=300
PARTITION_DATA_START=750

# wait for the SD/MMC device node ready
while [ ! -e $1 ]
do
sleep 1
echo “wait for $1 appear”
done

# call sfdisk to create partition table
# destroy the partition table
node=$1
dd if=/dev/zero of=${node} bs=1024 count=1

sfdisk --force ${node} << EOF
${PARTITION_KERNEL_START}M, ${KERNEL_SIZE}M, 0c
${PARTITION_ROOTFS0_START}M, ${ROOTFS0_SIZE}M, 83
${PARTITION_ROOTFS1_START}M, ${ROOTFS1_SIZE}M, 83
${PARTITION_DATA_START}M,,83
EOF

下面解释下上面的语句

 

dd if=/dev/zero of=${node} bs=1024 count=1

这一句是清空EMMC的分区表

sfdisk命令进行了分区:

sfdisk命令的Unnamed-fields format输入格式如下:

<start> <size> <type> <bootable>

对应的还有Named-fields format格式,就是field=value

上述参数没有赋值的话会有默认值,具体请参考sfdisk(8) - Linux manual page

 每一行上述的参数集合表示一个分区,在我们的例子中就是有4个分区。

选取1个进行说明:

${PARTITION_KERNEL_START}M, ${KERNEL_SIZE}M, 0c 替换完参数就是:

10M, 40M, 0c

10M对应<start>,表示分区起始偏移值

40M对应<size>,表示分区大小

0c对应<type> 0c表示windows FAT分区,83表示linux分区

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值