格式化SD卡的Shell脚本
来源:互联网 发布:数据分析 英文 编辑:程序博客网 时间:2024/05/01 10:48
--------------------
该脚本首先分机然后格式化。一个fat分机,一个ext3分区
-------------------
#! /bin/sh
#
#分区并格式化SD卡脚本
#usage mksdboot.sh --device /dev/sdb
VERSION="0.1"
execute ()
{
$* >/dev/null
if [ $? -ne 0 ]; then
echo
echo "ERROR: executing $*"
echo
exit 1
fi
}
version ()
{
echo
echo "`basename $1` version $VERSION"
echo
exit 0
}
usage ()
{
echo "
Usage: `basename $1` <options> [ files for install partition ]
Mandatory options:
--device SD block device node (e.g /dev/sdd)
Optional options:
--version Print version.
--help Print this help message.
"
exit 1
}
# Process command line...
while [ $# -gt 0 ]; do
case $1 in
--help | -h)
usage $0
;;
--device) shift; device=$1; shift; ;;
--version) version $0;;
*) copy="$copy $1"; shift; ;;
esac
done
test -z $device && usage $0
if [ ! -b $device ]; then
echo "ERROR: $device is not a block device file"
exit 1;
fi
echo "************************************************************"
echo "* THIS WILL DELETE ALL THE DATA ON $device *"
echo "* *"
echo "* WARNING! Make sure your computer does not go *"
echo "* in to idle mode while this script is *"
echo "* running. The script will complete, *"
echo "* but your SD card may be corrupted. *"
echo "* *"
echo "* Press <ENTER> to confirm.... *"
echo "************************************************************"
read junk
for i in `ls -1 $device?`; do
echo "unmounting device '$i'"
umount $i 2>/dev/null
done
execute "dd if=/dev/zero of=$device bs=1024 count=1024"
# get the partition information.
total_size=`fdisk -l $device | grep Disk | awk '{print $5}'`
total_cyln=`echo $total_size/255/63/512 | bc`
# default number of cylinder for first parition
pc1=5
# calculate number of cylinder for the second parition
if [ "$copy" != "" ]; then
# installer on one 4GB SD card.
pc2=110
# pc2=$((($total_cyln - $pc1) / 2))
fi
{
echo ,$pc1,0x0C,*
if [ "$pc2" != "" ]; then
echo ,$pc2,,-
echo ,,,-
else
echo ,,,-
fi
} | sfdisk -D -H 255 -S 63 -C $total_cyln $device
if [ $? -ne 0 ]; then
echo ERROR
exit 1;
fi
echo "Formating ${device}1 ..."
execute "mkfs.vfat -F 32 -n "BOOT" ${device}1"
echo "Formating ${device}2 ..."
execute "mkfs.ext3 -j -L "ROOTFS" ${device}2"
if [ "$pc2" != "" ]; then
echo "Formating ${device}3 ..."
execute "mkfs.ext3 -j -L "START_HERE" ${device}3"
fi
echo "completed!"
- 格式化SD卡的Shell脚本
- 格式化sd 卡linux 脚本学习
- 格式化sd卡的命令
- 制作android SD启动卡shell脚本
- shell 脚本格式化输出
- shell脚本格式化文件
- shell 脚本格式化输出
- SD卡无法格式化的原因分析
- linux环境的sd卡格式化,分区
- linux的shell脚本和dd命令把镜像文件写到SD卡上
- 第二章——uboot_tiny4412中烧写SD卡的shell脚本分析
- linux 格式化SD卡
- android 格式化SD卡
- linux sd卡格式化
- SD卡彻底格式化
- 格式化SD卡/卸载SD卡
- 用于SD卡启动android的脚本
- Nokia C5 的micro sd卡的格式化
- 渔夫与商人的故事:人的一生到底在追求什么
- android 音乐播放器制作 之Tabhost 简单使用(三)(1)
- struts2 + ajax + json的结合使用--实例讲解
- Unity中protobuf的使用方法
- jquery easyui Tree 的一些操作
- 格式化SD卡的Shell脚本
- 《算法竞赛-训练指南》第二章-2.9_UVa 11426
- Amazon Simple Storage Service(S3)
- C与C++中struct的区别
- 浮动(float)和清理浮动(clear)的经验分享
- 面向对象的Perl 之二
- 《算法导论》学习笔记
- 图片处理--旋转、将View转成Bitmap
- Android sdk 系统资源