summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2011-11-16 13:39:56 -0800
committerBill Richardson <wfrichar@chromium.org>2011-11-16 16:00:42 -0800
commit591f07822b167952f04c55cdfd0a9d679dfa632a (patch)
treef61f1f2e029716d6aaed7a5144323fdfcdd68553
parentf287021864c70d3b642152f27d2f1ae8bb5a1a02 (diff)
downloadvboot-591f07822b167952f04c55cdfd0a9d679dfa632a.tar.gz
Pressing the recovery button okays booting from USB
BUG=chrome-os-partner:1113 TEST=manual With the dev-switch OFF, insert a bootable USB drive, reboot while holding down recovery button. It should boot from the USB without prompting for removal. With the dev-switch OFF and the same bootable USB drive inserted, run crossystem recovery_request=1 reboot The BIOS screen should prompt you to remove the USB drive, then to insert it before it will boot from the USB. Change-Id: Ie2fe4302443e14b1f85f409b54aa43a94d6c5477 Reviewed-on: https://gerrit.chromium.org/gerrit/11788 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r--firmware/lib/vboot_api_kernel.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c
index a013c8f2..5ef78027 100644
--- a/firmware/lib/vboot_api_kernel.c
+++ b/firmware/lib/vboot_api_kernel.c
@@ -198,8 +198,10 @@ VbError_t VbBootRecovery(VbCommonParams* cparams, LoadKernelParams* p) {
VBDEBUG(("VbBootRecovery() start\n"));
- /* If dev mode switch is off, require removal of all external media. */
- if (!(shared->flags & VBSD_BOOT_DEV_SWITCH_ON)) {
+ /* If the dev-mode switch is off and the user didn't press the recovery
+ * button, require removal of all external media. */
+ if (!(shared->flags & VBSD_BOOT_DEV_SWITCH_ON) &&
+ (VBNV_RECOVERY_RO_MANUAL != shared->recovery_reason)) {
VbDiskInfo* disk_info = NULL;
uint32_t disk_count = 0;