commit: 8d1b1ff68fc56f79739c02bbe5ebe9ef14933825 Author: Rick Farina (Zero_Chaos) <zerochaos <AT> gentoo <DOT> org> AuthorDate: Thu Aug 20 02:25:56 2015 +0000 Commit: Richard Farina <zerochaos <AT> gentoo <DOT> org> CommitDate: Thu Aug 20 02:25:56 2015 +0000 URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8d1b1ff6
add in the isoroot/cdroot verification patch from pentoo defaults/busy-config | 2 +- defaults/initrd.defaults | 1 + defaults/initrd.scripts | 16 ++++++++++++++++ defaults/linuxrc | 3 +++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/defaults/busy-config b/defaults/busy-config index b1188e9..aed797e 100644 --- a/defaults/busy-config +++ b/defaults/busy-config @@ -306,7 +306,7 @@ CONFIG_FEATURE_HUMAN_READABLE=y # # Common options for md5sum, sha1sum, sha256sum, sha512sum # -# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y # # Console Utilities diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index 5e8fdbe..a5eb3ba 100755 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -67,6 +67,7 @@ CDROOT_PATH='/mnt/cdrom' # This is the file that the cdroot will be checked for as a # marker. It must exist RELATIVE to the cdroot. CDROOT_MARKER='/livecd' +VERIFY=0 # AUFS variables aufs=0 diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index a07a408..2612574 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -233,6 +233,22 @@ bootstrapCD() { findmediamount "cdrom" "${SUBDIR}/${CDROOT_MARKER}" \ "REAL_ROOT" "${CDROOT_PATH}" ${DEVICES} + if [ $VERIFY = 1 ]; then + cd "${CDROOT_PATH}" + if [ -f isoroot_checksums ]; then + good_msg "Verifying checksums, this may take some time..." + if ! busybox sha512sum -c isoroot_checksums; then + bad_msg "Some checksums failed, press any key to poweroff..." + read -n1 -s + busybox poweroff -f + else + good_msg "Checksums all valid, continuing boot..." + fi + cd $OLDPWD + else + bad_msg "Verify enabled but no checksums file exists, skipping" + fi + fi } bootstrapKey() { diff --git a/defaults/linuxrc b/defaults/linuxrc index 46b2151..ebf26b5 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -283,6 +283,9 @@ do nounionfs) USE_UNIONFS_NORMAL=0 ;; + verify) + VERIFY=1 + ;; esac done