From debed63cff2951690191542e6daf04b3afdf0eaa Mon Sep 17 00:00:00 2001 From: Chris Swan Date: Tue, 4 Sep 2012 23:11:33 +0100 Subject: [PATCH 1/2] /dev/loop0 support added Allows writing to an image file that can subsequently be copied onto an SD card --- .../bcm2835-bootloader/files/create_sdcard | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/tools/bcm2835-bootloader/files/create_sdcard b/packages/tools/bcm2835-bootloader/files/create_sdcard index 957bf6cbe5..3ea03b69b9 100755 --- a/packages/tools/bcm2835-bootloader/files/create_sdcard +++ b/packages/tools/bcm2835-bootloader/files/create_sdcard @@ -22,6 +22,10 @@ # usage: sudo ./create_sdcard # 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 clear @@ -38,6 +42,7 @@ if [ -z "$1" ]; then echo "# please execute with your drive as option #" echo "# example: sudo ./create_sdcard /dev/sdb #" echo "# or: sudo ./create_sdcard /dev/mmcblk0 #" + echo "# or: sudo ./create_sdcard /dev/loop0 ~/vSD.img #" echo "#########################################################" exit 1 fi @@ -46,6 +51,11 @@ DISK="$1" if [ "$DISK" = "/dev/mmcblk0" ]; then PART1="${DISK}p1" PART2="${DISK}p2" +elif [ "$DISK" = "/dev/loop0" ]; then + PART1="${DISK}p1" + PART2="${DISK}p2" + IMGFILE="$2" + losetup $DISK $IMGFILE else PART1="${DISK}1" PART2="${DISK}2" @@ -199,6 +209,12 @@ echo "#########################################################" echo "creating filesystem on $PART2..." 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 echo "mounting partition $PART1 ..." @@ -239,4 +255,9 @@ echo "#########################################################" echo "cleaning tempdir..." rmdir $MOUNTPOINT +# unmount loopback device + if [ "$DISK" = "/dev/loop0" ]; then + losetup -d $DISK + fi + echo "...installation finished" From a92c2e155337eacc521f12cd28563cccf0fe85ec Mon Sep 17 00:00:00 2001 From: Chris Swan Date: Wed, 5 Sep 2012 00:35:37 +0200 Subject: [PATCH 2/2] echo block enhanced with .img file instructions --- packages/tools/bcm2835-bootloader/files/create_sdcard | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/tools/bcm2835-bootloader/files/create_sdcard b/packages/tools/bcm2835-bootloader/files/create_sdcard index 3ea03b69b9..ac8219b9f3 100755 --- a/packages/tools/bcm2835-bootloader/files/create_sdcard +++ b/packages/tools/bcm2835-bootloader/files/create_sdcard @@ -43,6 +43,8 @@ if [ -z "$1" ]; then echo "# example: sudo ./create_sdcard /dev/sdb #" echo "# or: sudo ./create_sdcard /dev/mmcblk0 #" echo "# or: sudo ./create_sdcard /dev/loop0 ~/vSD.img #" + echo "# to create an image file for /dev/loop0 option: #" + echo "# sudo dd if=/dev/zero of=~/vSD.img bs=1M count=910 #" echo "#########################################################" exit 1 fi