#!/bin/sh # anaconda-diskroot: find our root image on the given disk device # usage: anaconda-diskroot DEVICE [PATH] . /lib/anaconda-lib.sh command -v getargbool >/dev/null || . /lib/dracut-lib.sh # Run checkisomd5 on a device run_checkisomd5() { livedev=$1 if getargbool 0 rd.live.check -d check; then [ -b $livedev ] && fs=$(blkid -s TYPE -o value $livedev) if [ "$fs" = "iso9660" -o "$fs" = "udf" ]; then [ -x /bin/plymouth ] && /bin/plymouth --hide-splash if [ -n "$DRACUT_SYSTEMD" ]; then p=$(str_replace "$livedev" "-" '\x2d') systemctl start checkisomd5@${p}.service status=$(systemctl -p ExecMainStatus show checkisomd5@${p}.service) splitsep "=" "$status" ignore rc else checkisomd5 --verbose $livedev rc=$? fi if [ "$rc" == "1" ]; then die "CD check failed!" exit 1 fi [ -x /bin/plymouth ] && /bin/plymouth --show-splash fi fi } dev="$1" path="$2" # optional, could be empty [ -e "/dev/root" ] && exit 1 # we already have a root device! info "anaconda using disk root at $dev" mount $dev $repodir || warn "Couldn't mount $dev" anaconda_live_root_dir $repodir $path run_checkisomd5 $dev