HOWTO-devfsd setup
The default /etc/devfsd.conf installed by devfsd contains some comments to get people started, but it's a bit limited. Here's a commented devfsd.conf with some additional setups for alsa, cd burning and other stuff, for further information on what you can do with devfsd.conf, see the devfsd manpage:
# Sample /etc/devfsd.conf configuration file.
# Enable module autoloading.
LOOKUP .* MODLOAD
# setup alsa permissions
REGISTER ^snd/ PERMISSIONS -1.audio 0660
# setup permissions for oss audio/alsa oss emulation
REGISTER ^sound/ PERMISSIONS -1.audio 0660
# setup some symlinks for oss audio/alsa oss emulation
REGISTER ^sound/mixer$ CFUNCTION GLOBAL mksymlink $devname mixer
REGISTER ^sound/mixer$ CFUNCTION GLOBAL mksymlink $devname mixer0
UNREGISTER ^sound/mixer$ CFUNCTION GLOBAL unlink mixer
UNREGISTER ^sound/mixer$ CFUNCTION GLOBAL unlink mixer0
REGISTER ^sound/dsp$ CFUNCTION GLOBAL mksymlink $devname dsp
UNREGISTER ^sound/dsp$ CFUNCTION GLOBAL unlink dsp
REGISTER ^sound/adsp$ CFUNCTION GLOBAL mksymlink $devname dsp1
UNREGISTER ^sound/adsp$ CFUNCTION GLOBAL unlink dsp1
# setup cdrecord compatibility devices and permissions
REGISTER ^scsi/host0/bus0/target(.)/lun0/generic CFUNCTION GLOBAL mksymlink $devname sg1
REGISTER ^scsi/host0/bus0/target(.)/lun0/generic PERMISSIONS -1.burning 660
UNREGISTER ^scsi/host0/bus0/target(.)/lun0/generic CFUNCTION GLOBAL unlink sg1
# setup cdrdao device
REGISTER ^cdroms/cdrom0$ CFUNCTION GLOBAL mksymlink $devname cdrecorder
UNREGISTER ^cdroms/cdrom0$ CFUNCTION GLOBAL unlink cdrecorder
# setup apm compat device (XFree seems to need it)
REGISTER ^misc/apm_bios$ CFUNCTION GLOBAL mksymlink $devname apm_bios
UNREGISTER ^misc/apm_bios$ CFUNCTION GLOBAL unlink apm_bios
# setup rtc compat device (i use this for mplayer, don't know if anything else
# can make use of it)
REGISTER ^misc/rtc$ CFUNCTION GLOBAL mksymlink $devname rtc
REGISTER ^misc/rtc$ PERMISSIONS -1.-1 0644
UNREGISTER ^misc/rtc$ CFUNCTION GLOBAL unlink rtc
# vmware monitor symlinking, so vmware finds it
REGISTER ^misc/vmmon$ CFUNCTION GLOBAL mksymlink $devname vmmon
UNREGISTER ^misc/vmmon$ CFUNCTION GLOBAL unlink vmmon
# needed for vmware
REGISTER ^vc/(.*)$ CFUNCTION GLOBAL mksymlink $devname tty1
UNREGISTER ^vc/(.*)$ CFUNCTION GLOBAL unlink tty1
# setup video4linux compat device (thanks to rycee)
REGISTER v4l/.* PERMISSIONS -1.video 660
..... how do you create a link file in /dev (example: /dev/sda1 --> /dev/sd/c1b0t0u0p1) same as current hda1 is installed at the boot?
Untag old device names in /etc/devfsd.conf
REGISTER .* MKOLDCOMPAT
UNREGISTER .* RMOLDCOMPAT
Load usb modules (if not compiled in kernel):
modprobe usb-uhci
modprobe usb-storage
It shouldn't be necessary to 'install' anything in /dev. That's what the devfs daemon is for.
However, modprobing any specific scsi device should pull in the scsi module too.
Thanks, I got my usb external HDD storage to work.
What I did, I compiled my kernel (2.4.20) with Knoppix's config file (to get the same modules and system). I only added kernel option for devfs and auto mount. After boot, run "modprobe *"
Device sda1 is in AL: /dev/sd/c1b0t0u0p1
The Knoppix's kernel config file is designed for hardware detect. Its good to use as a base when compiling for external hardwares. Here is the file:
http://home4.pacific.net.sg/~rasat/linux/config-hwd
For my work trying to make a hardware detect package for AL (this topic gave me a hope to succeed), how do you create a link file in /dev (example: /dev/sda1 --> /dev/sd/c1b0t0u0p1) same as current hda1 is installed at the boot? The Knoppix's hwd package I am modifying, may need to use common device names.
]]>I noticed in the default kernel modules that scsi was built as a module so you will need to load this at the very least. However, modprobing any specific scsi device should pull in the scsi module too.
]]># 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