I have a headless machine with F35 (but the same problem appeared in F34 and F33, so probably is not relevant).
I configured to system to work with a serial console. And it works fine. When connected via serial, I can see the grub menu, select a kernel entry and boot. If I’m connected and I don’t select an entry, the system boots after 5 seconds. This configuration just works.
The problem is when I’m not connected to the serial port. In that case the system doesn’t boot automatically. As far as I can see, grub waits in the kernel menu ignoring the timeout. If I connect via serial in this case, the system boots if I hit enter and I can recover the boot menu if I press up/down keys.
So, as a summary. If I’m connected to the serial port, grub behaves as expected. If I’m not connected, grub waits for input in the kernel menu.
This is my grub file. The system has BIOS, no EFI
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_DISABLE_SUBMENU=true
GRUB_CMDLINE_LINUX="xxxx crashkernel=128M console=ttyS0,115200 console=tty0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_TERMINAL="serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"