私はRaspberry Pi 3(モデルB +)の5.6.4-v8 +カーネルに基づいてaarch64用のLinuxに似たオペレーティングシステムを開発しています。
カーネル構成オプションは次のとおりです。
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
システムが効果的にインストールされていることを確認できます。
dmesg | grep devtmpfs
[0.071] devtmpfs: initialized
[2,653] devtmpfs: mounted
また、システムが次の場所にインストールされていることを確認してください。/開発者:
df -h
Filesystem Size Used Avail Used% Mounted on
devtmpfs 424M 0 424M 0% /dev.
一方、ファイルには/etc/fstab次の行があります。
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
この行を削除してテストを実行し、結果は次のとおりです。開発者ファイルシステム問題なくインストール/開発者。したがって、ファイルシステムを次のようにマウントする必要はないようです。システムテーブル、カーネルがこれを処理しそうだからです。
必ず含める必要があります開発者ファイルシステムfstabにマウントしますか?
ありがとうございます!
答え1
実際、場合によってはカーネルが自動的にマウントされますdevtmpfs
。/dev
カーネルをビルド時に設定すると、CONFIG_DEVTMPFS_MOUNT
結果のカーネルはカーネルが初期ルートファイルシステムとしてinitramfsを使用しない限り、ルートファイルシステムをマウントしてから自動的にマウントしようとします。y
devtmpfs
/dev
これは完全にオプションの機能です。あなたはそれを着ていたし、Vincentはテスト中にそれをオフにしたようだった。 (またはVincentはinitramfsを使用しています。)
バラよりdrivers/base/Kconfig
詳細については。
答え2
私が知る限り、カーネルはdevtmpfsを自動的にマウントしません。これは「手動で」(起動スクリプトの1つに次の内容が含まれています)またはfstabを介してユーザースペースで実行する必要がありますmount -t devtmpfs none /dev
。
私のカスタムLinuxシステム(raspberry Zero / 4および86_64)は/ etc / fstabベースのインストールメカニズムを使用しません。mount -t devtmpfs none /dev
/etc/profileからこのコマンドを削除しても、/devディレクトリはまだ空です。
したがって、あなたの質問に答えるには、fstabにdevtmpfsマウントを含める必要はありませんが、ユーザー(カーネルではないユーザー)が直接マウントする必要があります。