diff options
author | Jerry <jvonau@shaw.ca> | 2013-02-28 14:25:54 (GMT) |
---|---|---|
committer | Jerry <jvonau@shaw.ca> | 2013-02-28 14:25:54 (GMT) |
commit | 9a6e0a92ee59d4a0becee265e7f8eb66379d8ba3 (patch) | |
tree | 49568c4e2a23210c53bdb41b070c54cb42d0331e | |
parent | 4c4a77151ac6aebb1fcea5a638316c154ce72a6e (diff) |
revert kparted to losetup
-rw-r--r-- | modules/sd_card_image/image.50.makefs.sh | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/modules/sd_card_image/image.50.makefs.sh b/modules/sd_card_image/image.50.makefs.sh index 7f907ad..b259409 100644 --- a/modules/sd_card_image/image.50.makefs.sh +++ b/modules/sd_card_image/image.50.makefs.sh @@ -79,15 +79,20 @@ make_image() $ROOT_PARTITION_START_BLOCK,,, EOF - loop=$(kpartx -l $img | head -n1 | awk '{print $5}' | sed -e 's:.*/::' ) - disk_loop=/dev/$loop - boot_loop="/dev/mapper/${loop}p1" - root_loop="/dev/mapper/${loop}p2" + disk_loop=$(losetup --show --find --partscan $img) + boot_loop="${disk_loop}p1" + root_loop="${disk_loop}p2" + + # Work around occasional failure for loop partitions to appear + # http://marc.info/?l=linux-kernel&m=134271282127702&w=2 + local i=0 + while ! [ -e "$boot_loop" ]; do + partx -a -v $disk_loop + sleep 1 + (( ++i )) + [ $i -ge 10 ] && break + done - kpartx -a -v $img - - echo "mke2fs -O dir_index,^resize_inode -L Boot -F $boot_loop" - echo "Create filesystems..." mke2fs -O dir_index,^resize_inode -L Boot -F $boot_loop mount $boot_loop $BOOT @@ -127,9 +132,8 @@ EOF umount $ROOT umount $BOOT - - kpartx -d $disk_loop || : losetup -d $disk_loop || : + # FIXME: any value to running e2fsck now? maybe with -D ? } |