在嵌入式开发中经常会对mmc卡,或u盘,固态硬盘等重新分区。手动调用fdisk能完成这些重复劳动,但总是不方便。为了提高效率,写如下脚本用于方便开发。注意:其中的空行必不可少,每一个空行意味着一个回车。 #!/bin/bash #下面这句dd期望能够将分区表擦除,但实际操作中总是没有效果
partition.sh
disk=$1
if [ -z $disk ]; then
disk=/dev/mmcblk0
echo "您没有指定将要分区的设备,将使用默认设备: $disk"
fi
#dd if=/dev/zero of=$disk bs=1 count=66 seek=446
fdisk $disk << EOF
d
1
d
2
d
3
d
4
d
n
p
1
1
+20M
n
p
2
+20M
n
p
3
+256M
n
e
n
+512M
n
t
1
b
t
2
53
p
w
EOF
#file end
用法:
sudo /partition.sh [设备路径]
如果设备路径未指定,则默认为/dev/mmcblk0
最后得到的分区信息:
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 641 20504 b W95 FAT32
/dev/mmcblk0p2 642 1282 20512 53 OnTrack DM6 Aux3
/dev/mmcblk0p3 1283 9475 262176 83 Linux
/dev/mmcblk0p4 9476 60032 1617824 5 Extended
/dev/mmcblk0p5 9476 25860 524312 83 Linux
/dev/mmcblk0p6 25861 60032 1093496 83 Linux
用Shell脚本进行fdisk分区
内容版权声明:除非注明,否则皆为本站原创文章。