Messages in this thread | | | Subject | Re: [RFC PATCH v2 0/3] Prefer working VT console over SPCR and device-tree chosen stdout-path | From | Alper Nebi Yasak <> | Date | Thu, 30 Apr 2020 22:32:04 +0300 |
| |
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@gmail.com/ https://lore.kernel.org/linux-serial/20200430161438.17640-2-alpernebiyasak@gmail.com/ https://lore.kernel.org/linux-serial/20200430161438.17640-3-alpernebiyasak@gmail.com/ https://lore.kernel.org/linux-serial/20200430161438.17640-4-alpernebiyasak@gmail.com/
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?
| |