używając devtmpfs dla / dev

24

W jądrze zauważyłem następującą opcję: CONFIG_DEVTMPFS

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

Widzę, że jest domyślnie włączony w jądrze dystrybucji Debiana 3.2.0-4-amd64

Próbuję zrozumieć, jaką różnicę przynosi ta opcja. Bez tej opcji /devjest montowany jako tmpfs, przy tej opcji jest montowany jako devtmpfs. Poza tym nie widzę żadnej różnicy.

helpNie wyjaśnić to dla mnie albo:

To tworzy instancję systemu plików tmpfs / ramfs na początku uruchamiania. W tym systemie plików rdzeń sterownika jądra utrzymuje węzły urządzeń z ich domyślnymi nazwami i uprawnieniami dla wszystkich zarejestrowanych urządzeń z przypisanym numerem głównym / pomocniczym.

Zapewnia w pełni funkcjonalny katalog / dev, w którym zwykle udev działa na wierzchu, zarządzając uprawnieniami i dodając znaczące dowiązania symboliczne.

W bardzo ograniczonym środowisku może zapewnić wystarczającą funkcjonalność / programistę bez dalszej pomocy. Umożliwia także proste systemy ratownicze i niezawodnie obsługuje dynamiczne liczby główne / drobne.

Czy ktoś mógłby wyjaśnić różnicę między używaniem CONFIG_DEVTMPFSa standardem /dev?

użytkownik1968963
źródło

Odpowiedzi:

25

devtmpfsto system plików z zautomatyzowanymi węzłami urządzeń zapełnianymi przez jądro. Oznacza to, że nie musisz uruchamiać udev ani tworzyć statycznego /devukładu z dodatkowymi, niepotrzebnymi i nieobecnymi węzłami urządzeń. Zamiast tego jądro wypełnia odpowiednie informacje na podstawie znanych urządzeń.

Z drugiej strony standardowa /devobsługa wymaga udevuruchomionego dodatkowego demona lub statycznego tworzenia węzłów urządzeń /dev.

Ulrich Dangel
źródło
1
Czy to naprawdę znaczy, że nie potrzebuję udev? Pomoc mówi It provides a fully functional /dev directory, where usually udev runs on top, managing permissions and adding meaningful symlinks. Jeśli jądro zapełni się /dev, co pozostaje do zrobienia udev?
user1968963,
2
W większości przypadków potrzebujesz udev. Bezpośrednio z twojego cytatu, udev obsługuje, managing permissions and adding meaningful symlinksa także uruchamia zewnętrzne skrypty, powiadamiając środowiska pulpitu itp.
Ulrich Dangel
Czy to oznacza, że ​​lepiej jest używać devtmpfs zamiast tmpfs /dev?
CMCDragonkai
@CMCDragonkai tak, ale Twoja dystrybucja i tak powinna się tym zająć
Ulrich Dangel