# is udev is working?

## jxn

how do i know if udev is working?  I sort of figured there would be a general cleanup in /dev... but I still have this:

```

jackson@halogen jackson $ ls /dev

admmidi        fb6            fd1u360   hdc3   hdf5      isdn5       par0   ptyd9  ptyra  ptyvb  ptyzc    radio63  sda8        sg6      tty28  ttyae  ttyef  ttyt0  ttyx1    vbi23  vcs52   vcsa56   video58

adsp           fb6autodetect  fd1u3840  hdc4   hdf6      isdn6       par1   ptyda  ptyrb  ptyvc  ptyzd    radio7   sda9        sg7      tty29  ttyaf  ttyp0  ttyt1  ttyx2    vbi24  vcs53   vcsa57   video59

agpgart        fb6current     fd1u720   hdc5   hdf7      isdn7       par2   ptydb  ptyrc  ptyvd  ptyze    radio8   sdb         sg8      tty3   ttyb0  ttyp1  ttyt2  ttyx3    vbi25  vcs54   vcsa58   video6

amidi          fb7            fd1u800   hdc6   hdf8      isdnctrl0   port   ptydc  ptyrd  ptyve  ptyzf    radio9   sdb1        sg9      tty30  ttyb1  ttyp2  ttyt3  ttyx4    vbi26  vcs55   vcsa59   video60

ataraid        fb7autodetect  fd1u820   hdc7   hdf9      isdnctrl1   psaux  ptydd  ptyre  ptyvf  radio    ram      sdb10       shm      tty31  ttyb2  ttyp3  ttyt4  ttyx5    vbi27  vcs56   vcsa6    video61

atibm          fb7current     fd1u830   hdc8   hdg       isdnctrl2   ptmx   ptyde  ptyrf  ptyw0  radio0   ram0     sdb11       sjcd     tty32  ttyb3  ttyp4  ttyt5  ttyx6    vbi28  vcs57   vcsa60   video62

audio          fd             floppy    hdc9   hdg1      isdnctrl3   pts    ptydf  ptys0  ptyw1  radio1   ram1     sdb12       smpte0   tty33  ttyb4  ttyp5  ttyt6  ttyx7    vbi29  vcs58   vcsa61   video63

audio1         fd0            full      hdd    hdg10     isdnctrl4   pty    ptye0  ptys1  ptyw2  radio10  ram10    sdb13       smpte1   tty34  ttyb5  ttyp6  ttyt7  ttyx8    vbi3   vcs59   vcsa62   video7

audio2         fd0CompaQ      gscd0     hdd1   hdg11     isdnctrl5   ptya0  ptye1  ptys2  ptyw3  radio11  ram11    sdb14       smpte2   tty35  ttyb6  ttyp7  ttyt8  ttyx9    vbi30  vcs6    vcsa63   video8

audio3         fd0d360        hda       hdd10  hdg12     isdnctrl6   ptya1  ptye2  ptys3  ptyw4  radio12  ram12    sdb15       smpte3   tty36  ttyb7  ttyp8  ttyt9  ttyxa    vbi31  vcs60   vcsa7    video9

audioctl       fd0h1200       hda1      hdd11  hdg13     isdnctrl7   ptya2  ptye3  ptys4  ptyw5  radio13  ram13    sdb2        snd      tty37  ttyb8  ttyp9  ttyta  ttyxb    vbi4   vcs61   video    vttuner

aztcd0         fd0h1440       hda10     hdd12  hdg14     isdninfo    ptya3  ptye4  ptys5  ptyw6  radio14  ram14    sdb3        sndstat  tty38  ttyb9  ttypa  ttytb  ttyxc    vbi5   vcs62   video0   vtx

bpcd           fd0h1476       hda11     hdd13  hdg15     jbm         ptya4  ptye5  ptys6  ptyw7  radio15  ram15    sdb4        sonycd   tty39  ttyba  ttypb  ttytc  ttyxd    vbi6   vcs63   video1   vtx0

cciss          fd0h1494       hda12     hdd14  hdg16     kmem        ptya5  ptye6  ptys7  ptyw8  radio16  ram16    sdb5        sound    tty4   ttybb  ttypc  ttytd  ttyxe    vbi7   vcs7    video10  vtx1

cdrom          fd0h1600       hda13     hdd15  hdg17     kmsg        ptya6  ptye7  ptys8  ptyw9  radio17  ram2     sdb6        sr0      tty40  ttybc  ttypd  ttyte  ttyxf    vbi8   vcsa    video11  vtx10

cdroms         fd0h360        hda14     hdd16  hdg18     lmscd       ptya7  ptye8  ptys9  ptywa  radio18  ram3     sdb7        sr1      tty41  ttybd  ttype  ttytf  ttyy0    vbi9   vcsa0   video12  vtx11

cdrw           fd0h410        hda15     hdd17  hdg19     log         ptya8  ptye9  ptysa  ptywb  radio19  ram4     sdb8        sr10     tty42  ttybe  ttypf  ttyu0  ttyy1    vc     vcsa1   video13  vtx12

cdu535         fd0h420        hda16     hdd18  hdg2      logibm      ptya9  ptyea  ptysb  ptywc  radio2   ram5     sdb9        sr11     tty43  ttybf  ttyq0  ttyu1  ttyy2    vcc    vcsa12  video14  vtx13

cm206cd0       fd0h720        hda17     hdd19  hdg20     loop0       ptyaa  ptyeb  ptysc  ptywd  radio20  ram6     sdc         sr12     tty44  ttyc0  ttyq1  ttyu2  ttyy3    vcs    vcsa13  video15  vtx14

console        fd0h880        hda18     hdd2   hdg3      loop1       ptyab  ptyec  ptysd  ptywe  radio21  ram7     sdc1        sr13     tty45  ttyc1  ttyq2  ttyu3  ttyy4    vcs0   vcsa14  video16  vtx15

core           fd0u1040       hda19     hdd20  hdg4      loop2       ptyac  ptyed  ptyse  ptywf  radio22  ram8     sdc10       sr14     tty46  ttyc2  ttyq3  ttyu4  ttyy5    vcs1   vcsa15  video17  vtx16

discs          fd0u1120       hda2      hdd3   hdg5      loop3       ptyad  ptyee  ptysf  ptyx0  radio23  ram9     sdc11       sr15     tty47  ttyc3  ttyq4  ttyu5  ttyy6    vcs12  vcsa16  video18  vtx17

dmmidi         fd0u1440       hda20     hdd4   hdg6      loop4       ptyae  ptyef  ptyt0  ptyx1  radio24  random   sdc12       sr16     tty48  ttyc4  ttyq5  ttyu6  ttyy7    vcs13  vcsa17  video19  vtx18

dsp            fd0u1600       hda3      hdd5   hdg7      loop5       ptyaf  ptyp0  ptyt1  ptyx2  radio25  rd       sdc13       sr2      tty49  ttyc5  ttyq6  ttyu7  ttyy8    vcs14  vcsa18  video2   vtx19

dsp1           fd0u1680       hda4      hdd6   hdg8      loop6       ptyb0  ptyp1  ptyt2  ptyx3  radio26  rmidi0   sdc14       sr3      tty5   ttyc6  ttyq7  ttyu8  ttyy9    vcs15  vcsa19  video20  vtx2

dsp2           fd0u1722       hda5      hdd7   hdg9      loop7       ptyb1  ptyp2  ptyt3  ptyx4  radio27  rmidi1   sdc15       sr4      tty50  ttyc7  ttyq8  ttyu9  ttyya    vcs16  vcsa2   video21  vtx20

dsp3           fd0u1743       hda6      hdd8   hdh       lp0         ptyb2  ptyp3  ptyt4  ptyx5  radio28  rmidi2   sdc2        sr5      tty51  ttyc8  ttyq9  ttyua  ttyyb    vcs17  vcsa20  video22  vtx21

dvd            fd0u1760       hda7      hdd9   hdh1      lp1         ptyb3  ptyp4  ptyt5  ptyx6  radio29  rmidi3   sdc3        sr6      tty52  ttyc9  ttyqa  ttyub  ttyyc    vcs18  vcsa21  video23  vtx22

dvdrw          fd0u1840       hda8      hde    hdh10     lp2         ptyb4  ptyp5  ptyt6  ptyx7  radio3   rtc      sdc4        sr7      tty53  ttyca  ttyqb  ttyuc  ttyyd    vcs19  vcsa22  video24  vtx23

eda            fd0u1920       hda9      hde1   hdh11     mcd         ptyb5  ptyp6  ptyt7  ptyx8  radio30  sbpcd    sdc5        sr8      tty54  ttycb  ttyqc  ttyud  ttyye    vcs2   vcsa23  video25  vtx24

eda1           fd0u2880       hdb       hde10  hdh12     mcdx        ptyb6  ptyp7  ptyt8  ptyx9  radio31  sbpcd0   sdc6        sr9      tty55  ttycc  ttyqd  ttyue  ttyyf    vcs20  vcsa24  video26  vtx25

eda2           fd0u3200       hdb1      hde11  hdh13     mcdx0       ptyb7  ptyp8  ptyt9  ptyxa  radio32  sbpcd1   sdc7        st0      tty56  ttycd  ttyqe  ttyuf  ttyz0    vcs21  vcsa25  video27  vtx26

eda3           fd0u3520       hdb10     hde12  hdh14     mcdx1       ptyb8  ptyp9  ptyta  ptyxb  radio33  sbpcd2   sdc8        st0a     tty57  ttyce  ttyqf  ttyv0  ttyz1    vcs22  vcsa26  video28  vtx27

eda4           fd0u360        hdb11     hde13  hdh15     mcdx2       ptyb9  ptypa  ptytb  ptyxc  radio34  sbpcd3   sdc9        st0l     tty58  ttycf  ttyr0  ttyv1  ttyz2    vcs23  vcsa27  video29  vtx28

eda5           fd0u3840       hdb12     hde14  hdh16     mcdx3       ptyba  ptypb  ptytc  ptyxd  radio35  scd0     sdd         st0m     tty59  ttyd0  ttyr1  ttyv2  ttyz3    vcs24  vcsa28  video3   vtx29

eda6           fd0u720        hdb13     hde15  hdh17     mcdx4       ptybb  ptypc  ptytd  ptyxe  radio36  scd1     sdd1        st1      tty6   ttyd1  ttyr2  ttyv3  ttyz4    vcs25  vcsa29  video30  vtx3

eda7           fd0u800        hdb14     hde16  hdh18     mem         ptybc  ptypd  ptyte  ptyxf  radio37  scd10    sdd10       st1a     tty60  ttyd2  ttyr3  ttyv4  ttyz5    vcs26  vcsa3   video31  vtx30

eda8           fd0u820        hdb15     hde17  hdh19     midi        ptybd  ptype  ptytf  ptyy0  radio38  scd11    sdd11       st1l     tty61  ttyd3  ttyr4  ttyv5  ttyz6    vcs27  vcsa30  video32  vtx31

edb            fd0u830        hdb16     hde18  hdh2      midi0       ptybe  ptypf  ptyu0  ptyy1  radio39  scd12    sdd12       st1m     tty62  ttyd4  ttyr5  ttyv6  ttyz7    vcs28  vcsa31  video33  vtx4

edb1           fd1            hdb17     hde19  hdh20     midi00      ptybf  ptyq0  ptyu1  ptyy2  radio4   scd13    sdd13       stderr   tty63  ttyd5  ttyr6  ttyv7  ttyz8    vcs29  vcsa32  video34  vtx5

edb2           fd1CompaQ      hdb18     hde2   hdh3      midi01      ptyc0  ptyq1  ptyu2  ptyy3  radio40  scd14    sdd14       stdin    tty7   ttyd6  ttyr7  ttyv8  ttyz9    vcs3   vcsa33  video35  vtx6

edb3           fd1d360        hdb19     hde20  hdh4      midi02      ptyc1  ptyq2  ptyu3  ptyy4  radio41  scd15    sdd15       stdout   tty8   ttyd7  ttyr8  ttyv9  ttyza    vcs30  vcsa34  video36  vtx7

edb4           fd1h1200       hdb2      hde3   hdh5      midi03      ptyc2  ptyq3  ptyu4  ptyy5  radio42  scd16    sdd2        tts      tty9   ttyd8  ttyr9  ttyva  ttyzb    vcs31  vcsa35  video37  vtx8

edb5           fd1h1440       hdb20     hde4   hdh6      midi1       ptyc3  ptyq4  ptyu5  ptyy6  radio43  scd2     sdd3        tty      ttyS0  ttyd9  ttyra  ttyvb  ttyzc    vcs32  vcsa36  video38  vtx9

edb6           fd1h1476       hdb3      hde5   hdh7      midi2       ptyc4  ptyq5  ptyu6  ptyy7  radio44  scd3     sdd4        tty0     ttyS1  ttyda  ttyrb  ttyvc  ttyzd    vcs33  vcsa37  video39  winradio0

edb7           fd1h1494       hdb4      hde6   hdh8      midi3       ptyc5  ptyq6  ptyu7  ptyy8  radio45  scd4     sdd5        tty1     ttyS2  ttydb  ttyrc  ttyvd  ttyze    vcs34  vcsa38  video4   winradio1

edb8           fd1h1600       hdb5      hde7   hdh9      misc        ptyc6  ptyq7  ptyu8  ptyy9  radio46  scd5     sdd6        tty10    ttyS3  ttydc  ttyrd  ttyve  ttyzf    vcs35  vcsa39  video40  xda

fb0            fd1h360        hdb6      hde8   ida       mixer       ptyc7  ptyq8  ptyu9  ptyya  radio47  scd6     sdd7        tty11    ttyS4  ttydd  ttyre  ttyvf  urandom  vcs36  vcsa4   video41  xda1

fb0autodetect  fd1h410        hdb7      hde9   ide       mixer1      ptyc8  ptyq9  ptyua  ptyyb  radio48  scd7     sdd8        tty12    ttyS5  ttyde  ttyrf  ttyw0  vbi      vcs37  vcsa40  video42  xda2

fb0current     fd1h420        hdb8      hdf    initctl   mixer2      ptyc9  ptyqa  ptyub  ptyyc  radio49  scd8     sdd9        tty13    ttyS6  ttydf  ttys0  ttyw1  vbi0     vcs38  vcsa41  video43  xda3

fb1            fd1h720        hdb9      hdf1   inportbm  mixer3      ptyca  ptyqb  ptyuc  ptyyd  radio5   scd9     sequencer   tty14    ttyS7  ttye0  ttys1  ttyw2  vbi1     vcs39  vcsa42  video44  xda4

fb1autodetect  fd1h880        hdc       hdf10  input     mpu401data  ptycb  ptyqc  ptyud  ptyye  radio50  sda      sequencer2  tty15    ttya0  ttye1  ttys2  ttyw3  vbi10    vcs4   vcsa43  video45  xda5

fb1current     fd1u1040       hdc1      hdf11  ippp0     mpu401stat  ptycc  ptyqd  ptyue  ptyyf  radio51  sda1     sg0         tty16    ttya1  ttye2  ttys3  ttyw4  vbi11    vcs40  vcsa44  video46  xda6

fb2            fd1u1120       hdc10     hdf12  ippp1     nst0        ptycd  ptyqe  ptyuf  ptyz0  radio52  sda10    sg1         tty17    ttya2  ttye3  ttys4  ttyw5  vbi12    vcs41  vcsa45  video47  xda7

fb2autodetect  fd1u1440       hdc11     hdf13  ippp2     nst0a       ptyce  ptyqf  ptyv0  ptyz1  radio53  sda11    sg10        tty18    ttya3  ttye4  ttys5  ttyw6  vbi13    vcs42  vcsa46  video48  xda8

fb2current     fd1u1600       hdc12     hdf14  ippp3     nst0l       ptycf  ptyr0  ptyv1  ptyz2  radio54  sda12    sg11        tty19    ttya4  ttye5  ttys6  ttyw7  vbi14    vcs43  vcsa47  video49  xdb

fb3            fd1u1680       hdc13     hdf15  ippp4     nst0m       ptyd0  ptyr1  ptyv2  ptyz3  radio55  sda13    sg12        tty2     ttya5  ttye6  ttys7  ttyw8  vbi15    vcs44  vcsa48  video5   xdb1

fb3autodetect  fd1u1722       hdc14     hdf16  ippp5     nst1        ptyd1  ptyr2  ptyv3  ptyz4  radio56  sda14    sg13        tty20    ttya6  ttye7  ttys8  ttyw9  vbi16    vcs45  vcsa49  video50  xdb2

fb3current     fd1u1743       hdc15     hdf17  ippp6     nst1a       ptyd2  ptyr3  ptyv4  ptyz5  radio57  sda15    sg14        tty21    ttya7  ttye8  ttys9  ttywa  vbi17    vcs46  vcsa5   video51  xdb3

fb4            fd1u1760       hdc16     hdf18  ippp7     nst1l       ptyd3  ptyr4  ptyv5  ptyz6  radio58  sda2     sg15        tty22    ttya8  ttye9  ttysa  ttywb  vbi18    vcs47  vcsa50  video52  xdb4

fb4autodetect  fd1u1840       hdc17     hdf19  isdn0     nst1m       ptyd4  ptyr5  ptyv6  ptyz7  radio59  sda3     sg16        tty23    ttya9  ttyea  ttysb  ttywc  vbi19    vcs48  vcsa51  video53  xdb5

fb4current     fd1u1920       hdc18     hdf2   isdn1     null        ptyd5  ptyr6  ptyv7  ptyz8  radio6   sda4     sg2         tty24    ttyaa  ttyeb  ttysc  ttywd  vbi2     vcs49  vcsa52  video54  xdb6

fb5            fd1u2880       hdc19     hdf20  isdn2     nvidia0     ptyd6  ptyr7  ptyv8  ptyz9  radio60  sda5     sg3         tty25    ttyab  ttyec  ttysd  ttywe  vbi20    vcs5   vcsa53  video55  xdb7

fb5autodetect  fd1u3200       hdc2      hdf3   isdn3     nvidiactl   ptyd7  ptyr8  ptyv9  ptyza  radio61  sda6     sg4         tty26    ttyac  ttyed  ttyse  ttywf  vbi21    vcs50  vcsa54  video56  xdb8

fb5current     fd1u3520       hdc20     hdf4   isdn4     optcd       ptyd8  ptyr9  ptyva  ptyzb  radio62  sda7     sg5         tty27    ttyad  ttyee  ttysf  ttyx0  vbi22    vcs51  vcsa55  video57  zero

```

which to me means "whoa, you have too many devices...you're machine doesn't have that many devices mounted"

so...uh...how do i get udev working after emerging it, disabling devfs mount-at-boot in the kernel, rebooting, and successfully executing "udevstart"?

is there something I'm missing here?

----------

## asiobob

you can check if its working, just look when your system is booting, towards the start of the init stuff it will say something about udev rather than devfs.

Assuming it is working, (which it probably is if you did "emerge udev" ) its because gentoo "tars" up the device directory and untars it again. This is a nice gentoo hack, it allows you to use udev with drivers that don't create nodes themselfs. eg OLD nvidia drivers and vmware are examples. Hence the tar/untar method works.

To go "pure" udev, ie a small /dev you need to turn off the gentoo feature,

change to "no" eg 

```
RC_DEVICE_TARBALL="no"
```

 in

/etc/conf.d/rc but some devices may not create nodes because they are not "udev" ready.

----------

## Zarhan

Also, after changing the tarball setting you can clear out the "real" /dev by issuing

```
cd /

mkdir test

mount --bind / /test

cd test/dev

ls (just to check)

ls -l null console (Note attributes, owners)

rm -rf *  (Remove everything)

mknod console c 5 1   (Re-create console and null)

mknod null c 1 3

chown root:tty console 

chmod a+rw null (Maybe others needed, too)

cd /

umount test

rmdir test

```

  "Console" and "Null" are needed by init process until udev starts up. Actually, the boot process works but you do not see anything until the login prompt appears.Last edited by Zarhan on Fri Dec 03, 2004 10:21 pm; edited 1 time in total

----------

## jxn

hmm... it appears I must have one of those OLD nvidia drivers, because running pure udev causes my nvidia module to not load.  I guess no pure udev for me.

also, ever since turning to udev, I have to use /usr/bin/udevstart in order to get permissions to my audio, after every restart... and nothing I do will give my user privileges on /dev/cdrom.  I don't know what's wrong, i checked PAM and udev permissions and they're all 0660 for cdrom and burner devices.  I wish things would just work right.

----------

## asiobob

do you have the latest nvidia kernel?

if so the device is created when the module loads. so put "nvidia" into  /etc/modules.autoload.d/kernel-2.6

I'm however not using pure udev. To be the benifit of udev is more that I can have persistent naming via rules, ie, my camera can be /dev/anyNameIwant and it stays that way regardless of its real node, I don't have to care if its sda1 sdc1 etc...

----------

## Zarhan

You are running hotplug and coldplug at boot, right?

If not, 

emerge coldplug hotplug

rc-update add coldplug default

rc-update add hotplug default

----------

## jxn

yep, i'm running both the latest nvidia-kernel, and i have nvidia in /etc/modules.autoload.d/kernel-2.6 (which is how i know that it's failing to come up, it give me an error on boot up). and I'm running both hotplug and coldplug (yes, they're set to start up at boot).  But nvidia still wont load the module

----------

## asiobob

the nvidia error should not be occuring.

Can you please re-merge it and try again

```
emerge nvidia-kernel
```

----------

## jxn

forgive me for being an idiot... i forgot to reemerge nvidia kernel, nvidia-glx and then opengl-update after a kernel compiliation.  My fault, everything works fine now, it seems.

----------

