【问题标题】:Link between low level drivers and tty drivers低级驱动程序和 tty 驱动程序之间的链接
【发布时间】:2015-04-27 16:56:59
【问题描述】:

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

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

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

【问题讨论】:

    标签: linux linux-kernel device-driver linux-device-driver


    【解决方案1】:

    低级设备如何绑定到根文件系统上现有的 tty 节点之一?

    控制台和 tty 驱动程序的主要和次要编号是硬编码的。您可以通过以下方式在系统上查找分配的主要号码:

    $ cat /proc/devices
    

    设备文件通过 mknod 实用程序绑定到设备驱动程序,例如设备文件是在加载设备驱动程序后创建的 - 而不是相反。要创建设备文件 /dev/tty7,您需要输入

    $ mknod /dev/tty7 c 4 7
    

    对于内核源代码中的参考:drivers/tty/tty_io.c:tty_init 为 /dev/tty 和 /dev/console 分配主要和次要编号。 tty_register_driver 似乎为一组其他 tty 驱动程序分配主要和次要编号。如果你看看来电者,也许你会找到答案。

    如果您想对 tty 子系统的结构有一个高层次的了解,那么 tty demystified 和 LDD3 Chapter 18 TTY drivers 是很好的资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多