X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Fboot%2F3010-verify-checksums;h=08b2972ecd4f417d3c66f992cebfdea6a6b2af11;hb=71997770be3f27cb50a6b32059862355d955d0e9;hp=7dd5da3753c541ead973e92c45030566015d0735;hpb=3b0def1c54e6cd384d1514b26fbf28b091638808;p=live-boot-grml.git diff --git a/scripts/boot/3010-verify-checksums b/scripts/boot/3010-verify-checksums index 7dd5da3..08b2972 100755 --- a/scripts/boot/3010-verify-checksums +++ b/scripts/boot/3010-verify-checksums @@ -4,37 +4,63 @@ Verify_checksums () { + for _PARAMETER in ${_CMDLINE} + do + case "${_PARAMETER}" in + live-boot.verify-checksums=*|verify-checksums=*) + LIVE_VERIFY_CHECKSUMS="true" + LIVE_VERIFY_CHECKSUMS_DIGESTS="${_PARAMETER#*verify-checksums=}" + ;; + + live-boot.verify-checksums|verify-checksums) + LIVE_VERIFY_CHECKSUMS="true" + ;; + esac + done + + case "${LIVE_VERIFY_CHECKSUMS}" in + true) + ;; + + *) + return 0 + ;; + esac + _MOUNTPOINT="${1}" - _DIGESTS="sha512 sha384 sha256 sha224 sha1 md5" + LIVE_VERIFY_CHECKSUMS_DIGESTS="${LIVE_VERIFY_CHECKSUMS_DIGESTS:-sha512 sha384 sha256 sha224 sha1 md5}" _TTY="/dev/tty8" log_begin_msg "Verifying checksums" cd "${_MOUNTPOINT}" - for _DIGEST in ${_DIGESTS} + for _DIGEST in $(echo ${LIVE_VERIFY_CHECKSUMS_DIGESTS} | sed -e 's|,| |g') do - _CHECKSUMS="$(echo ${_DIGEST} | tr [a-z] [A-Z])SUMS" + _CHECKSUMS="$(echo ${_DIGEST} | tr [a-z] [A-Z])SUMS ${_DIGEST}sum.txt" - if [ -e "${_CHECKSUMS}" ] - then - echo "Found ${_CHECKSUMS}..." > "${_TTY}" - - if [ -e "/bin/${_DIGEST}sum" ] + for _CHECKSUM in ${_CHECKSUMS} + do + if [ -e "${_CHECKSUM}" ] then - echo "Checking ${_CHECKSUMS}..." > "${_TTY}" + echo "Found ${_CHECKSUM}..." > "${_TTY}" + + if [ -e "/bin/${_DIGEST}sum" ] + then + echo "Checking ${_CHECKSUM}..." > "${_TTY}" - # Verify checksums - /bin/${_DIGEST}sum -c "${_CHECKSUMS}" < "${_TTY}" > "${_TTY}" - _RETURN="${?}" + # Verify checksums + /bin/${_DIGEST}sum -c "${_CHECKSUM}" < "${_TTY}" > "${_TTY}" + _RETURN="${?}" - # Stop after first verification - break - else - echo "Not found /bin/${_DIGEST}sum..." > "${_TTY}" + # Stop after first verification + break + else + echo "Not found /bin/${_DIGEST}sum..." > "${_TTY}" + fi fi - fi + done done log_end_msg