Skip to content

Scaleway: rd.break does not open interactive initramfs shell on provider console unless serial-only console is forced #1922

@MichelBaie

Description

@MichelBaie

Description

On Scaleway VMs, adding rd.break from the provider console correctly stops in the initramfs, but no interactive shell appears on the provider’s serial console. The rd.break shell seems to attach to VGA instead. Only when forcing the serial console (and disabling/making VGA non-interactive via console= ordering) does the initramfs shell become usable from the Scaleway console.

Impact

This prevents early-boot debugging on Scaleway using rd.break, making it difficult to diagnose issues.

Environment and steps to reproduce

  1. Set-up: Latest Stable Flatcar Container Linux on Scaleway (cloud VM); interacting via the provider’s web serial console.

  2. Task: Debug early boot by dropping into an initramfs shell using rd.break.

  3. Action(s):
    a. From the Scaleway console, modify the kernel command line to add rd.break (and boot).

    b. Observe that boot stops in the initramfs but no interactive shell is presented on the serial console (no prompt, input not accepted).

    c. Reboot and modify the kernel command line to force serial-only and increase verbosity:

    rd.break rd.shell console=ttyS0,115200n8 earlycon=ttyS0,115200
    

    Now the rd.break shell appears on the provider’s serial console and is interactive.

  4. Error:
    With rd.break alone, no interactive initramfs shell is accessible from the Scaleway provider console; the shell appears to bind to VGA instead of serial.

Expected behavior

On Scaleway images/flavors, rd.break should open an interactive initramfs shell on the provider-accessible serial console by default, without requiring additional console parameters.

Additional information

  • Scaleway’s web console exposes the serial port; VGA is not available. If the kernel command line includes both console=tty0 and console=ttyS0 (with tty0 last), the kernel routes input to VGA, making rd.break unusable from the provider console.

  • Suggested remediation for Scaleway flavor:

    • Ensure the serial console is the only console=, or at least the last one, e.g.:
      console=ttyS0,115200n8
      
    • Optionally add earlycon on the same port to surface very early messages:
      earlycon=ttyS0,115200
      
    • This aligns rd.break’s interactive shell with the provider console.
  • I will attach two screenshots: (1) rd.break without serial-forcing arguments (no shell), (2) rd.break with the arguments above (interactive shell visible).

(1).

Image

(2).

Image Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    ⚒️ In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions