OEM mode via Ctrl+C on the first screen, not a mode-picker entry
Restore the original screen order (keyboard first, then disk) and make Ctrl+C on the keyboard screen the entry into OEM mode — the same hidden-Ctrl+C idiom the disk-overwrite screen already uses for unencrypted installs. A confirm guards against an accidental Ctrl+C; once confirmed, OEM jumps straight to disk selection and the overwrite confirmation (no keyboard, no user), since OEM is always a full-disk install. The 'OEM install' entry leaves the mode picker. The harness drives the new path. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
30759f2082
commit
2f54e5579b
2 files changed
+104
-61
No files matched your search
+41
-31
@@ -606,46 +606,56 @@ audio-panel|meta_l-ctrl-a|omarchy-keyboard-panel|omarchy.audio'
|
||||
drive_configurator() {
|
||||
log "Driving the installer wizard"
|
||||
|
||||
# Disk first (the keyboard step moved after mode selection, and OEM skips it).
|
||||
wait_for_screen "install disk" 300
|
||||
capture_console "success-installer-01-install-disk"
|
||||
press ret # the single virtio disk
|
||||
|
||||
# A blank disk shows the mode picker only when the bundled runtime supports
|
||||
# OEM mode; otherwise the wizard goes straight to the overwrite confirm.
|
||||
wait_for_screen "installation mode\|recovery possible" 60
|
||||
if ocr_screen | grep -qi "installation mode"; then
|
||||
capture_console "success-installer-02-install-mode"
|
||||
if $OEM; then
|
||||
press down # "OEM install" sits below "Full disk install" on a blank disk
|
||||
fi
|
||||
press ret
|
||||
elif $OEM; then
|
||||
capture_console "failure-installer-no-oem-choice"
|
||||
echo "OEM flow requested but this ISO does not offer OEM mode" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
wait_for_screen "recovery possible" 60
|
||||
capture_console "success-installer-03-disk-warning-encrypted"
|
||||
if ! $ENCRYPT; then
|
||||
press ctrl-c # toggles the confirm to the unencrypted flow
|
||||
wait_for_screen "without encryption" 30
|
||||
capture_console "success-installer-04-disk-warning-unencrypted"
|
||||
fi
|
||||
press ret
|
||||
# Keyboard is the first screen. Ctrl+C there is the hidden entry into OEM
|
||||
# mode; a normal install just selects the layout.
|
||||
wait_for_screen "keyboard layout" 300
|
||||
capture_console "success-installer-01-keyboard-layout"
|
||||
|
||||
if $OEM; then
|
||||
# OEM installs skip the keyboard and user steps; the install starts now.
|
||||
press ctrl-c # arm OEM mode
|
||||
wait_for_screen "new owner" 30
|
||||
capture_console "success-installer-02-oem-confirm"
|
||||
press ret # "Yes, prepare for a new owner" is the affirmative default
|
||||
|
||||
# OEM jumps straight to disk selection, then the overwrite confirm.
|
||||
wait_for_screen "install disk" 60
|
||||
capture_console "success-installer-03-oem-install-disk"
|
||||
press ret
|
||||
|
||||
wait_for_screen "recovery possible" 60
|
||||
capture_console "success-installer-04-oem-disk-warning-encrypted"
|
||||
if ! $ENCRYPT; then
|
||||
press ctrl-c
|
||||
wait_for_screen "without encryption" 30
|
||||
capture_console "success-installer-05-oem-disk-warning-unencrypted"
|
||||
fi
|
||||
press ret
|
||||
sleep 2
|
||||
capture_console "success-installer-13-install-started"
|
||||
return 0
|
||||
fi
|
||||
|
||||
wait_for_screen "keyboard layout" 60
|
||||
capture_console "success-installer-05-keyboard-layout"
|
||||
press ret # English (US) is preselected
|
||||
|
||||
wait_for_screen "install disk" 60
|
||||
capture_console "success-installer-02-install-disk"
|
||||
press ret # the single virtio disk
|
||||
|
||||
wait_for_screen "installation mode\|recovery possible" 60
|
||||
if ocr_screen | grep -qi "installation mode"; then
|
||||
capture_console "success-installer-03-install-mode"
|
||||
press ret # "Full disk install" is preselected
|
||||
fi
|
||||
|
||||
wait_for_screen "recovery possible" 60
|
||||
capture_console "success-installer-04-disk-warning-encrypted"
|
||||
if ! $ENCRYPT; then
|
||||
press ctrl-c # toggles the confirm to the unencrypted flow
|
||||
wait_for_screen "without encryption" 30
|
||||
capture_console "success-installer-05-disk-warning-unencrypted"
|
||||
fi
|
||||
press ret
|
||||
|
||||
wait_for_screen "Username" 120
|
||||
type_text "$GUEST_USER"
|
||||
capture_console "success-installer-06-username"
|
||||
|
||||
Reference in new issue
Block a user