Enter U-Boot
terminal_enter_ubootInterrupts a U-Boot countdown on an existing serial session and confirms entry via host-side raw-byte matching, enabling access to the U-Boot prompt during boot.
Instructions
Interrupt one U-Boot countdown on an existing serial Session and confirm entry using Host-side raw-byte matching. No skill installation is required.
Select: use terminal_list_sessions if the intended Session is unknown. If current evidence already establishes an idle U-Boot prompt, use terminal_write for authorized commands, not this entry tool or Bash-only terminal_exec. An old buffered prompt alone does not establish current state.
Prepare: inspect boot output with terminal_read (hex/base64 for non-UTF-8 bytes), supplied firmware configuration, or settings verified for this board and firmware. Select the literal markers and exact interrupt bytes from that evidence. An explicit any-key prompt permits a space; a generic countdown does not identify the required key or string. If a required setting is unknown, ask the user only for that missing detail before calling; reuse known answers. Do not guess or cycle through keys. The tool does not discover settings or ask questions during execution.
Run: stay within the user's authorized hardware action; an explicit request to enter U-Boot need not be reconfirmed. Choose wait_reset for manual reset, or reboot only from a verified idle Bash prompt with an explicit command. Before calling, save the terminal_session_events cursor; in another request observe the matching OPERATION_STATE ready event before manual reset. Prepare before resetting rather than relying on model round trips during the countdown. The Host manages its lease and sends the interrupt at most once.
Verify: only status entered confirms a fresh line-bound prompt after countdown; bytes_written alone does not. Check isError and structuredContent.result for partial evidence. boot_started means boot proceeded; timeout means entry was not confirmed, not that the key was wrong. On failure report evidence; do not automatically change keys or reboot again. Cancellation releases ownership without recovery keys or closing a healthy Session; a submitted reboot cannot be undone.
Limits: a silent countdown or firmware-disabled interruption is not handled by this flow; request firmware details instead of inventing a trigger. There is no dedicated password/credential-protection workflow; do not solicit secrets in chat or treat tool arguments as protected credential storage.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | wait_reset only listens for a user-triggered reset; it does not reset hardware. reboot sends reboot_command through a verified idle Bash prompt, never through U-Boot or another shell. | |
| session_id | Yes | Active Session ID or short reference. | |
| timeout_ms | No | 1..180000 milliseconds; default 60000. | |
| diagnostics | No | Default metadata. capture explicitly opts into retaining sensitive raw terminal evidence for 15 minutes or earlier eviction. If diagnostic_id is returned, download via terminal_read_diagnostic or the diagnostics CLI before expiry or Host exit. | |
| prompt_pattern | Yes | Exact 1..256 byte prompt line from this firmware, including trailing spaces (e.g. 'Zynq> ' or '=> '). Matched against raw bytes at an observed line boundary after countdown, not terminal colors or cursor position. | |
| reboot_command | No | Explicit single-line Bash command; reboot mode only. | |
| countdown_pattern | Yes | Literal 1..256 byte countdown marker from this firmware's output; no regex or wildcards. Use a distinctive fixed portion before changing digits, e.g. 'Autoboot in '. This text alone does not specify the interrupt key. | |
| interrupt_data_hex | Yes | The verified interrupt key or complete non-secret string: 1..32 bytes as hexadecimal pairs without spaces, sent at most once. Encodings: space='20', Esc='1b', Ctrl+C='03', 'stop'='73746f70'. These are alternatives for firmware explicitly accepting that input, not a sequence of probes. No default key; no CR/LF is appended. Ask the user if the required input is unknown. | |
| boot_started_patterns | Yes | 1..8 literal markers showing boot has proceeded, each 1..256 bytes. Use verified firmware output, not generic U-Boot banners; a match takes precedence over prompt success. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| dropped | Yes | ||
| elapsed_ms | Yes | ||
| output_end | Yes | ||
| session_id | Yes | ||
| operation_id | Yes | ||
| output_start | Yes | ||
| bytes_written | Yes | ||
| diagnostic_id | No | ||
| prompt_cursor | Yes | ||
| prompt_matched | Yes | ||
| countdown_cursor | Yes | ||
| diagnostic_error | No | ||
| countdown_matched | Yes |