2014-08-27 51 views
0

我正在運行Linux內核3.8.13-rt16,它處於無頭狀態(無監視器/鍵盤)。我能夠進入該框併成功運行命令。 (我的3.8.0-35-通用內核在顯示器和鍵盤上運行得很好)。啓用Linux內核中的外設3.8.13-rt16

是否可以在rt內核上啓用外設以便我可以直接在此機器上工作?如果是這樣,這是我需要在源代碼中進行更改和重新編譯,還是可以通過配置文件更改?

我是新來的不同的內核(特別是實時),所以任何幫助/建議或文檔鏈接也將不勝感激。

+0

「外設」,你的意思是一個顯示器/鍵盤/鼠標?或者像打印機或USB磁盤之類的東西?除非這個內核是你自己編譯的嚴重內核,否則很可能它的驅動程序至少是最常用的外設(即它可能不知道如何處理強制反饋USB飛行員的枷鎖或某物)。 – twalberg 2014-08-27 19:44:07

+0

這個問題似乎是脫離主題,因爲它是關於http://unix.stackexchange.com/ – 2014-08-31 00:53:49

回答

1

簡答題:嘗試並插入它們,特別是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/目錄中。