我正在運行Linux內核3.8.13-rt16,它處於無頭狀態(無監視器/鍵盤)。我能夠進入該框併成功運行命令。 (我的3.8.0-35-通用內核在顯示器和鍵盤上運行得很好)。啓用Linux內核中的外設3.8.13-rt16
是否可以在rt內核上啓用外設以便我可以直接在此機器上工作?如果是這樣,這是我需要在源代碼中進行更改和重新編譯,還是可以通過配置文件更改?
我是新來的不同的內核(特別是實時),所以任何幫助/建議或文檔鏈接也將不勝感激。
我正在運行Linux內核3.8.13-rt16,它處於無頭狀態(無監視器/鍵盤)。我能夠進入該框併成功運行命令。 (我的3.8.0-35-通用內核在顯示器和鍵盤上運行得很好)。啓用Linux內核中的外設3.8.13-rt16
是否可以在rt內核上啓用外設以便我可以直接在此機器上工作?如果是這樣,這是我需要在源代碼中進行更改和重新編譯,還是可以通過配置文件更改?
我是新來的不同的內核(特別是實時),所以任何幫助/建議或文檔鏈接也將不勝感激。
簡答題:嘗試並插入它們,特別是USB設備可以開箱即用。
龍答:
由於所有的硬件(內部或外部)通過一些內核模塊需要支持,需要首先確定是否有問題的外設是由你的內核支持。
例如,要連接密鑰箱,您需要PS/2或USB支持。對於顯示器來說,支持你的圖形芯片是必要的。
如何找出要載入的模塊以及如何 - 如果您的硬件完全支持?
首先,您需要知道實際存在的硬件。這通過lspci
完成。尋找「VGA控制器」和「USB控制器」線。
查看哪些內核模塊支持您的硬件的一種非常簡單的方法是使用您的PCI ID(lspci -n
)並告訴您可以使用哪些模塊的device driver database。
現在,下一步將確定模塊是否已經在內核中,或者它們是否可用作模塊。
它可能已經在內核中。如果您在內核中看到類似CONFIG_MODULE_NAME=y
,則其
zcat /proc/config.gz | grep MODULE_NAME # uppercase, dashes --> underscores
:要檢查這一點,您可以通過config¹的grep。如果您看到CONFIG_MODULE_NAME=m
,則它已被構建爲可加載模塊。
如果您在配置中看不到該模塊,或者說該選項未設置,則仍然可以檢查系統上實際可用的模塊。要檢查某個模塊是可用的,運行
find /lib/modules/`uname -r` | grep module_name # lowercase, dashes --> underscores
如果你找到了你的模塊,你可以用modprobe module_name
加載它。 lsmod
應該會顯示您是否已加載。
如果找不到模塊,則可能需要重新編譯內核並構建模型。這裏我不會介紹,這遠遠超出我們的範圍。
如前所述,連接鍵盤應該非常簡單。
預計圖形芯片會有更多的困難。當然,簡單的VESA輸出應該始終有效,但爲了獲得適當的支持,您可能需要調整一下。這也是我在這裏無法涵蓋的東西;這是它自己的一個主題(KMS,專有與OSS驅動程序等)。
希望能幫助初學者。如果您需要更多支持,請提供有關硬件(lspci -n)的更多信息,並可能將您的內核配置發佈到一些pastebin。
¹內核可能已經在沒有/proc/config.gz
的支持下構建。在這種情況下,該配置也可以存儲在文件系統中,例如,在/boot/
目錄中。
「外設」,你的意思是一個顯示器/鍵盤/鼠標?或者像打印機或USB磁盤之類的東西?除非這個內核是你自己編譯的嚴重內核,否則很可能它的驅動程序至少是最常用的外設(即它可能不知道如何處理強制反饋USB飛行員的枷鎖或某物)。 – twalberg 2014-08-27 19:44:07
這個問題似乎是脫離主題,因爲它是關於http://unix.stackexchange.com/ – 2014-08-31 00:53:49