Skip to contentSkip to conversation

Login prompt on a video console instead of serial port?

DISCUSSION Timur Tabi 5 participants 5 messages May 2, 2011 – May 3, 2011 Framebuffer layer

lore
Share & tools
lore

Timur Tabi

author
#0 lore raw

I'm using a Freescale P1022DS (PowerPC e500 core) system, which has a built-in video controller. I have a framebuffer driver that works fine, and if I add "video=fslfb:1280x1024-32@60,monitor=0 console=tty0" to the command-line, then *most* of the kernel boot log appears on the serial port and the video display.

However, the login prompt is always on the serial port. This happens even if I delete the "console=ttyS0,115200" from the command-line. I presume this is because the "linux,stdout-path" property in the device tree always points to a serial port node.

So my question is: what do I need to do get the login prompt on the video console? That is, stdout goes to /dev/fb0 but stdin is still from /dev/ttyS0. I presume I need to direct "linux,stdout-path" to the fslfb node in the device tree, but there doesn't appear to be support for "linux,stdin-path".

Signature · 2 lines
Timur Tabi
Linux kernel developer at Freescale
#1 lore raw

Don't you have to spawn a terminal on the framebuffer for the login? Right now getty spawns the login on the serial port via /etc/inittab. Something similiar is probably needed for the framebuffer.

-M

Quoted 14 lines · Timur Tabi

I'm using a Freescale P1022DS (PowerPC e500 core) system, which has a built-in video controller.  I have a framebuffer driver that works fine, and if I add "video=fslfb:1280x1024-32@60,monitor=0 console=tty0" to the command-line, then *most* of the kernel boot log appears on the serial port and the video display.

However, the login prompt is always on the serial port.  This happens even if I delete the "console=ttyS0,115200" from the command-line.  I presume this is because the "linux,stdout-path" property in the device tree always points to a serial port node.

So my question is: what do I need to do get the login prompt on the video console?  That is, stdout goes to /dev/fb0 but stdin is still from /dev/ttyS0. I presume I need to direct "linux,stdout-path" to the fslfb node in the device tree, but there doesn't appear to be support for "linux,stdin-path".

#2 lore raw
Quoted 1 line · McClintock Matthew-B29882 wrote:

Don't you have to spawn a terminal on the framebuffer for the login?

I suppose, but I don't know how to do that. And although that would technically answer the question in the subject of this thread, I still would have *some* boot output on the serial port. It would be nice if I could get all of stdout on the video display, and all of stdin from the serial port.

Quoted 2 lines

Right now getty spawns the login on the serial port via /etc/inittab. Something similiar is probably needed for the framebuffer.

getty appears to work only with serial devices, since it insists on a baud rate as one of the parameters.

Signature · 2 lines
Timur Tabi
Linux kernel developer at Freescale
#4 lore raw
In reply to Timur Tabi
Quoted 10 lines · Timur Tabi

I'm using a Freescale P1022DS (PowerPC e500 core) system, which has a built-in video controller.  I have a framebuffer driver that works fine, and if I add "video=fslfb:1280x1024-32@60,monitor=0 console=tty0" to the command-line, then *most* of the kernel boot log appears on the serial port and the video display.

However, the login prompt is always on the serial port.  This happens even if I delete the "console=ttyS0,115200" from the command-line.  I presume this is because the "linux,stdout-path" property in the device tree always points to a serial port node.

Quoted 4 lines

So my question is: what do I need to do get the login prompt on the video console?  That is, stdout goes to /dev/fb0 but stdin is still from /dev/ttyS0. I presume I need to direct "linux,stdout-path" to the fslfb node in the device tree, but there doesn't appear to be support for "linux,stdin-path".

Look in /etc/inittab. That's usually where the login gettys are specified.

g.

Quoted 10 lines

--
Timur Tabi
Linux kernel developer at Freescale

_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Signature · 2 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
#3 lore raw
In reply to Timur Tabi
Quoted 7 lines · Timur Tabi
Quoted 1 line · McClintock Matthew-B29882 wrote:

Don't you have to spawn a terminal on the framebuffer for the login?

I suppose, but I don't know how to do that. And although that would technically answer the question in the subject of this thread, I still would have *some* boot output on the serial port. It would be nice if I could get all of stdout on the video display, and all of stdin from the serial port.

I don't think we have a way to do that unless you can make a serial "keyboard" device in the input layer. The VT layer will only get its input from such a thing, maybe that does exist in the depth of legacy code in there but it has nothing to do with your device-tree.

Quoted 5 lines
Quoted 2 lines

Right now getty spawns the login on the serial port via /etc/inittab. Something similiar is probably needed for the framebuffer.

getty appears to work only with serial devices, since it insists on a baud rate as one of the parameters.

No, or no existing distro would work :-)

Just fake a baudrate for the tty's

Cheers,
Ben.