Bryan Kadzban wrote:
None of your boot scripts (or your login scripts) set stty erase ^H,
correct?  You never know...

Not unless it's done in the lfs-bootscripts.

stty seems to pull those settings in from a tcgetattr() call.  The
"struct termios" that that call fills in, has the ^H character code set
in the c_cc[VERASE] element (this defines which keycode acts as the
"erase" keycode).

tcgetattr() is part of glibc.

glibc's sysdeps/unix/sysv/linux/tcgetattr.c file defines tcgetattr() as
a weak alias for __tcgetattr, which basically calls the TCGETS ioctl on
the passed-in file handle.

In the kernel, in drivers/char/tty_ioctl.c, that ioctl value translates
real_tty->termios into a user-space version, and copies it into the
passed-in buffer.

real_tty's value depends on whether the tty that gets passed into the
ioctl handler is a pseudo-terminal master, or something else.  If it's a
PTY master, then real_tty is its "link" (presumably the PTY slave,
though I don't know that for sure).  Otherwise, real_tty is the
tty_struct that was passed in.  (This is all happening in
drivers/char/tty_ioctl.c, function n_tty_ioctl.)

Beyond that, I get lost in the kernel.  I *think* the tty_struct that
gets passed in depends on the line discipline (I can't find any
promising callers of n_tty_ioctl, and the only other promising reference
to it is the spot that sets it as the ioctl handler for the N_TTY line
discipline, which seems to be the "standard" TTY line discipline).  I
also know that ->termios has to be initialized somewhere (when the line
discipline is opened? doesn't seem to be it though), but I can't figure
out where.

Wow. Nice analysis. It suggests something else. When I compiled the kernel, I turned off Legacy (BSD) PTY support. I'll build another kernel and add that back and see if that makes a difference.


Did you say you were using some kind of framebuffer console?  Does it
help at all if you change that, or did you try that already?

No. I do use vga=0x0f07 on the kernel line, but that shouldn't affect input.

  -- Bruce


-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page

Reply via email to