more error handling for dd writes
This commit is contained in:
@@ -66,20 +66,39 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|||||||
mkfs.fat -v -F32 -n 'STEVIAFS' $firstpart
|
mkfs.fat -v -F32 -n 'STEVIAFS' $firstpart
|
||||||
|
|
||||||
# copy MBR while preserving partition table
|
# copy MBR while preserving partition table
|
||||||
dd if=$mbr_file of=$ld bs=1 count=440
|
if ! dd if=$mbr_file of=$ld bs=1 count=440; then
|
||||||
|
echo "Failed to write MBR to disk. (part 1)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# copy MBR 0xAA55
|
# copy MBR 0xAA55
|
||||||
dd if=$mbr_file of=$ld bs=1 seek=510 skip=510 count=2
|
if ! dd if=$mbr_file of=$ld bs=1 seek=510 skip=510 count=2; then
|
||||||
|
echo "Failed to write MBR to disk. (part 2)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# copy VBR to partition 1 while preserving partition information
|
# copy VBR to partition 1 while preserving partition information
|
||||||
# copy jmp short entry; nop
|
# copy jmp short entry; nop
|
||||||
dd if=$vbr_file of=$firstpart bs=1 count=3
|
if ! dd if=$vbr_file of=$firstpart bs=1 count=3; then
|
||||||
|
echo "Failed to write VBR to disk. (part 1)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
# copy bootcode
|
# copy bootcode
|
||||||
dd if=$vbr_file of=$firstpart bs=1 seek=90 skip=90 count=420
|
if ! dd if=$vbr_file of=$firstpart bs=1 seek=90 skip=90 count=420; then
|
||||||
|
echo "Failed to write VBR to disk. (part 2)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
# copy 0xAA55
|
# copy 0xAA55
|
||||||
dd if=$vbr_file of=$firstpart bs=1 seek=510 skip=510 count=2
|
if ! dd if=$vbr_file of=$firstpart bs=1 seek=510 skip=510 count=2; then
|
||||||
|
echo "Failed to write VBR to disk. (part 3)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
#stage2 to sectors 1-64
|
#stage2 to sectors 1-64
|
||||||
dd if=$stage2_file of=$ld bs=$disk_sector_size seek=1
|
if ! dd if=$stage2_file of=$ld bs=$disk_sector_size seek=1; then
|
||||||
|
echo "Failed to write Stage2 to disk." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# copy boot32 boot test file to disk image
|
# copy boot32 boot test file to disk image
|
||||||
if ! [ -e $mount_point ]; then
|
if ! [ -e $mount_point ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user