33.5. 大容量儲存裝置的一致名稱

SUSE Linux 隨附預先定義的規則,能將相同的指定,指派至硬碟與其他儲存裝置,不論是要以何種順序來起始它們。利用 udev 隨附的小型協助程式,就可以讀取唯一的裝置屬性 (例如硬體序號、UUID 或檔案系統標籤)。協助程式可讓 udev 規則處理使用特殊的裝置資訊。在簡化範例中,第一個規則會匯入由 SCSI 裝置在 udev 環境中收集的值。第二個規則會使用已匯入的值來建立持續性的符號連結。

KERNEL="sd*[!0-9]", IMPORT="/sbin/scsi_id -g -x -s $p -d %N"
KERNEL="sd*[!0-9]", SYMLINK+="$env{ID_TYPE}/by-id/$env{ID_BUS}-$env{ID_SERIAL}"

當載入大容量儲存裝置的驅動程式後,它便會向核心註冊所有可用的硬碟。它們都會觸發呼叫 udev 的 hotplug 區塊事件。接著 udev 會讀取規則來判斷是否需要建立符號連結。

如果是透過 initrd 來載入驅動程式,則會遺失 hotplug 事件。不過,所有的資訊會儲存在 sysfs 中。udevstart 公用程式會在 /sys/block/sys/class 中找到所有的裝置檔案,並啟動 udev

還有一個 boot.udev 啟動程序檔,能在開機程序期間,重新建立所有的裝置節點。不過,啟動程序檔必須透過 YaST runlevel 編輯器來啟動,或用 insserv boot.udev 指令來啟動。