kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: rpjday@crashcourse.ca (Robert P. J. Day)
To: kernelnewbies@lists.kernelnewbies.org
Subject: what is the precise udev event that handles miscdevices?
Date: Wed, 1 Apr 2015 08:18:13 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LFD.2.11.1504010806440.15199@localhost> (raw)
In-Reply-To: <20150401115959.GA26887@kroah.com>

On Wed, 1 Apr 2015, Greg KH wrote:

> On Wed, Apr 01, 2015 at 07:43:05AM -0400, Robert P. J. Day wrote:
> >
> >   i can trivially create misc character devices, and i know special
> > device files for them will automatically show up under /dev, but what
> > is the precise udev event/rule that comes into play for this?
> >
> >   if i start to monitor udevadm with:
> >
> > $ udevadm monitor --kernel --udev --property
> >
> > and insert my misc char module, i see:
> >
> > KERNEL[5342.740294] add      /module/mymisc (module)
> > ACTION=add
> > DEVPATH=/module/mymisc
> > SEQNUM=3007
> > SUBSYSTEM=module
> >
> > KERNEL[5342.740528] add      /devices/virtual/misc/mymisc (misc)
> > ACTION=add
> > DEVNAME=/dev/mymisc
> > DEVPATH=/devices/virtual/misc/mymisc
> > MAJOR=10
> > MINOR=55
> > SEQNUM=3008
> > SUBSYSTEM=misc
> >
> > UDEV  [5342.741071] add      /module/mymisc (module)
> > ACTION=add
> > DEVPATH=/module/mymisc
> > SEQNUM=3007
> > SUBSYSTEM=module
> > USEC_INITIALIZED=740419
> >
> > UDEV  [5342.741921] add      /devices/virtual/misc/mymisc (misc)
> > ACTION=add
> > DEVNAME=/dev/mymisc
> > DEVPATH=/devices/virtual/misc/mymisc
> > MAJOR=10
> > MINOR=55
> > SEQNUM=3008
> > SUBSYSTEM=misc
> > USEC_INITIALIZED=740750
> >
> > so, yes, i can see the line "DEVNAME=/dev/mymisc", but is there
> > something i can point at in the collection of udev rules that deals
> > with that? or is that simply done internally?
>
> Ok, I'll be nice here, udev doesn't create device nodes anymore, and
> hasn't for years, the kernel does that directly with devtmpfs.

  and, suddenly, so many things make much more sense.

> Yes, if you want to write your own version of udev, you can listen
> to the uevent messages, and pick out the right one to trigger off of
> to create a device node, but as the kernel does this all for you
> with devtmpfs, why would you want to?

  at this point, of course i wouldn't.

> In fact, no one does this anymore, and people run systems without
> udev and have dynamic device nodes just fine.  And have been doing
> so for years, udev isn't needed for device nodes anymore, if that's
> all you care about.

  yup, i can see that now. although i would *think* that you could
still use udev to go above and beyond just creating device files, to
do things like create symlinks, run arbitrary programs and so on. but,
yes, for just straight device file manipulation, devtmpfs is
sufficient.

> Hint, you are correct, it's the DEVNAME event, but watch out here,
> you are seeing events twice, once from the kernel, the second from
> UDEV, which is exposing how udev works internally, but will quickly
> get confusing if you aren't careful.  I'd recommend just filtering
> on the KERNEL events to keep things "sane" for now.

  i figured as much. now i know what to go read to keep me busy for
the rest of the day. thanks muchly.

rday

p.s. one more potentially silly question -- is there a devtmpfs
monitoring utility, or is it adequate to just use udevadm to monitor
kernel events to get the same effect?

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

  reply	other threads:[~2015-04-01 12:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-01 11:43 what is the precise udev event that handles miscdevices? Robert P. J. Day
2015-04-01 11:55 ` Greg KH
2015-04-01 12:04   ` Robert P. J. Day
2015-04-01 12:19     ` Sudip Mukherjee
2015-04-01 12:34       ` Robert P. J. Day
2015-04-01 11:59 ` Greg KH
2015-04-01 12:18   ` Robert P. J. Day [this message]
2015-04-01 12:45     ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.2.11.1504010806440.15199@localhost \
    --to=rpjday@crashcourse.ca \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).