diff options
Diffstat (limited to 'scripts/contrib')
-rwxr-xr-x | scripts/contrib/ddimage | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/scripts/contrib/ddimage b/scripts/contrib/ddimage index 93ebeafc31..a503f11d0d 100755 --- a/scripts/contrib/ddimage +++ b/scripts/contrib/ddimage | |||
@@ -1,7 +1,8 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | #BLACKLIST_DEVICES="/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde" | 3 | # Default to avoiding the first two disks on typical Linux and Mac OS installs |
4 | BLACKLIST_DEVICES="/dev/sda" | 4 | # Better safe than sorry :-) |
5 | BLACKLIST_DEVICES="/dev/sda /dev/sdb /dev/disk1 /dev/disk2" | ||
5 | 6 | ||
6 | # 1MB blocksize | 7 | # 1MB blocksize |
7 | BLOCKSIZE=1048576 | 8 | BLOCKSIZE=1048576 |
@@ -14,9 +15,15 @@ image_details() { | |||
14 | IMG=$1 | 15 | IMG=$1 |
15 | echo "Image details" | 16 | echo "Image details" |
16 | echo "=============" | 17 | echo "=============" |
17 | echo " image: $(stat --printf '%N\n' $IMG)" | 18 | echo " image: $(basename $IMG)" |
18 | echo " size: $(stat -L --printf '%s bytes\n' $IMG)" | 19 | # stat format is different on Mac OS and Linux |
19 | echo " modified: $(stat -L --printf '%y\n' $IMG)" | 20 | if [ "$(uname)" = "Darwin" ]; then |
21 | echo " size: $(stat -L -f '%z bytes' $IMG)" | ||
22 | echo " modified: $(stat -L -f '%Sm' $IMG)" | ||
23 | else | ||
24 | echo " size: $(stat -L -c '%s bytes' $IMG)" | ||
25 | echo " modified: $(stat -L -c '%y' $IMG)" | ||
26 | fi | ||
20 | echo " type: $(file -L -b $IMG)" | 27 | echo " type: $(file -L -b $IMG)" |
21 | echo "" | 28 | echo "" |
22 | } | 29 | } |
@@ -27,6 +34,14 @@ device_details() { | |||
27 | 34 | ||
28 | echo "Device details" | 35 | echo "Device details" |
29 | echo "==============" | 36 | echo "==============" |
37 | |||
38 | # Collect disk info using diskutil on Mac OS | ||
39 | if [ "$(uname)" = "Darwin" ]; then | ||
40 | diskutil info $DEVICE | egrep "(Device Node|Media Name|Total Size)" | ||
41 | return | ||
42 | fi | ||
43 | |||
44 | # Default / Linux information collection | ||
30 | echo " device: $DEVICE" | 45 | echo " device: $DEVICE" |
31 | if [ -f "/sys/class/block/$DEV/device/vendor" ]; then | 46 | if [ -f "/sys/class/block/$DEV/device/vendor" ]; then |
32 | echo " vendor: $(cat /sys/class/block/$DEV/device/vendor)" | 47 | echo " vendor: $(cat /sys/class/block/$DEV/device/vendor)" |