2012-02-23 77 views
4

我正在为linux编写控制台驱动程序,并且遇到了需要为此驱动程序设置的tty接口。我对tty驱动程序如何与低级驱动程序绑定感到困惑。低级驱动程序和tty驱动程序之间的链接

很多时候,根文件系统已经包含很多tty设备。我想知道底层设备如何绑定到根文件系统上的一个现有tty节点。

例如,/dev/tty7:根文件系统上的节点。
低级设备驱动程序如何与此节点连接?或者该低级设备应该定义一个全新的tty设备?

回答

4

底层设备如何绑定到根文件系统上的一个现有tty节点?

控制台和tty驱动程序的主要和次要编号是硬编码的。你可以看一下分配的主设备号在系统上:

$ cat /proc/devices 

设备文件结合throgh用mknod工具,例如设备驱动程序设备文件是在设备驱动程序加载后创建的 - 而不是相反。要创建设备文件/ dev/TTY7你键入

$ mknod /dev/tty7 c 4 7 

对于内核源代码的参考:驱动程序/ TTY /在tty_io.c:tty_init用于分配的/ dev/tty的主要和次要的数字和/开发/控制台。 tty_register_driver似乎为一组其他tty驱动程序分配主要和次要数字。也许你会找到答案,如果你看一下来电。

如果您想要高层概述如何构建tty子系统,那么tty demystifiedLDD3 Chapter 18 TTY drivers是很好的资源。