aboutgitcode
diff options
context:
space:
mode:
-rwxr-xr-xmbuto53
1 files changed, 24 insertions, 29 deletions
diff --git a/mbuto b/mbuto
index 49d032c..eb559fb 100755
--- a/mbuto
+++ b/mbuto
@@ -566,31 +566,11 @@ cpio_init() {
fi
}
-# cpio_compress() - Compress archive, test available methods if none is selected
+# compress_select() - Try compressors and pick the fastest to decompress image
# $1: Existing CPIO archive
-cpio_compress() {
- { [ -z "${COMPRESS}" ] || [ "${COMPRESS}" = "none" ]; } && return
-
- info "Compressing CPIO archive ${1}"
-
- if [ "${COMPRESS}" != "auto" ]; then
- [ "${COMPRESS}" = "lzo" ] && __cmd="lzop" || __cmd="${COMPRESS}"
-
- cmd_check "${__cmd}"
- if [ "${__cmd}" = "lz4" ]; then
- "${__cmd}" -l -f -q -9 "${1}" "${1}.lz4"
- else
- "${__cmd}" -f -q -9 -S .lz4 "${1}"
- fi
-
- mv "${1}.lz4" "${1}"
-
- return
- fi
-
+compress_select() {
if [ ! -f "/boot/config-${KERNEL}" ]; then
- "${GZIP}" -9 "${1}"
- "${MV}" "${1}.gz" "${1}"
+ echo "gzip"
return
fi
@@ -639,14 +619,29 @@ cpio_compress() {
"${__a}:" "${__size} bytes" "${__time}s"
done
- [ "${__pick}" = "lzo" ] && __cmd="lzop" || __cmd="${__pick}"
- [ "${__cmd}" = "lz4" ] && __opt="-l" || __opt=""
-
- "${__cmd}" ${__opt} -q -9 -c "${1}" > "${compress_test1}"
notice "Picked ${__pick} compression for CPIO"
+ rm ${compress_test1} ${compress_test2}
+ echo "${__pick}"
+}
+
+# cpio_compress() - Compress archive, test available methods if none is selected
+# $1: Existing CPIO archive
+cpio_compress() {
+ { [ -z "${COMPRESS}" ] || [ "${COMPRESS}" = "none" ]; } && return
+ [ "${COMPRESS}" = "auto" ] && COMPRESS=$(compress_select "$1")
+
+ info "Compressing CPIO archive ${1}"
+
+ [ "${COMPRESS}" = "lzo" ] && __cmd="lzop" || __cmd="${COMPRESS}"
+
+ cmd_check "${__cmd}"
+ if [ "${__cmd}" = "lz4" ]; then
+ "${__cmd}" -l -f -q -9 "${1}" "${1}.lz4"
+ else
+ "${__cmd}" -f -q -9 -S .lz4 "${1}"
+ fi
- mv "${compress_test1}" "${OUT}"
- rm "${compress_test2}"
+ mv "${1}.lz4" "${1}"
}
################################################################################