initramfs イメージから起動する組み込み Linux (vanilla、3.3.8、i486、Vortex86dx) システムがあります。
/dev/hda1 と /dev/hda2 に 2 つのパーティションを持つ IDE フラッシュ ディスクがあります。
静的な /dev ディレクトリがあります。
起動すると、/dev/hda1 エントリはもう存在しません。/dev/hda1 はカーネルによって削除されたようです (?)。
NFS ルート ファイリング システムからターゲットを起動する場合、これと同じ問題は発生しません。
Buildroot を使用して、device_table_dev.txt ファイル経由で /dev ディレクトリを作成します。例えば
# IDE Devices
/dev/hda b 640 0 0 3 0 0 0 -
/dev/hda b 640 0 0 3 1 1 1 4
Buildroot の出力/イメージから rootfs.tar.gz を調べました。/dev ディレクトリには /dev/hda1 が含まれています。
brw-r----- 1 root root 3, 0 Jul 2 13:44 hda
brw-r----- 1 root root 3, 1 Jul 2 13:44 hda1
brw-r----- 1 root root 3, 2 Jul 2 13:44 hda2
brw-r----- 1 root root 3, 3 Jul 2 13:44 hda3
brw-r----- 1 root root 3, 4 Jul 2 13:44 hda4
ターゲット上のブート後のディレクトリ リスト (rcS 内から作成) は次のようになります。
brw-r----- 1 root root 3, 0 Jul 2 12:44 hda
brw-r----- 1 root root 3, 2 Jul 2 12:44 hda2
brw-r----- 1 root root 3, 3 Jul 2 12:44 hda3
brw-r----- 1 root root 3, 4 Jul 2 12:44 hda4
/dev/hda1 がありません。
Busybox ユーティリティ "mdev -s" を実行すると、ターゲットで /dev/hda1 が復元され、正常に動作します。たとえば、マウントできます
誰もこの行動を見たことがありますか?
カーネルは /dev からエントリを削除しますか?