|
26 | 26 |
|
27 | 27 | shopt -s extglob |
28 | 28 |
|
29 | | -# superimage: Extract images from 'super.img.raw' |
30 | 29 | superimage() { |
31 | | - # Create a RAW image from a sparsed one |
32 | 30 | if [ -f super.img ]; then |
33 | | - echo "[INFO] Creating 'super.img.raw'..." |
34 | | - "${simg2img}" "${PWD}/super.img" "${PWD}/super.img.raw" 2>/dev/null |
| 31 | + echo "Creating super.img.raw ..." |
| 32 | + $simg2img super.img super.img.raw 2>/dev/null |
35 | 33 | fi |
36 | | - |
37 | | - # Image is probably already a RAW |
38 | 34 | if [[ ! -s super.img.raw ]] && [ -f super.img ]; then |
39 | | - mv "${PWD}/super.img" "${PWD}/super.img.raw" |
| 35 | + mv super.img super.img.raw |
40 | 36 | fi |
41 | | - |
42 | | - for p in ${PARTITIONS}; do |
43 | | - # Extract partitions from 'super.img.raw' |
44 | | - "${lpunpack}" --partition="${p}"_a "${PWD}/super.img.raw" 2>/dev/null || \ |
45 | | - "${lpunpack}" --partition="${p}" "${PWD}/super.img.raw" 2>/dev/null && echo "[INFO] Extracted '${p}_a.img'" |
46 | | - |
47 | | - if [ -f "${p}"_a.img ]; then |
48 | | - # Remove partition slot suffix |
49 | | - mv "${p}"_a.img "${p}".img |
50 | | - elif [ -f "${romzip}" ]; then |
51 | | - FOUND_PARTITIONS=$(7z l -ba "${romzip}" | rev | gawk '{ print $1 }' | rev | grep "${p}".img) |
52 | | - 7z e -y "${romzip}" "${FOUND_PARTITIONS}" 2>/dev/null >> "$tmpdir"/zip.log |
| 37 | + for partition in $PARTITIONS; do |
| 38 | + ($lpunpack --partition="$partition"_a super.img.raw || $lpunpack --partition="$partition" super.img.raw) 2>/dev/null |
| 39 | + if [ -f "$partition"_a.img ]; then |
| 40 | + mv "$partition"_a.img "$partition".img |
| 41 | + elif [ -f "$romzip" ]; then |
| 42 | + foundpartitions=$(7z l -ba "${romzip}" | rev | gawk '{ print $1 }' | rev | grep "$partition".img) |
| 43 | + 7z e -y "${romzip}" "$foundpartitions" dummypartition 2>/dev/null >> "$tmpdir"/zip.log |
53 | 44 | fi |
54 | 45 | done |
55 | | - |
56 | | - # Clean-up |
57 | 46 | rm -rf super.img* |
58 | 47 | } |
59 | 48 |
|
|
0 commit comments