All pastes #494748 Raw Edit

Anonymous

public shellscript v1 · immutable
·published 2007-05-18 12:18 UTC
rendered paste body
#!/bin/bashMAJOR=116OSSMAJOR=14MAX_CARDS=4PERM=666OWNER=root.rootif [ "`grep -w -E "^audio" /etc/group`x" != x ]; then  PERM=660  OWNER=root.audiofifunction create_odevice () {  rm -f $1  echo -n "Creating $1..."  mknod -m $PERM $1 c $OSSMAJOR $2  chown $OWNER $1  echo " done"}function create_odevices () {  tmp=0  tmp1=0  rm -f $1 $1?  echo -n "Creating $1?..."  while [ $tmp1 -lt $MAX_CARDS ]; do    minor=$[ $2 + $tmp ]    mknod -m $PERM $1$tmp1 c $OSSMAJOR $minor    chown $OWNER $1$tmp1    tmp=$[ $tmp + 16 ]    tmp1=$[ $tmp1 + 1 ]  done  echo " done"}function create_device1 () {  rm -f $1  minor=$2  echo -n "Creating $1..."  mknod -m $PERM $1 c $MAJOR $minor  chown $OWNER $1  echo " done"}function create_devices () {  tmp=0  rm -f $1 $1?  echo -n "Creating $1?..."  while [ $tmp -lt $MAX_CARDS ]; do    minor=$[ $tmp * 32 ]    minor=$[ $2 + $minor ]    mknod -m $PERM "${1}C${tmp}" c $MAJOR $minor    chown $OWNER "${1}C${tmp}"    tmp=$[ $tmp + 1 ]  done  echo " done"}function create_devices2 () {  tmp=0  rm -f $1 $1?  echo -n "Creating $1??..."  while [ $tmp -lt $MAX_CARDS ]; do    tmp1=0    while [ $tmp1 -lt $3 ]; do      minor=$[ $tmp * 32 ]      minor=$[ $2 + $minor + $tmp1 ]      mknod -m $PERM "${1}C${tmp}D${tmp1}" c $MAJOR $minor      chown $OWNER "${1}C${tmp}D${tmp1}"      tmp1=$[ $tmp1 + 1 ]    done    tmp=$[ $tmp + 1 ]  done  echo " done"}function create_devices3 () {  tmp=0  rm -f $1 $1?  echo -n "Creating $1??$4..."  while [ $tmp -lt $MAX_CARDS ]; do    tmp1=0    while [ $tmp1 -lt $3 ]; do      minor=$[ $tmp * 32 ]      minor=$[ $2 + $minor + $tmp1 ]      mknod -m $PERM "${1}C${tmp}D${tmp1}${4}" c $MAJOR $minor      chown $OWNER "${1}C${tmp}D${tmp1}${4}"      tmp1=$[ $tmp1 + 1 ]    done    tmp=$[ $tmp + 1 ]  done  echo " done"}if test "$1" = "-?" || test "$1" = "-h" || test "$1" = "--help"; then  echo "Usage: snddevices [max]"  exitfiif test "$1" = "max"; then  DSP_MINOR=19fi# OSS (Lite) compatible devices...if test $OSSMAJOR -eq 14; then  create_odevices /dev/mixer		0  create_odevice /dev/sequencer		1  create_odevices /dev/midi		2  create_odevices /dev/dsp		3  create_odevices /dev/audio		4  create_odevice /dev/sndstat		6  create_odevice /dev/music		8  create_odevices /dev/dmmidi		9  create_odevices /dev/dmfm		10  create_odevices /dev/amixer		11	# alternate mixer  create_odevices /dev/adsp		12	# alternate dsp  create_odevices /dev/amidi		13	# alternate midi  create_odevices /dev/admmidi		14	# alternate direct midi  # create symlinks  ln -svf /dev/mixer0 /dev/mixer  ln -svf /dev/midi0 /dev/midi  ln -svf /dev/dsp0 /dev/dsp  ln -svf /dev/audio0 /dev/audio  ln -svf /dev/music /dev/sequencer2  ln -svf /dev/adsp0 /dev/adsp  ln -svf /dev/amidi0 /dev/amidifi# Remove old devicesmv -f /dev/sndstat /dev/1sndstatrm -f /dev/snd*mv -f /dev/1sndstat /dev/sndstatif [ -d /dev/snd ]; then  rm -f /dev/snd/*  rmdir /dev/sndfi# Create new onesmkdir -p /dev/sndcreate_devices  /dev/snd/control	0create_device1  /dev/snd/seq		1create_device1  /dev/snd/timer		33create_devices2 /dev/snd/hw		4	4create_devices2 /dev/snd/midi		8	8create_devices3 /dev/snd/pcm		16	8	pcreate_devices3 /dev/snd/pcm		24	8	c# Loader devicesecho "ALSA loader devices"rm -f /dev/aload*create_devices  /dev/aload		0create_device1  /dev/aloadSEQ		1