Every Excloud VM has a virtual serial console attached. Whatever the kernel and bootloader would print to a physical serial port — boot messages, panics, getty prompts — is captured and streamable on demand.

This is the tool to reach for when:

  • A VM came up but you can’t SSH into it.
  • You changed networking or iptables and locked yourself out.
  • The kernel is unhappy and journalctl isn’t enough.
  • You want to confirm a cloud-init script ran.

Tail the live console

exc compute seriallogs --id 42 --follow

--follow polls for new lines and streams them to stdout, like tail -f. Stop with Ctrl-C.

Single fetch

exc compute seriallogs --id 42 --limit 1000
FlagPurpose
--idVM ID
--boot_idSpecific boot; omit for the latest boot
--limitUp to 1000 lines per call (default 200)
--offsetCursor — pass the last offset you saw
--directionolder or newer — which way the cursor moves
-f, --followStream new lines

Paging

Serial logs use cursor pagination, not page numbers. A typical “scroll back” loop:

  1. Fetch --limit 1000 --direction older.
  2. The response includes the offset of the oldest line.
  3. Call again with that offset until you’ve reached the beginning of the buffer.

direction=newer scrolls forward; direction=older scrolls backward. Mix both if you want to anchor on a specific timestamp and read in both directions.

Open an interactive console

Serial logs are read-only. To get an interactive console (e.g. type at a getty prompt during boot), use:

exc compute console --vm_id 42

Required permission

The action is compute:instance:list today (serial logs are read-only and treated as inspection). For policy examples see the Policies guide.