Gentoo udev 指南(轉)
原文更新:2004年5月27日
內容簡介:這份檔案說明什麼是 udev 還有您如何使用 udev 來達成您的需求。
1. 什麼是 udev?
/dev 目錄
當 Linux 使用者談到他們系統上的硬體時,對周圍那些認為 Linux 是一種病毒或是一種咖啡的牌子的人,'斜線 dev 斜線 某個東西'的用法他們一定會投給您一個奇怪的眼光。但是對於那些幸運的使用者(包括您),使用 /dev/hda1 就是一種快速的表達方法,而不用說第一個 IDE 插槽上主硬碟的第一個分割區,不是嗎?
我們都知道什麼是裝置檔。一些人更瞭解為什麼我們在 /dev 中輸入 ls -l 仔細檢視時那些裝置檔會有特別的數字。但是我們一直認為 /dev/hda 代表第一個 IDE 插槽上主硬碟是理所當然的。您或許並不知道,但這只是設計上一個瑕疵。
考慮一下可熱插拔的裝置,例如說 USB,IEEE1394,可抽換的 PCI,...什麼是第一個裝置?他會維持多久?當第一個裝置消失後其他的裝置要如何命名?這會不會影響進行中的傳輸工作?如果說因為您媽媽決定插上 inkjet 使它變成第一臺印表機,而讓您的列印工作從爆新的雷射印表機變成快壞的矩陣印表機在列印,這會很有趣嗎?
進入 udev。udev 計畫的目標有趣而且迫切需要:
- 在 userspace 中執行
- 動態建立/移除裝置檔
- 提供固定的名稱
- 提供 user-space API
為了提供這些功能,udev 以三個分割的子計畫發展: namedev,libsysfs,還有不用說就是udev。
namedev
Namedev 允許您從 udev 之外自行定義裝置的名稱。這讓您輸入多個段落來設定有彈性的命名規則以及方案。這個裝置命名子系統提供 udev 可以使用的標準介面。
目前 namedev 只有提供一個命名方案,由 LANANA 提供。目前這被大部分的 Linux 系統使用,因此適合大多數的 Linux 使用者。
Namedev 使用下面五個步驟來決定指定裝置的名稱。如果債這些步驟的其中一個找到了這個裝置的名稱,就會使用它。這五個步驟是: are:
- 標籤或序號
- 匯流排裝置編號
- 匯流排拓樸
- 靜態指定名稱
- 核心提供的名稱
標籤或序號 這一步檢查裝置是否有唯一的識別記號。例如說 USB 裝置有唯一的 USB 序號。SCSI 有唯一的 UUID。如果 namedev 找到與這種唯一編號相對應的設定檔,他將或使用設定檔提供的名稱。
匯流排裝置編號 這一步會檢查匯流排裝置編號,對於不可熱抽換的環境,這一步足以辨識裝置。例如說 PCI 匯流排編號在系統的使用期限內很少變更。同樣的,如果 namedev 找到相對應的設定檔,設定檔中的名稱就會被使用。
類似的,匯流排拓樸 相對來說也是夠穩定而可以辨識裝置,只要使用者不抽換裝置。當裝置的位置滿足使用者提供的設定,就會使用指定的名稱。
第四個步驟,靜態指定名稱,是一個簡單的字串取代。當核心提供的名稱(預設名稱)符合指定的取代字串,就會使用取代後的名稱。
最後一步(核心提供的名稱)一定會找到符合的:由核心提供的預設名稱。在大部份的情況下這足以在目前的 Linux 系統中找到對應的名稱。
libsysfs
udev 使用虛擬的 sysfs 檔案系統和核心溝通。libsysfs 計畫提供通用的 API 以一般方式取得 sysfs 提供的資訊。這讓查詢任何硬體時不用先知道他們是哪種硬體。
udev
每當核心注意到硬體結構有更新時,他會呼叫 /sbin/hotplug 這個程式。 Hotplug 會執行連結到 /etc/hotplug.d/default 目錄下的程式。在哪裡面您也會找到 udev 程式的連結。Hotplug 送出核心提供的資訊給 udev 程式,以便執行必要的動作修改 /dev 結構(建立或刪除裝置檔)。
2. 在 Gentoo 使用 udev
需求
udev 需要與 2.6 核心共同使用(例如 development-sources 或 gentoo-dev-sources)。如果您已經用這類核心,您只要確定您的 sys-apps/baselayout 是最新的。這就是所有您需要的。
程式碼 2.1: 安裝 udev# emerge udev
udev 會安裝 hotplug-base,因為這是他的相依套件其中之一。如果您想要用 hotplug 當您插入 USB 或 IEEE1394 裝置時執行特定的工作,您也要安裝完整的 hotplug 指令搞。
程式碼 2.2: 自由選擇:安裝 hotplug# emerge hotplug
在核心的設定方面,如果您使用 genkernel 的預設設定,那相關設定都設定好了。否則確定您有啟動下列選項:
程式碼 2.3: 需要的核心設定General setup ---> [*] Support for hot-pluggable devicesFile systems ---> Pseudo filesystems ---> [*] /proc file system support [*] Virtual memory file system support (former shm fs)
如果您想的話,也可以啟動 /dev file system support (OBSOLETE)。
設定
如果您像要在 Gentoo 使用調整過的 udev 讓您的生活更加快樂,那您讀到這就可以了。您已經把該設定的都設好了。 Gentoo init scripts 不會執行 devfsd 服務,而且當您開機時會關閉 devfs。
但如果您是頑固的傢伙,想要執行只使用 udev,未經調整過的系統,就如同 udev 發展過程中所做的事(包括一些困難,像是因為 udev 不支援而遺失的裝置),那就讀下去吧 :)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-941275/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Gentoo udev 指南dev
- Gentoo Linux ALSA 指南(轉)Linux
- Gentoo Framebuffer, Bootsplash & Grubsplash 指南(轉)boot
- Gentoo Linux語言環境指南(轉)Linux
- 使用udev(轉)dev
- Gentoo Linux 1.4 RC2漢化指南第一修訂版(轉)Linux
- [轉帖]掌握udevdev
- Gentoo Linux官方文件中譯本系列-Portage使用者使用指南(轉)Linux
- 在redhat下網路安裝gentoo(轉)Redhat
- 從stage1裝gentoo基本系統(轉)
- linux上udev的配置(轉載)Linuxdev
- [Gentoo]中文輸入軟體Scim的安裝【轉】
- Gentoo 1.4RC_2光碟安裝手記(轉)
- 在Gentoo Linux下輕鬆安裝ALSA(轉)Linux
- Gentoo Linux CD 方式全程安裝過程(轉)Linux
- gentoo簡單安裝手冊(stage3)(轉)
- 在gentoo linux下使用藍芽手機(轉)Linux藍芽
- 新手安裝Xentoo(Xen+Gentoo)的極速體驗(轉)
- udev如何除錯,如何看udev的輸出日誌?udev除錯的坑?dev除錯
- Udev的配置,配置IP轉發,計劃任務dev
- udev詳解dev
- 磨鍊Gentoo的鋒芒之怎樣正確配置網路(轉)
- win4lin在Gentoo Linux 2.6核心下的安裝(轉)Linux
- Gentoo 2005.1 完整的USE引數清單中文詳解(轉)
- rhel7 udevdev
- UDEV替代ASMLIBdevASM
- VirtualBox 安裝 Gentoo 小記
- qt指南(轉)QT
- Linux上建立udevLinuxdev
- 利用UDEV管理配置ASMDISKdevASM
- OrangePiPC替代法完成Gentoo映象製作
- Gentoo Tips: Firefox與thunderbird的配置Firefox
- GNU make 指南(轉)
- KDE配置指南(轉)
- Echo指南(一) (轉)
- ProFtpd快速指南(轉)FTP
- UDEV管理RAC共享儲存dev
- linux udev Rules files 理解Linuxdev