On 30/04/2020 19:44, Andy Shevchenko wrote: > First of all I see only cover letter and one out of 3 patches. Apologies, the tool I've used to send the patches (U-Boot's patman) Cc-ed the scripts/get_maintainer.pl output per-patch, instead of per-series as I had assumed it would. This was the first time I tried it, I'll keep that in mind. Here are links to all four emails: https://lore.kernel.org/linux-serial/20200430161438.17640-1-alpernebiyasak@xxxxxxxxx/ https://lore.kernel.org/linux-serial/20200430161438.17640-2-alpernebiyasak@xxxxxxxxx/ https://lore.kernel.org/linux-serial/20200430161438.17640-3-alpernebiyasak@xxxxxxxxx/ https://lore.kernel.org/linux-serial/20200430161438.17640-4-alpernebiyasak@xxxxxxxxx/ Or I can resend the last two patches to you, or resend all the parts to everyone again. >> eventually figured out that the kernel preferred the serial port >> (inaccessible to me) over the built-in working display/keyboard and was >> probably asking there. > > "probably". Please, confirm that first. > Also, without command line it's hard to say what you have asked kernel to do. I was trying to boot a Debian userspace with cryptsetup, with the kernel command line: root=/dev/mapper/sda3_crypt quiet splash The Debian initramfs handles most of the work (the password prompt, device mounts, etc.). When I used the same kernel/initramfs/rootfs on a QEMU aarch64 VM, it only prompted on the serial console instead the framebuffer. I'm assuming the same thing happens on my hardware as well. I can also ask the Debian initramfs to launch a shell by adding "break" to the command line, which won't be printed on my device's screen unless I also add "console=tty0". That shell also only appears on the serial console on the QEMU aarch64 VM, unless I again add "console=tty0". This is my primary computer and I'd prefer not dismantling it, so my findings above are the best I believe I can do to confirm it now. I'm hoping other people would be interested in this, and would test more than I can. >> Running plymouth in the initramfs solves that specific problem, but > > What is plymouth? Plymouth is a userspace program that's famous for showing a splash animation during boot, but in this context: it handles user-interaction that might need to happen while the initramfs is running, by printing messages and prompts and reading user input to/from all consoles. >> ------------------+-----------------------+-----------------------+ >> Chromebook Plus | tty0 -WU (EC p ) | tty0 -WU (EC p ) | >> (w/o either) | | | >> ------------------+-----------------------+-----------------------+ > > either == SPCR or stdout-path? As in "When the device has no SPCR _and_ no chosen stdout-path". >> This patchset tries to ensure that VT is preferred in those conditions >> even in the presence of firmware-mandated serial consoles. > > This sounds completely wrong. serial should be preferred over vt due to very > debugging on early stages and SPCR is exactly for that. I'm saying that from a userspace perspective, and the patches explicitly try to switch to the vt only after a real framebuffer is initialized. So if I did it right, it would still use SPCR/stdout-path's console during the early stages. (I admit I haven't adjusted to talking within a kernel context yet). In all honesty, I'm not sure if this is even considered a kernel bug, let alone my patches a correct solution; hence the RFC PATCH as an attempt at demonstrating this can be "fixed" in kernel. > Maybe you should figure out the real root cause? Thanks for the reply. Any ideas on what else could be causing this behaviour?