diff options
| author | John Ogness <john.ogness@linutronix.de> | 2018-05-04 17:26:16 +0200 |
|---|---|---|
| committer | John Ogness <john.ogness@linutronix.de> | 2018-05-04 17:26:16 +0200 |
| commit | 33ee15be492c327b40d5da4fcf3adf0e19c75ada (patch) | |
| tree | f2a4f727dce7900d8df200f382412c6ce36083dc /lx-trainer-vm | |
| parent | ff8004d3e36bd01fb0ca8369fde056911d0c282e (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-x | lx-trainer-vm/dd-multi.sh | 13 |
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} |
