img为一种镜像文件格式,它包含整个系统的所需要的文件。
#!/bin/bash
_ersze=10
# 进入脚本所在目录
_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd )
cd $_DIR
sdcard="bbb.img"
# 设置boot分区大小为40MB,根文件系统为1G
fatsize=40
linuxsize=512
# 创建普通文件,并用0填充
dd if=/dev/zero of=${sdcard}1 bs=1M count=$fatsize > /dev/null 2>&1
dd if=/dev/zero of=${sdcard}2 bs=1M count=$linuxsize > /dev/null 2>&1
_ersz=$(expr $fatsize + $linuxsize + 30)
dd if=/dev/zero of=${sdcard} bs=1M count=$_ersz > /dev/null 2>&1
# 创建msdos分区表
echo ""
echo "Creating new partition table"
echo -e "o\nw" | fdisk ${sdcard} > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "ERROR"
exit 0
fi
sync
echo "New filesystem created on $sdcard"
sleep 1
partprobe -s ${sdcard} > /dev/null 2>&1