X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Fboot%2F3010-verify-checksums;h=08b2972ecd4f417d3c66f992cebfdea6a6b2af11;hb=71997770be3f27cb50a6b32059862355d955d0e9;hp=cc4115d8ccf7786c8e91df3b295b39c4186cc051;hpb=e5efea97c9573d24a5cd4aa051a5f39696913bcf;p=live-boot-grml.git diff --git a/scripts/boot/3010-verify-checksums b/scripts/boot/3010-verify-checksums index cc4115d..08b2972 100755 --- a/scripts/boot/3010-verify-checksums +++ b/scripts/boot/3010-verify-checksums @@ -7,48 +7,60 @@ 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 - if [ "${LIVE_VERIFY_CHECKSUMS}" != "true" ] - then - return 0 - fi + 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