diff --git a/create-iso.sh b/create-iso.sh index ae664fb72634b8df113a0a3bac6376953bccb072..7f0201eb1709499bc90f4d8024c35aa5f32406f6 100755 --- a/create-iso.sh +++ b/create-iso.sh @@ -129,6 +129,8 @@ for script in `ls ${SCRIPTSDIR}`; do if [[ "$script" =~ [0-9]+\-chroot\.* ]]; then initChroot "${CHROOTDIR}" "${LOG_FILE}" execChroot "$CHROOTDIR" "${SCRIPT_NAME}" + #echo "PARADO" + #read a closeChroot "${CHROOTDIR}" "${LOG_FILE}" fi fi diff --git a/scripts-available/make-initrd.sh b/scripts-available/make-initrd.sh index 8a779bb97253dfc090606e0bc3487a7f75c493e4..187eb84e8f660944dd442cadc6f50bbe3bf67e53 100755 --- a/scripts-available/make-initrd.sh +++ b/scripts-available/make-initrd.sh @@ -54,8 +54,16 @@ if ! test -f initrd.lz; then rm --recursive --force ${PREFIX}/initrd/* fi pinfo "Using '${initname}'" + initrd_type=$(file "${CHROOTDIR}/boot/${initname}") pushd ${PREFIX}/initrd - gzip --decompress --stdout "${CHROOTDIR}/boot/${initname}" | cpio --extract; $(genErrHandle "Unable to decompress initrd") + if echo ${initrd_type} | grep --quiet --ignore-case "gzip"; then + gzip --decompress --stdout "${CHROOTDIR}/boot/${initname}" | cpio --extract; $(genErrHandle "Unable to decompress initrd") + elif echo ${initrd_type} | grep --quiet --ignore-case "ascii"; then + block_size=$(binwalk --include="compressed data" "${CHROOTDIR}/boot/${initname}" | cut --delimiter=" " --fields=1 | egrep "[0-9]+") + dd if="${CHROOTDIR}/boot/${initname}" bs="${block_size}" skip=1 | gunzip | cpio --extract --make-directories + else + perror "${BASH_SOURCE[0]}: Invalid initrd format"; /bin/bash + fi find . | cpio --quiet --create -H newc | lzma -7 > ../initrd.lz; $(genErrHandle "Unable to compress initrd") popd rm --recursive --force ${PREFIX}/initrd