Loading fs_mgr/tests/adb-remount-test.sh +28 −63 Original line number Original line Diff line number Diff line Loading @@ -1099,7 +1099,7 @@ D=`adb_sh df -k </dev/null` && D=`echo "${D}" | grep -v " /vendor/..*$" | grep "^overlay "` && D=`echo "${D}" | grep -v " /vendor/..*$" | grep "^overlay "` && echo "${H}" && echo "${H}" && echo "${D}" && echo "${D}" && echo "${YELLOW}[ WARNING ]${NORMAL} overlays present before setup" >&2 || die "overlay takeover unexpected at this phase" echo "${GREEN}[ OK ]${NORMAL} no overlay present before setup" >&2 echo "${GREEN}[ OK ]${NORMAL} no overlay present before setup" >&2 overlayfs_needed=true overlayfs_needed=true D=`adb_sh cat /proc/mounts </dev/null | D=`adb_sh cat /proc/mounts </dev/null | Loading Loading @@ -1133,73 +1133,38 @@ elif ! ${overlayfs_supported}; then die "need overlayfs, but do not have it" die "need overlayfs, but do not have it" fi fi echo "${GREEN}[ RUN ]${NORMAL} disable verity" >&2 echo "${GREEN}[ RUN ]${NORMAL} disable-verity -R" >&2 T=`adb_date` H=`adb disable-verity 2>&1` err=${?} L= L= D="${H%?Now reboot your device for settings to take effect*}" T=$(adb_date) if [ X"${D}" != X"${D##*[Uu]sing overlayfs}" ]; then H=$(adb_su disable-verity -R 2>&1) echo "${GREEN}[ OK ]${NORMAL} using overlayfs" >&2 err="${?}" fi if [ ${err} != 0 ]; then echo "${H}" echo "${H}" ( [ -n "${L}" ] && echo "${L}" && false ) || die -t "${T}" "disable-verity" if [ "${err}" != 0 ]; then die -t "${T}" "disable-verity -R" fi fi rebooted=false if [ X"${D}" != X"${H}" ]; then # Fuzzy search for a line that contains "overlay" and "fail". Informational only. echo "${H}" if echo "${H}" | grep -i "overlay" | grep -iq "fail"; then if [ X"${D}" != X"${D##*setup failed}" ]; then echo "${YELLOW}[ WARNING ]${NORMAL} overlayfs setup whined" >&2 echo "${YELLOW}[ WARNING ]${NORMAL} overlayfs setup whined" >&2 fi fi D=`adb_sh df -k </dev/null` && H=`echo "${D}" | head -1` && adb_wait "${ADB_WAIT}" && D=`echo "${D}" | grep -v " /vendor/..*$" | grep "^overlay " || true` && [ -z "${D}" ] || ( echo "${H}" && echo "${D}" && false ) || die -t ${T} "overlay takeover unexpected at this phase" echo "${GREEN}[ INFO ]${NORMAL} rebooting as requested" >&2 L=`adb_logcat -b all -v nsec -t ${T} 2>&1` adb_reboot && adb_wait ${ADB_WAIT} || die "lost device after reboot requested `usb_status`" adb_root || adb_root || die "lost device after elevation to root `usb_status`" die "lost device after adb shell su root disable-verity -R $(usb_status)" rebooted=true # re-disable verity to see the setup remarks expected if ${overlayfs_needed}; then T=`adb_date` has_overlayfs_setup=false H=`adb disable-verity 2>&1` for d in ${OVERLAYFS_BACKING}; do err=${?} if adb_test -d "/${d}/overlay"; then D="${H%?Now reboot your device for settings to take effect*}" has_overlayfs_setup=true if [ X"${D}" != X"${D##*[Uu]sing overlayfs}" ]; then echo "${GREEN}[ OK ]${NORMAL} /${d}/overlay is setup" >&2 echo "${GREEN}[ OK ]${NORMAL} using overlayfs" >&2 fi if [ ${err} != 0 ]; then T= fi fi fi if ${overlayfs_supported} && ${overlayfs_needed} && [ X"${D}" != X"${D##*setup failed}" ]; then done echo "${D}" if ! ${has_overlayfs_setup}; then ( [ -n "${L}" ] && echo "${L}" && false ) || die "no overlay being setup after disable-verity -R" die -t "${T}" "setup for overlay" fi fi if [ X"${D}" != X"${D##*Successfully disabled verity}" ]; then echo "${H}" D=`adb_sh df -k </dev/null` && H=`echo "${D}" | head -1` && D=`echo "${D}" | grep -v " /vendor/..*$" | grep "^overlay " || true` && [ -z "${D}" ] || ( echo "${H}" && echo "${D}" && false ) || ( [ -n "${L}" ] && echo "${L}" && false ) || die -t "${T}" "overlay takeover unexpected" [ -n "${L}" ] && echo "${L}" die -t "${T}" "unexpected report of verity being disabled a second time" elif ${rebooted}; then echo "${GREEN}[ OK ]${NORMAL} verity already disabled" >&2 else echo "${YELLOW}[ WARNING ]${NORMAL} verity already disabled" >&2 fi fi echo "${GREEN}[ RUN ]${NORMAL} remount" >&2 echo "${GREEN}[ RUN ]${NORMAL} remount" >&2 Loading Loading
fs_mgr/tests/adb-remount-test.sh +28 −63 Original line number Original line Diff line number Diff line Loading @@ -1099,7 +1099,7 @@ D=`adb_sh df -k </dev/null` && D=`echo "${D}" | grep -v " /vendor/..*$" | grep "^overlay "` && D=`echo "${D}" | grep -v " /vendor/..*$" | grep "^overlay "` && echo "${H}" && echo "${H}" && echo "${D}" && echo "${D}" && echo "${YELLOW}[ WARNING ]${NORMAL} overlays present before setup" >&2 || die "overlay takeover unexpected at this phase" echo "${GREEN}[ OK ]${NORMAL} no overlay present before setup" >&2 echo "${GREEN}[ OK ]${NORMAL} no overlay present before setup" >&2 overlayfs_needed=true overlayfs_needed=true D=`adb_sh cat /proc/mounts </dev/null | D=`adb_sh cat /proc/mounts </dev/null | Loading Loading @@ -1133,73 +1133,38 @@ elif ! ${overlayfs_supported}; then die "need overlayfs, but do not have it" die "need overlayfs, but do not have it" fi fi echo "${GREEN}[ RUN ]${NORMAL} disable verity" >&2 echo "${GREEN}[ RUN ]${NORMAL} disable-verity -R" >&2 T=`adb_date` H=`adb disable-verity 2>&1` err=${?} L= L= D="${H%?Now reboot your device for settings to take effect*}" T=$(adb_date) if [ X"${D}" != X"${D##*[Uu]sing overlayfs}" ]; then H=$(adb_su disable-verity -R 2>&1) echo "${GREEN}[ OK ]${NORMAL} using overlayfs" >&2 err="${?}" fi if [ ${err} != 0 ]; then echo "${H}" echo "${H}" ( [ -n "${L}" ] && echo "${L}" && false ) || die -t "${T}" "disable-verity" if [ "${err}" != 0 ]; then die -t "${T}" "disable-verity -R" fi fi rebooted=false if [ X"${D}" != X"${H}" ]; then # Fuzzy search for a line that contains "overlay" and "fail". Informational only. echo "${H}" if echo "${H}" | grep -i "overlay" | grep -iq "fail"; then if [ X"${D}" != X"${D##*setup failed}" ]; then echo "${YELLOW}[ WARNING ]${NORMAL} overlayfs setup whined" >&2 echo "${YELLOW}[ WARNING ]${NORMAL} overlayfs setup whined" >&2 fi fi D=`adb_sh df -k </dev/null` && H=`echo "${D}" | head -1` && adb_wait "${ADB_WAIT}" && D=`echo "${D}" | grep -v " /vendor/..*$" | grep "^overlay " || true` && [ -z "${D}" ] || ( echo "${H}" && echo "${D}" && false ) || die -t ${T} "overlay takeover unexpected at this phase" echo "${GREEN}[ INFO ]${NORMAL} rebooting as requested" >&2 L=`adb_logcat -b all -v nsec -t ${T} 2>&1` adb_reboot && adb_wait ${ADB_WAIT} || die "lost device after reboot requested `usb_status`" adb_root || adb_root || die "lost device after elevation to root `usb_status`" die "lost device after adb shell su root disable-verity -R $(usb_status)" rebooted=true # re-disable verity to see the setup remarks expected if ${overlayfs_needed}; then T=`adb_date` has_overlayfs_setup=false H=`adb disable-verity 2>&1` for d in ${OVERLAYFS_BACKING}; do err=${?} if adb_test -d "/${d}/overlay"; then D="${H%?Now reboot your device for settings to take effect*}" has_overlayfs_setup=true if [ X"${D}" != X"${D##*[Uu]sing overlayfs}" ]; then echo "${GREEN}[ OK ]${NORMAL} /${d}/overlay is setup" >&2 echo "${GREEN}[ OK ]${NORMAL} using overlayfs" >&2 fi if [ ${err} != 0 ]; then T= fi fi fi if ${overlayfs_supported} && ${overlayfs_needed} && [ X"${D}" != X"${D##*setup failed}" ]; then done echo "${D}" if ! ${has_overlayfs_setup}; then ( [ -n "${L}" ] && echo "${L}" && false ) || die "no overlay being setup after disable-verity -R" die -t "${T}" "setup for overlay" fi fi if [ X"${D}" != X"${D##*Successfully disabled verity}" ]; then echo "${H}" D=`adb_sh df -k </dev/null` && H=`echo "${D}" | head -1` && D=`echo "${D}" | grep -v " /vendor/..*$" | grep "^overlay " || true` && [ -z "${D}" ] || ( echo "${H}" && echo "${D}" && false ) || ( [ -n "${L}" ] && echo "${L}" && false ) || die -t "${T}" "overlay takeover unexpected" [ -n "${L}" ] && echo "${L}" die -t "${T}" "unexpected report of verity being disabled a second time" elif ${rebooted}; then echo "${GREEN}[ OK ]${NORMAL} verity already disabled" >&2 else echo "${YELLOW}[ WARNING ]${NORMAL} verity already disabled" >&2 fi fi echo "${GREEN}[ RUN ]${NORMAL} remount" >&2 echo "${GREEN}[ RUN ]${NORMAL} remount" >&2 Loading