emmc分区创建脚本

#!/bin/sh

# add a new primary partition
# Param:PartNum(1~3)	First cylinder	Last cylinder 
add_partition(){
	echo "creat primary partition $1 $2 $3"
		echo "n
		p
		$1
		$2
		$3
		w" | fdisk /dev/mmcblk0

	sync
	sleep 1
}

# delete a partition
# Param:PartNum
del_partition(){
	echo "delete partition $1"
    echo "d
	$1
	w" | fdisk /dev/mmcblk0
	
	sync
	sleep 1
}

check_partition(){
	local par_start=`fdisk /dev/mmcblk0 -l | grep "/dev/mmcblk0p$1" | awk '{printf $2}'`
	local par_end=`fdisk /dev/mmcblk0 -l | grep "/dev/mmcblk0p$1" | awk '{printf $3}'`
	
	echo "check partition,index=$1,start=$par_start,end=$par_end,param=$2 $3"

	if [[ $par_start -ne $2 ]]||[[ $par_end -ne $3 ]]; then
		echo "not match."
		return 0
	else
		echo "match."
		return 1
	fi
}
# main
if [ -b "/dev/mmcblk0" ]; then    #[-b file] 如果file存在且是一个块特殊文件则为真
	if [ $1 == "check"  ]; then     #//判断传入的第一个参数是不是-add
		echo "Check to see if the EMMC has been successfully identified"
		ls /dev/mmc* -l
	elif [ $1 == "cat" ]; then
		echo "check the BlockSize of eMMC"
		cat /proc/partitions
	elif [ $1 == "add" ]; then
		add_partition  $2 $3 $4
	elif [ $1 == "del" ]; then
		del_partition $2 
	elif [ $1 == "size" ]; then
		echo "p" | fdisk /dev/mmcblk0
	else
		echo "### invalid parameter"
	fi	
else
	echo "### no exist emmc"
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

<( ̄︶ ̄)Okay.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值