# Sample /etc/devfsd.conf configuration file. # Richard Gooch 17-FEB-2002 # # adapted for busybox devfsd implementation by Tito # # Enable full compatibility mode for old device names. You may comment these # out if you don't use the old device names. Make sure you know what you're # doing! REGISTER .* MKOLDCOMPAT UNREGISTER .* RMOLDCOMPAT # You may comment out the above and uncomment the following if you've # configured your system to use the original "new" devfs names or the really # new names #REGISTER ^vc/ MKOLDCOMPAT #UNREGISTER ^vc/ RMOLDCOMPAT #REGISTER ^pty/ MKOLDCOMPAT #UNREGISTER ^pty/ RMOLDCOMPAT #REGISTER ^misc/ MKOLDCOMPAT #UNREGISTER ^misc/ RMOLDCOMPAT # You may comment these out if you don't use the original "new" names REGISTER .* MKNEWCOMPAT UNREGISTER .* RMNEWCOMPAT # Enable module autoloading. You may comment this out if you don't use # autoloading # Not supported by busybox #LOOKUP .* MODLOAD # Maybe one of these works for busybox #LOOKUP .* EXECUTE /sbin/modprobe -k -v -C /etc/modules.devfs * #REGISTER .* EXECUTE /sbin/modprobe -k -v -C /etc/modules.devfs * # Uncomment the following if you want to set the group to "tty" for the # pseudo-tty devices. This is necessary so that mesg(1) can later be used to # enable/disable talk requests and wall(1) messages. REGISTER ^pty/s.* PERMISSIONS -1.tty 0600 #REGISTER ^pts/.* PERMISSIONS -1.tty 0600 # Restoring /dev/log on startup would trigger the minilogd/initlog deadlock # (minilogd falsely assuming syslogd has been started). REGISTER ^log$ IGNORE CREATE ^log$ IGNORE CHANGE ^log$ IGNORE DELETE ^log$ IGNORE # # Uncomment this if you want permissions to be saved and restored # Do not do this for pseudo-terminal devices REGISTER ^pt[sy] IGNORE CREATE ^pt[sy] IGNORE CHANGE ^pt[sy] IGNORE DELETE ^pt[sy] IGNORE REGISTER .* COPY /lib/dev-state/$devname $devpath CREATE .* COPY $devpath /lib/dev-state/$devname CHANGE .* COPY $devpath /lib/dev-state/$devname #DELETE .* CFUNCTION GLOBAL unlink /lib/dev-state/$devname # Busybox DELETE .* EXECUTE /bin/rm -f /lib/dev-state/$devname RESTORE /lib/dev-state # # Uncomment this if you want the old /dev/cdrom symlink #REGISTER ^cdroms/cdrom0$ CFUNCTION GLOBAL mksymlink $devname cdrom #UNREGISTER ^cdroms/cdrom0$ CFUNCTION GLOBAL unlink cdrom # busybox REGISTER ^cdroms/cdrom0$ EXECUTE /bin/ln -sf $devname cdrom UNREGISTER ^cdroms/cdrom0$ EXECUTE /bin/rm -f cdrom #REGISTER ^v4l/video0$ CFUNCTION GLOBAL mksymlink v4l/video0 video #UNREGISTER ^v4l/video0$ CFUNCTION GLOBAL unlink video #REGISTER ^radio0$ CFUNCTION GLOBAL mksymlink radio0 radio #UNREGISTER ^radio0$ CFUNCTION GLOBAL unlink radio # Busybox REGISTER ^v4l/video0$ EXECUTE /bin/ln -sf v4l/video0 video UNREGISTER ^v4l/video0$ EXECUTE /bin/rm -f video REGISTER ^radio0$ EXECUTE /bin/ln -sf radio0 radio UNREGISTER ^radio0$ EXECUTE /bin/rm -f radio # ALSA stuff # Not supported by busybox #LOOKUP snd MODLOAD ACTION snd # Maybe this works for busybox #LOOKUP snd EXECUTE /sbin/modprobe -k -v -C /etc/modules.devfs snd # Uncomment this to let PAM manage devfs #REGISTER .* CFUNCTION /lib/security/pam_console_apply_devfsd.so pam_console_apply_single $devpath # Uncomment this to manage USB mouse #REGISTER ^input/mouse0$ CFUNCTION GLOBAL mksymlink $devname usbmouse #UNREGISTER ^input/mouse0$ CFUNCTION GLOBAL unlink usbmouse # Busybox REGISTER ^input/mice$ EXECUTE /bin/ln -sf $devname usbmouse UNREGISTER ^input/mice$ EXECUTE /bin/rm -f usbmouse # If you have removable media and want to force media revalidation when looking # up new or old compatibility names, uncomment the following lines # SCSI NEWCOMPAT /dev/sd/* names LOOKUP ^(sd/c[0-9]+b[0-9]+t[0-9]+u[0-9]+)p[0-9]+$ EXECUTE /bin/dd if=$mntpnt/\1 of=/dev/null count=1 # SCSI OLDCOMPAT /dev/sd?? names LOOKUP ^(sd[a-z]+)[0-9]+$ EXECUTE /bin/dd if=$mntpnt/\1 of=/dev/null count=1 # IDE NEWCOMPAT /dev/ide/hd/* names LOOKUP ^(ide/hd/c[0-9]+b[0-9]+t[0-9]+u[0-9]+)p[0-9]+$ EXECUTE /bin/dd if=$mntpnt/\1 of=/dev/null count=1 # IDE OLDCOMPAT /dev/hd?? names LOOKUP ^(hd[a-z])[0-9]+$ EXECUTE /bin/dd if=$mntpnt/\1 of=/dev/null count=1 # IDE-SCSI NEWCOMPAT /dev/sd/* names #LOOKUP ^(sd/c[0-9]+b[0-9]+t[0-9]+u[0-9]+)p[0-9]+$ EXECUTE /bin/dd if=$mntpnt/\1 of=/dev/null count=1 # SCSI OLDCOMPAT /dev/scd? names LOOKUP ^(scd+)[0-9]+$ EXECUTE /bin/dd if=$mntpnt/\1 of=/dev/null count=1 REGISTER ^dvb/card[0-9]+/[^/]+$ PERMISSIONS root.video 0660 # Busybox #REGISTER ^dvb/card([0-9]+)/([^/0-9]*)[0-9]+$ CFUNCTION GLOBAL mksymlink /dev/$devname ost/\2\1 #UNREGISTER ^dvb/card([0-9]+)/([^/0-9]*)[0-9]+$ CFUNCTION GLOBAL unlink ost/\2\1 REGISTER ^dvb/card([0-9]+)/([^/0-9]*)[0-9]+$ EXECUTE /bin/ln -sf /dev/$devname ost/\2\1 UNREGISTER ^dvb/card([0-9]+)/([^/0-9]*)[0-9]+$ EXECUTE /bin/rm -f ost/\2\1 # Include package-generated files from /etc/devfs/conf.d # Supported by busybox #OPTIONAL_INCLUDE /etc/devfs/conf.d/dvd.conf #INCLUDE /etc/devfs/conf.d/dvd.conf #OPTIONAL_INCLUDE /etc/devfs/conf.d/ #INCLUDE /etc/devfs/conf.d/ #/etc/devfs/conf.d/dvd.conf #REGISTER ^ide/host0/bus1/target1/lun0/cd$ CFUNCTION GLOBAL mksymlink ide/host0/bus1/target1/lun0/cd dvd #UNREGISTER ^ide/host0/bus1/target1/lun0/cd$ CFUNCTION GLOBAL unlink dvd REGISTER ^ide/host0/bus1/target1/lun0/cd$ EXECUTE ln -sf ide/host0/bus1/target1/lun0/cd dvd UNREGISTER ^ide/host0/bus1/target1/lun0/cd$ EXECUTE rm -f dvd #/etc/devfs/conf.d/dynamic.conf # dynamic desktop and co REGISTER .*/part.* EXECUTE /etc/dynamic/scripts/part.script add $devpath UNREGISTER .*/part.* EXECUTE /etc/dynamic/scripts/part.script del $devpath REGISTER v4l/video.* EXECUTE /etc/dynamic/scripts/webcam.script add $devpath UNREGISTER v4l/video.* EXECUTE /etc/dynamic/scripts/webcam.script del $devpath REGISTER usb/scanner.* EXECUTE /etc/dynamic/scripts/scanner.script add $devpath UNREGISTER usb/scanner.* EXECUTE /etc/dynamic/scripts/scanner.script del $devpath REGISTER usb/rio500 EXECUTE /etc/dynamic/scripts/rio500.script add $devpath UNREGISTER usb/rio500 EXECUTE /etc/dynamic/scripts/rio500.script del $devpath REGISTER usb/tts/[13579] EXECUTE /etc/dynamic/scripts/visor.script add $devpath UNREGISTER usb/tts/[13579] EXECUTE /etc/dynamic/scripts/visor.script del $devpath REGISTER (usb/lp.*|printers/.*) EXECUTE /etc/dynamic/scripts/lp.script add $devpath UNREGISTER (usb/lp.*|printers/.*) EXECUTE /etc/dynamic/scripts/lp.script del $devpath #/etc/devfs/conf.d/modem.conf #REGISTER ^$ CFUNCTION GLOBAL mksymlink modem #UNREGISTER ^$ CFUNCTION GLOBAL unlink modem REGISTER ^tts/0$ EXECUTE ln -sf $devname modem UNREGISTER ^$ EXECUTE rm -f modem #/etc/devfs/conf.d/mouse.conf #REGISTER ^misc/psaux$ CFUNCTION GLOBAL mksymlink misc/psaux mouse #UNREGISTER ^misc/psaux$ CFUNCTION GLOBAL unlink mouse REGISTER ^misc/psaux$ EXECUTE ln -sf misc/psaux mouse UNREGISTER ^misc/psaux$ EXECUTE rm -f mouse #/etc/devfs/conf.d/psaux.conf #REGISTER ^misc/psaux$ CFUNCTION GLOBAL mksymlink misc/psaux psaux #UNREGISTER ^misc/psaux$ CFUNCTION GLOBAL unlink psaux REGISTER ^misc/psaux$ EXECUTE ln -sf misc/psaux psaux UNREGISTER ^misc/psaux$ EXECUTE rm -f psaux #/etc/devfs/conf.d/rdvd.conf REGISTER ^ide/host0/bus1/target1/lun0/cd$ EXECUTE /etc/dynamic/scripts/rawdevice.script add /dev/ide/host0/bus1/target1/lun0/cd /dev/rdvd UNREGISTER ^ide/host0/bus1/target1/lun0/cd$ EXECUTE /etc/dynamic/scripts/rawdevice.script del /dev/rdvd #/etc/devfs/conf.d/ttyS0.conf #REGISTER ^tts/0$ CFUNCTION GLOBAL mksymlink tts/0 ttyS0 #UNREGISTER ^tts/0$ CFUNCTION GLOBAL unlink ttyS0 REGISTER ^tts/0$ EXECUTE ln -sf $devname ttyS0 UNREGISTER ^tts/0$ EXECUTE rm -f ttyS0