ใช้ 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 จะทำงานอยู่ด้านบนจัดการสิทธิ์และเพิ่ม symlink ที่มีความหมาย

ในสภาพแวดล้อมที่ จำกัด อย่างมากมันอาจให้ฟังก์ชั่น / dev ที่เพียงพอโดยไม่มีความช่วยเหลือเพิ่มเติม นอกจากนี้ยังช่วยให้ระบบกู้ภัยง่ายและจัดการหมายเลขหลัก / รองแบบไดนามิกได้อย่างน่าเชื่อถือ

ใครช่วยอธิบายความแตกต่างระหว่างการใช้CONFIG_DEVTMPFSvs มาตรฐาน/dev?

คำตอบ:


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เช่นเดียวกับการทำงานสคริปต์ภายนอกแจ้งเดสก์ทอปสภาพแวดล้อม ฯลฯ
Ulrich Dangel

นั่นหมายความว่าจะดีกว่าถ้าใช้ devtmpfs แทน tmpfs /devหรือ
CMCDragonkai

@CMCDragonkai ใช่ แต่การกระจายของคุณควรจะจัดการกับมันอยู่ดี
Ulrich Dangel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.