誰創建了 /dev/net/tun

誰創建了 /dev/net/tun

我正在嘗試為 beaglbone 建立自訂圖像。其中一項功能是啟用 openvpn。問題是,在第一次啟動時,沒有 /dev/net/tun 文件,儘管我在創建 rootfs 時創建了以下文件:

mkdir -p /dev/net
chroot rootfs/ mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun

如果我以相同的方式建立它,則登入 beaglbone 系統檔案仍然存在並且 openvpn 可以工作。那麼問題是誰負責維護這個檔案以及除了使用自訂 systemd 服務之外如何讓系統自動建立它?

謝謝你!

答案1

rootfs 上 /dev 的內容根本不用於任何用途。在早期啟動期間,開發者檔案系統虛擬檔案系統被安裝到 /dev 上,並使先前的內容不可見,就像任何其他安裝的檔案系統一樣。此後,/dev 中唯一可見的文件是 a) 由核心本身創建的文件,或 b) 由服務在每次啟動過程中創建的文件。

kmod-static-nodes.service在模組化內核(其中“tun”是一個模組)上,某些設備節點是透過和的組合預先創建的systemd-tmpfiles-setup-dev.service

  1. kmod-static-nodes 讀取 /lib/modules 並產生要預先建立的設備節點清單;
  2. systemd-tmpfiles 建立它們作為其「tmpfiles.d」處理的一部分。

相關內容