Merge pull request #1191 from cpswan/master

/dev/loop0 support in create_sdcard script
This commit is contained in:
Stephan Raue 2012-09-04 15:26:10 -07:00
commit 0c9eb278b4

View File

@ -22,6 +22,10 @@
# usage: sudo ./create_sdcard <drive> # usage: sudo ./create_sdcard <drive>
# example: sudo ./create_sdcard /dev/sdb # example: sudo ./create_sdcard /dev/sdb
# loop example: sudo ./create_sdcard /dev/loop0 ~/vSD.img
# create an empty image file for use with loop device like this:
# dd if=/dev/zero of=~/vSD.img bs=1M count=910
if [ "$(id -u)" != "0" ]; then if [ "$(id -u)" != "0" ]; then
clear clear
@ -38,6 +42,7 @@ if [ -z "$1" ]; then
echo "# please execute with your drive as option #" echo "# please execute with your drive as option #"
echo "# example: sudo ./create_sdcard /dev/sdb #" echo "# example: sudo ./create_sdcard /dev/sdb #"
echo "# or: sudo ./create_sdcard /dev/mmcblk0 #" echo "# or: sudo ./create_sdcard /dev/mmcblk0 #"
echo "# or: sudo ./create_sdcard /dev/loop0 ~/vSD.img #"
echo "#########################################################" echo "#########################################################"
exit 1 exit 1
fi fi
@ -46,6 +51,11 @@ DISK="$1"
if [ "$DISK" = "/dev/mmcblk0" ]; then if [ "$DISK" = "/dev/mmcblk0" ]; then
PART1="${DISK}p1" PART1="${DISK}p1"
PART2="${DISK}p2" PART2="${DISK}p2"
elif [ "$DISK" = "/dev/loop0" ]; then
PART1="${DISK}p1"
PART2="${DISK}p2"
IMGFILE="$2"
losetup $DISK $IMGFILE
else else
PART1="${DISK}1" PART1="${DISK}1"
PART2="${DISK}2" PART2="${DISK}2"
@ -199,6 +209,12 @@ echo "#########################################################"
echo "creating filesystem on $PART2..." echo "creating filesystem on $PART2..."
mkfs.ext4 "$PART2" -L Storage mkfs.ext4 "$PART2" -L Storage
# remount loopback device
if [ "$DISK" = "/dev/loop0" ]; then
losetup -d $DISK
losetup $DISK $IMGFILE -o 1048576 --sizelimit 131071488
PART1=$DISK
fi
# mount partition # mount partition
echo "mounting partition $PART1 ..." echo "mounting partition $PART1 ..."
@ -239,4 +255,9 @@ echo "#########################################################"
echo "cleaning tempdir..." echo "cleaning tempdir..."
rmdir $MOUNTPOINT rmdir $MOUNTPOINT
# unmount loopback device
if [ "$DISK" = "/dev/loop0" ]; then
losetup -d $DISK
fi
echo "...installation finished" echo "...installation finished"