[TUHS] Device special files

Arthur Krewat krewat at kilonet.net
Thu Feb 8 02:24:02 AEST 2018


medusa# mount | egrep '^/dev'
/devices on /devices read/write/setuid/devices/rstchown/dev=9640000 on 
Fri Jan 19 16:33:07 2018
/dev on /dev read/write/setuid/devices/rstchown/dev=9680000 on Fri Jan 
19 16:33:07 2018
/dev/fd on fd read/write/setuid/devices/rstchown/dev=9940001 on Fri Jan 
19 16:33:22 2018
medusa# ls -l /dev/rdsk/c1t*d0
lrwxrwxrwx   1 root     root          65 Jan  2  2015 /dev/rdsk/c1t0d0 
-> ../../devices/pci at 0,0/pci8086,340b at 4/pci1028,1f10 at 0/sd at 0,0:wd,raw
lrwxrwxrwx   1 root     root          65 Jan  2  2015 /dev/rdsk/c1t1d0 
-> ../../devices/pci at 0,0/pci8086,340b at 4/pci1028,1f10 at 0/sd at 1,0:wd,raw
medusa# uname -a
SunOS medusa 5.11 11.3 i86pc i386 i86pc


On 2/6/2018 9:06 PM, Dan Cross wrote:
> On Tue, Feb 6, 2018 at 8:48 PM, Dave Horsfall <dave at horsfall.org 
> <mailto:dave at horsfall.org>> wrote:
>
>     On Wed, 7 Feb 2018, Greg 'groggy' Lehey wrote:
>
>             V3 and earlier still *called* them special files, but it
>             seems they were essentially just magic inode numbers
>             (there was no physical file on disk, just any directory
>             entry with the given inode would be the special file).
>
>
>         Isn't that still the case?
>
>
>     Wasn't that "devfs" (which Penguin/OS calls "udev")?  I've never
>     grokked that concept.
>
>
> No. devfs was (is?) a pseudo-filesystem where only special files 
> corresponding to the devices enumerated by the kernel during 
> autoconfiguration are present. The contents are synthesized at boot 
> time and the filesystem is mounted at some canonical location (like 
> /dev), but is otherwise ephemeral. This is in contrast to the older 
> /dev, which is usually just a directory on the root filesystem, 
> wherein one created a number of device files that may (or may not) 
> correspond to an actual hardware device in the system (remember the 
> old dance of, "cd /dev && ./MAKEDEV foo" when you added a "foo" onto 
> your system?). The inodes and directory entries for those files 
> actually exist in the disk-resident filesystem structures (though of 
> course data blocks aren't allocated to those files and the inode 
> doesn't refer to any data blocks).
>
> My understanding is that udev is an elaboration on devfs on Linux that 
> includes a rules engine that supports things like assigning set names 
> to specific devices, setting permissions, group/user ownership and the 
> like. For example, one can configure a rule so that when USB UART 
> device with serial number 0xdeadbeef gets attached to the system, it 
> appears as /dev/console_for_foo, owned by group "fooadmin" and mod 
> 660. Presumably whoever configured that knows that that serial device 
> is physically connected to the serial console for "foo".
>
>         - Dan C.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20180207/cb25da3a/attachment.html>


More information about the TUHS mailing list