summaryrefslogtreecommitdiff
path: root/lx-trainer-vm
diff options
context:
space:
mode:
authorJohn Ogness <john.ogness@linutronix.de>2018-05-04 17:26:16 +0200
committerJohn Ogness <john.ogness@linutronix.de>2018-05-04 17:26:16 +0200
commit33ee15be492c327b40d5da4fcf3adf0e19c75ada (patch)
treef2a4f727dce7900d8df200f382412c6ce36083dc /lx-trainer-vm
parentff8004d3e36bd01fb0ca8369fde056911d0c282e (diff)
dd-multi.sh: unpack layers in parallel
Start the untar processes in parallel. This will take advantage of file caching and should max out the USB bandwidth. This is important because some trainings (like Yocto) have huge layers. Signed-off-by: John Ogness <john.ogness@linutronix.de>
Diffstat (limited to 'lx-trainer-vm')
-rwxr-xr-xlx-trainer-vm/dd-multi.sh13
1 files changed, 9 insertions, 4 deletions
diff --git a/lx-trainer-vm/dd-multi.sh b/lx-trainer-vm/dd-multi.sh
index e68e16a..2a0f9f9 100755
--- a/lx-trainer-vm/dd-multi.sh
+++ b/lx-trainer-vm/dd-multi.sh
@@ -147,14 +147,19 @@ for dest in $DESTS; do
# remount home to /home
umount ${TMP_ROOT}${dest}${HOMEPT}
mount ${dest}${HOMEPT} ${TMP_ROOT}${dest}${ROOTPT}/home
+done
- # unpack layers
- for tarball in $LAYERS; do
- echo "unpacking $tarball to $dest"
+# unpack layers (in parallel)
+for tarball in $LAYERS; do
+ echo "unpacking layer: $tarball"
+ for dest in $DESTS; do
tar -x -f $tarball --numeric-owner \
- -C ${TMP_ROOT}${dest}${ROOTPT}
+ -C ${TMP_ROOT}${dest}${ROOTPT} &
done
+ wait
+done
+for dest in $DESTS; do
# unmount partitions
umount ${TMP_ROOT}${dest}${ROOTPT}/home
umount ${TMP_ROOT}${dest}${ROOTPT}