2012-02-23 73 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是很好的資源。