fdisk命令對mmc分區格式化並shell腳本自動化

1. fdisk /dev/mmcblk0

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): 

2.輸入n 增加一個分區,然後輸入p,增加一個主要分區:

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p

3. 然後輸入1,分區編號爲1:

Partition number (1-4, default 1): 1

4.然後根據自己的需要設置開始扇區和結束扇區;

First sector (1-11926, default 2048): 
Using default value 1
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): 5000

5. 同樣方法然後增加第二個分區:

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p

Partition number (1-4, default 1): 2

First sector (5001-11926, default 2048):

Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): 5000

6. 最後輸入w 保存退出;

7. 格式化分區:

mkfs.vfat /dev/mmcblk0p1

mkfs.vfat /dev/mmcblk0p2

二、shell自動化腳本

#! /bin/sh

check_emmc()
{
    if [ -e /dev/mmcblk0 ]; then
        return 1
    else
        return 0
    fi
}

do_partition()
{
echo "n
p
1
1
5000
n
p
2


w
" | fdisk /dev/mmcblk0
}

check_partition_and_init()
{
    check_emmc
    if [ $? -eq "1" ]; then
        if [ ! -e /dev/mmcblk0p1 ]; then 
            do_partition
            mkfs.vfat /dev/mmcblk0p1
            mkfs.vfat /dev/mmcblk0p2
            echo "Partitioning and initialization are complete"
        fi
        mount -o ro /dev/mmcblk0p1 /emmc/factory_data/
        mount /dev/mmcblk0p2 /user_data/
        echo "emmc mount complete"
        sync
    else
        echo " emmc faild "
    fi
}

echo " emmc start mount "
check_partition_and_init

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章