age*_*ith 4 linux device-driver linux-device-driver linux-kernel
我正在为linux编写一个控制台驱动程序,我遇到了我需要为此驱动程序设置的tty接口.我对tty驱动程序如何与低级驱动程序绑定感到困惑.
很多时候,根文件系统已经包含很多tty设备.我想知道低级设备如何绑定到根文件系统上的一个现有tty节点.
例如,/dev/tty7:根文件系统上的节点.
低级设备驱动程序如何与此节点连接?或者该低级设备是否应该定义一个全新的tty设备?
低级设备如何绑定到根文件系统上现有的tty节点之一?
控制台和tty驱动程序的主要和次要编号都是硬编码的.您可以使用以下方法在系统上查找指定的主要编号:
$ cat /proc/devices
Run Code Online (Sandbox Code Playgroud)
设备文件与mknod实用程序绑定到设备驱动程序,例如设备文件是在加载设备驱动程序后创建的 - 而不是相反.要创建设备文件/ dev/tty7,请键入
$ mknod /dev/tty7 c 4 7
Run Code Online (Sandbox Code Playgroud)
对于内核源代码中的引用:drivers/tty/tty_io.c:tty_init为/ dev/tty和/ dev/console分配主要和次要编号.tty_register_driver似乎为一组其他tty驱动程序分配主要和次要数字.如果你看看来电者,也许你会找到答案.
如果您想要对tty子系统的结构进行高级概述,那么tty揭秘并且LDD3第18章TTY驱动程序是很好的资源.