[TUTORIAL] PVE 9.2 arm64 on ASUS GX10 (GB10): black screen after initrd, fix is console=tty0

bbgeek17

Distinguished Member
Nov 20, 2020
6,783
2,745
278
Blockbridge
www.blockbridge.com
If you install Proxmox VE 9.2 arm64 on an ASUS GX10 or a DGX Spark, the first boot will show a black screen, and you will think it hung. It did not. Here is why, and the fix.

For context, we bought some GX10 systems (NVIDIA GB10, same board as the DGX Spark) for PVE arm64 qualification of our storage driver. Sure, these aren’t on the “official support” list, but it costs a lot less than a Grace Hopper node and consumes less power ;)

Hardware​

  • ASUS Ascent GX10
  • NVIDIA GB10, 20 cores, 3.9 GHz
  • 128 GB LPDDR5 8533
  • UEFI GX10DGX.0105.2026.0505.1153 (AMI, 2026-05-05), EC 3.3.2
  • pve-manager 9.2.9, kernel 7.0.14-6-pve
  • ext4/LVM root, GRUB

Issue​

On first boot from disk after install: GRUB menu, Loading Linux…, Loading initial ramdisk…, then black screen. No cursor, no messages, and the keyboard LEDs don’t respond. Looked like an early kernel hang. But we reasoned that the host was actually up… you just couldn’t see it.

Cause​

The GX10 firmware ships an ACPI SPCR table entry (Serial Port Console Redirection) that points to an on-board UART. With no console= on the kernel command line, Linux follows SPCR and puts the console on the serial port. As a result, nothing gets attached to the EFI framebuffer, so the display stays dark. The keyboard “freeze” is simply that there is no console to echo to.

Fix​

At GRUB, press e, add console=tty0 to the linux line, Ctrl-X.

Then make it permanent in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty0"
update-grub
nomodeset by itself does nothing here. We tried.

Verification​

Code:
dmesg | grep -i spcr
[    0.000000] ACPI: SPCR 0x0000000087069F98 000050 (v02 ALASKA A M I    20130221 AMI  00000099)
[    0.000000] ACPI: SPCR: console: uart,mmio32,0x16a00000,115200

cat /sys/class/tty/console/active
with console=tty0:  tty0 plus the serial device
without:            the serial device only
Same boot, different console target.

Status so far​

  • Boots on the stock 7.0 kernel.
  • No NVIDIA kernel needed for a working host.
  • Onboard NIC is working fine.

For the Proxmox Team​

Either of these would help:

  1. Have the arm64 installer add console=tty0 when an SPCR table and a framebuffer are both present, or just always.
  2. Or a note in the arm64 install docs: black screen after initrd means the firmware is pointing the console somewhere else, add console=tty0.
Bugzilla entry to follow. Will link it here.


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox