天天看點

《Linux From Scratch》第三部分:建構LFS系統 第六章:安裝基本的系統軟體- 6.2. 準備虛拟核心檔案系統

         核心會挂載幾個檔案系統用于自己和使用者空間程式交換資訊。這些檔案系統是虛拟的,并不占用實際磁盤空間,它們的内容會放在記憶體裡。

開始先建立将用來挂載檔案系統的目錄:

在核心引導系統的時候,它依賴于幾個裝置節點,特别是 <code>console</code> 和 <code>null</code> 兩個裝置。這些裝置節點需要建立在硬碟上,這樣在 udevd 啟動之前它們也仍然有效,特别是在 Linux 使用<code>init=/bin/bash</code> 參數啟動的時候。運作下面的指令建立這幾個裝置節點:

通常激活 <code>/dev</code> 目錄下裝置的方式是在 <code>/dev</code>目錄挂載一個虛拟檔案系統(比如 <code>tmpfs</code>),然後允許在檢測到裝置或打開裝置時在這個虛拟檔案系統裡動态建立裝置節點。這個通常是在啟動過程中由 Udev 完成。由于我們的新系統還沒有 Udev 而且也沒有被引導啟動,有必要手動挂載和激活 <code>/dev</code> 目錄。這可以通過綁定挂載主控端系統的 <code>/dev</code> 目錄實作。綁定挂載是一種特殊的挂載模式,它允許在另外的位置建立某個目錄或挂載點的鏡像。運作下面的指令來實作:

現在挂載剩下的虛拟核心檔案系統:

devpts 挂載選項的含義:

<dl></dl>

<dt></dt>

<code>gid=5</code>

<dd></dd>

這個選項會讓 devpts 建立的所有裝置節點屬主的組 ID 都是 5。這是我們待會将要指定給 <code>tty</code> 組的 ID。現在我們先用 ID 代替組名,因為主控端系統可能會為它的 <code>tty</code> 組配置設定了不同的 ID。

<code>mode=0620</code>

這個選項會讓 devpts 建立的所有裝置節點的屬性是

0620(屬主使用者可讀寫,組成員可寫)。和上一個選項同時使用,可以保證 devpts 所建立的裝置節點能滿足 grantpt()

函數的要求,這意味着不需要 Glibc 的 pt_chown 幫助程式(預設沒有安裝)了。

在某些主控端系統裡,<code>/dev/shm</code> 是一個指向 <code>/run/shm</code> 的軟連結。這個 /run 下的 tmpfs 檔案系統已經在之前挂載了,是以在這裡隻需要建立一個目錄。

建立者:Gerard Beekmans

編輯者:Matthew Burgess 和 Armin K.

翻譯團隊:LCTT

譯者/校對:zpl1025,wxy

<a href="https://linux.cn/lfs/LFS-BOOK-7.7-systemd/chapter06/kernfs.html" target="_blank">原文連結</a>

繼續閱讀