используя devtmpfs для / dev

24

Я заметил следующую опцию в ядре: CONFIG_DEVTMPFS

Device Drivers -> Generic Driver Options -> Maintain devtmpfs to mount at /dev

И я вижу, что он включен по умолчанию в ядре дистрибутива Debian 3.2.0-4-amd64

Я пытаюсь понять, какую разницу приносит этот вариант. Без этой опции /devмонтируется как tmpfs, с этой опцией монтируется как devtmpfs. Кроме этого, я не вижу никакой разницы.

Это helpтакже не прояснило для меня:

Это создает экземпляр файловой системы tmpfs / ramfs на ранней стадии загрузки. В этой файловой системе ядро ​​драйвера ядра поддерживает узлы устройств с их именами и разрешениями по умолчанию для всех зарегистрированных устройств с назначенным старшим / младшим номером.

Он предоставляет полностью функциональный каталог / dev, где обычно запускается udev, управляя разрешениями и добавляя содержательные символические ссылки.

В очень ограниченных средах он может обеспечить достаточный функционал / dev без какой-либо дополнительной помощи. Это также позволяет простые спасательные системы и надежно обрабатывает динамические старшие / младшие номера.

Может кто-нибудь объяснить, пожалуйста, разницу между использованием CONFIG_DEVTMPFSпротив стандарта /dev?

user1968963
источник

Ответы:

25

devtmpfsфайловая система с автоматическими узлами устройства, заполненными ядром Это означает, что вам не нужно ни запускать udev, ни создавать статическую /devкомпоновку с дополнительными, ненужными и отсутствующими узлами устройства. Вместо этого ядро ​​заполняет соответствующую информацию на основе известных устройств.

С другой стороны, стандартная /devобработка требует либо udevзапуска дополнительного демона, либо статического создания узлов устройства /dev.

Ульрих Дангел
источник
1
Это действительно значит, мне не нужен udev? Помощь говорит It provides a fully functional /dev directory, where usually udev runs on top, managing permissions and adding meaningful symlinks. Если ядро ​​заполнится /dev, то что еще нужно сделать udev?
user1968963
2
В большинстве случаев вам нужно udev. Непосредственно из вашей цитаты udev обрабатывает, managing permissions and adding meaningful symlinksа также запускает внешние скрипты, уведомляет окружение рабочего стола и т. Д.
Ульрих Дангел
Так значит ли это, что лучше использовать devtmpfs вместо tmpfs для /dev?
CMCDragonkai
@CMCDragonkai да, но ваш дистрибутив должен позаботиться об этом в любом случае
Ульрих Дангел