#!/bin/bash
#
#
#
# makedevs - a script to generate devices
#
# Copyright (c) 1996-2003 SuSE Linux AG, Nuernberg, Germany.
#
# Author: Hubert Mantel <mantel@suse.de>, 1996-2002
#
# please send bugfixes or comments to feedback@suse.de.
#
# Extend the script. If RPM_ARCH is not set, uname -m is used
#

VIRTUOZZO="YES"

if [ "$RPM_ARCH" = "" ]
then
	RPM_ARCH=`uname -m`
fi

DEV=dev

LOTS=no
RPM=0

while test -n "$1"; do
  case "$1" in
    -all)
      LOTS=yes
      shift
      ;;
    -rpm)
      RPM=1
      rm -f devfilelist
      shift
      ;;
    *)
      echo "Usage: makedev [-all] [-rpm]"
      exit 1;
      ;;
  esac
done

#########################################################################
# Check for root
#########################################################################

if [ "`id | grep uid=0`" = "" ]; then
	echo "In order to create device inodes, you must run this script"
	echo "as root."
	exit 1
fi

if [ ! -d $DEV ]; then
	echo "Creating directory $DEV"
	mkdir $DEV
fi

if [ -z "$VIRTUOZZO" ]; then

if [ ! -d $DEV/inet ]; then
	mkdir $DEV/inet
fi


if [ "$RPM_ARCH" = s390x ]; then
	RPM_ARCH=s390
fi

if [ "$RPM_ARCH" != s390 -a ! -d $DEV/input ]; then
	mkdir $DEV/input
fi

fi # if [ -z "$VIRTUOZZO" ]

if [ ! -d $DEV/pts ]; then
	mkdir $DEV/pts
fi

if [ -z "$VIRTUOZZO" ]; then

if [ ! -d $DEV/shm ]; then
	mkdir $DEV/shm
fi

if [ "$RPM_ARCH" = ppc -o "$RPM_ARCH" = ppc64 ]; then
	mkdir -p $DEV/iseries
fi

if [ "$RPM_ARCH" != s390 ]; then

if [ ! -d $DEV/rd ]; then
	mkdir $DEV/rd
fi

if [ ! -d $DEV/ida ]; then
	mkdir $DEV/ida
fi

if [ ! -d $DEV/i2o ]; then
	mkdir $DEV/i2o
fi

if [ ! -d $DEV/cciss ]; then
	mkdir $DEV/cciss
fi

if [ ! -d $DEV/ataraid ]; then
	mkdir $DEV/ataraid
fi

if [ ! -d $DEV/dri ]; then
	mkdir $DEV/dri
fi

if [ ! -d $DEV/mvideo ]; then
	mkdir $DEV/mvideo
fi

if [ ! -d $DEV/cbd ]; then
	mkdir $DEV/cbd
fi

if [ ! -d $DEV/usb ]; then
	mkdir $DEV/usb
fi

if [ ! -d $DEV/modems ]; then
	mkdir $DEV/modems
fi

if [ ! -d $DEV/compaq ]; then
	mkdir $DEV/compaq
fi

if [ ! -d $DEV/impi ]; then
	mkdir $DEV/impi
fi

if [ ! -d $DEV/watchdogs ]; then
	mkdir $DEV/watchdogs
fi

if [ ! -d $DEV/fujitsu ]; then
	mkdir $DEV/fujitsu
fi

if [ ! -d $DEV/ni ]; then
	mkdir $DEV/ni
fi

if [ ! -d $DEV/mvista ]; then
	mkdir $DEV/mvista
fi

if [ ! -d $DEV/scanners ]; then
	mkdir $DEV/scanners
fi

if [ ! -d $DEV/button ]; then
	mkdir $DEV/button
fi

if [ $RPM_ARCH != s390 ]; then

  if [ ! -d $DEV/dvb ]; then
	mkdir $DEV/dvb
  fi

  if [ ! -d $DEV/dvb/adapter0 ]; then
	mkdir $DEV/dvb/adapter0
  fi

  if [ ! -d $DEV/dvb/adapter1 ]; then
	mkdir $DEV/dvb/adapter1
  fi

  if [ ! -d $DEV/dvb/adapter2 ]; then
	mkdir $DEV/dvb/adapter2
  fi

  if [ ! -d $DEV/dvb/adapter3 ]; then
	mkdir $DEV/dvb/adapter3
  fi
fi

if [ ! -d $DEV/cpu ]; then
	mkdir $DEV/cpu
        for i in 0 1 2 3 4 5 6 7
        do
                mkdir $DEV/cpu/$i
        done
fi

fi # if [ "$RPM_ARCH" != s390 ]

if [ ! -d $DEV/net ]; then
	mkdir $DEV/net
fi

if [ ! -d $DEV/raw ]; then
	mkdir $DEV/raw
fi

if [ ! -d $DEV/evms ]; then
	mkdir $DEV/evms
fi

if [ "$RPM_ARCH" = s390 -a ! -d $DEV/3270 ]; then
	mkdir $DEV/3270
fi

mkdir -p $DEV/scsi
mkdir -p $DEV/mapper

fi # if [ -z "$VIRTUOZZO" ]

#########################################################################
# Create one single device
#########################################################################

function create_dev () {
	if [ $# != 7 ]; then
		echo "Wrong call to create_dev!"
		exit 1
	fi

	NAME=$1
	MAJ=$2
	MIN=$3
	TYP=$4
	COUNT=$5
	MODE=$6
	OWNER=$7

	if [ $COUNT != 1 ]; then
		echo "create_dev called with count=$COUNT"
		exit 1
	fi
	echo "Creating $DEV/$NAME: Major=$MAJ Minor=$MIN Mode=$MODE Owner=$OWNER"
	if [ $RPM -eq 0 ]; then
	  rm -f $DEV/$NAME
	  mknod -m $MODE $DEV/$NAME $TYP $MAJ $MIN
	  chown $OWNER $DEV/$NAME
        else
	  GROUP=${OWNER#*:}
          USER=${OWNER%:*}
          echo "%attr($MODE,$USER,$GROUP) %dev($TYP,$MAJ,$MIN) /$DEV/$NAME" >> devfilelist
        fi
}

#########################################################################
# Create a range of devices starting with 0.
#########################################################################

function create_dev_range () {
	if [ $# != 7 ]; then
		echo "Wrong call to create_dev_range!"
		exit 1
	fi

	NAME=$1
	MAJ=$2
	MIN=$3
	TYP=$4
	COUNT=$5
	MODE=$6
	OWNER=$7

	COUNTER=0
	echo "Creating $DEV/$NAME$COUNTER to $DEV/$NAME`expr $COUNT - 1`: Major=$MAJ Mode=$MODE Owner=$OWNER"
	while [ $COUNTER -lt $COUNT ] ; do
	    if [ $RPM -eq 0 ] ; then
		rm -f $DEV/$NAME$COUNTER
		mknod -m $MODE $DEV/$NAME$COUNTER $TYP $MAJ `expr $MIN + $COUNTER`
		chown $OWNER $DEV/$NAME$COUNTER
	    else
		GROUP=${OWNER#*:}
		USER=${OWNER%:*}
		echo "%attr($MODE,$USER,$GROUP) %dev($TYP,$MAJ,`expr $MIN + $COUNTER`) /$DEV/$NAME$COUNTER" >> devfilelist
	    fi

	    COUNTER=`expr $COUNTER + 1`
	done
}

#########################################################################
# Create a range of devices starting with 1.
#########################################################################

function create_dev_range1 () {
	if [ $# != 7 ]; then
		echo "Wrong call to create_dev_range!"
		exit 1
	fi

	NAME=$1
	MAJ=$2
	MIN=$3
	TYP=$4
	COUNT=$5
	MODE=$6
	OWNER=$7

	COUNTER=1
	echo "Creating $DEV/$NAME$COUNTER to $DEV/$NAME`expr $COUNT - 1`: Major=$MAJ Mode=$MODE Owner=$OWNER"
	while [ $COUNTER -lt $COUNT ] ; do
	    if [ $RPM -eq 0 ] ; then
		rm -f $DEV/$NAME$COUNTER
		mknod -m $MODE $DEV/$NAME$COUNTER $TYP $MAJ `expr $MIN + $COUNTER`
		chown $OWNER $DEV/$NAME$COUNTER
	    else
		GROUP=${OWNER#*:}
		USER=${OWNER%:*}
		echo "%attr($MODE,$USER,$GROUP) %dev($TYP,$MAJ,`expr $MIN + $COUNTER`) /$DEV/$NAME$COUNTER" >> devfilelist
	    fi

	    COUNTER=`expr $COUNTER + 1`
	done
}

#########################################################################
# Create the Mylex DAC 960 devices for given controller
#########################################################################

function create_DAC960 () {
	if [ $# != 1 ]; then
		echo "Wrong call to create_DAC960!"
		exit 1
	fi

	CONTROLLER=$1
	for disk in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
	do
	    if [ $RPM -eq 0 ] ; then
		mknod -m 660 $DEV/rd/c${CONTROLLER}d${disk} b `expr $CONTROLLER + 48` `expr $disk \* 8`
		chown root:disk $DEV/rd/c${CONTROLLER}d${disk}
		for part in 1 2 3 4 5 6 7
		do
			mknod -m 660 $DEV/rd/c${CONTROLLER}d${disk}p${part} b `expr $CONTROLLER + 48` `expr $disk \* 8 + $part`
			chown root:disk $DEV/rd/c${CONTROLLER}d${disk}p${part}
		done
	    else
		echo "%attr(660,root,disk) %dev(b,`expr $CONTROLLER + 48`,`expr $disk \* 8`) /$DEV/rd/c${CONTROLLER}d${disk}" >> devfilelist
		for part in 1 2 3 4 5 6 7
		do
			echo "%attr(660,root,disk) %dev(b,`expr $CONTROLLER + 48`,`expr $disk \* 8 + $part`) /$DEV/rd/c${CONTROLLER}d${disk}p${part}" >> devfilelist
		done
	    fi
	done

}

#########################################################################
# Create the Compaq RAID devices for given controller
#########################################################################

function create_compaq () {
	if [ $# != 1 ]; then
		echo "Wrong call to create_compaq!"
		exit 1
	fi

	CONTROLLER=$1
	for disk in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
	do
		mknod -m 660 $DEV/ida/c${CONTROLLER}d${disk} b `expr $CONTROLLER + 72` `expr $disk \* 16`
		chown root:disk $DEV/ida/c${CONTROLLER}d${disk}
		for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
		do
			mknod -m 660 $DEV/ida/c${CONTROLLER}d${disk}p${part} b `expr $CONTROLLER + 72` `expr $disk \* 16 + $part`
			chown root:disk $DEV/ida/c${CONTROLLER}d${disk}p${part}
		done
	done
}

#########################################################################
# Create the Compaq RAID cciss devices for given controller
#########################################################################

function create_cciss () {
	if [ $# != 1 ]; then
		echo "Wrong call to create_cciss!"
		exit 1
	fi

	CONTROLLER=$1
	for disk in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
	do
		mknod -m 660 $DEV/cciss/c${CONTROLLER}d${disk} b `expr $CONTROLLER + 104` `expr $disk \* 16`
		chown root:disk $DEV/cciss/c${CONTROLLER}d${disk}
		for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
		do
			mknod -m 660 $DEV/cciss/c${CONTROLLER}d${disk}p${part} b `expr $CONTROLLER + 104` `expr $disk \* 16 + $part`
			chown root:disk $DEV/cciss/c${CONTROLLER}d${disk}p${part}
		done
	done
}

#########################################################################
# Create the iSeries virtual disk device nodes
#########################################################################

function create_iseries_vd () {
	local minor
	mkdir -p $DEV/iseries
	minor=0
	for disk in a b c d e f g h i j k l m n o p q r s t u v w x y z
	do
		mknod -m 660 $DEV/iseries/vd$disk b $1 $minor
		chown root:disk $DEV/iseries/vd${disk}
		minor=$(($minor + 1))
		for part in 1 2 3 4 5 6 7
		do
			mknod -m 660 $DEV/iseries/vd$disk$part b $1 $minor
			chown root:disk $DEV/iseries/vd${disk}$part
			minor=$(($minor + 1))
		done
	done
}

#########################################################################
# Create the ferrari nodes
#########################################################################

function create_ferrari () {
	NAME=f2b

	for i in 0 1 2 3 4 5 6 7 ; do
		for j in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ; do
			        case $i in
					0) SUFFIX=a
					;;
					1) SUFFIX=b
					;;
					2) SUFFIX=c
					;;
					3) SUFFIX=d
					;;
					4) SUFFIX=e
					;;
					5) SUFFIX=f
					;;
					6) SUFFIX=g
					;;
					7) SUFFIX=h
					;;
					*) echo "Internal error. Terminating..."
					exit 1
					;;
				esac
			        MINOR=`echo $i*32+$j | bc`
			        mknod -m 660 $DEV/$NAME$SUFFIX$j c 62 $MINOR
				chown root:uucp $DEV/$NAME$SUFFIX$j
		    done
	done
}

#########################################################################
# Create a sumbolic link
#########################################################################

create_symlink () {
	if [ $# != 2 ]; then
		echo "Wrong call to create_symlink!"
		exit 1
	fi
	echo "Creating symlink from $2 to $1"
	rm -f $2
	ln -s $1 $2
}

#########################################################################
# Create a hard link
#########################################################################

create_hardlink () {
	if [ $# != 2 ]; then
		echo "Wrong call to create_hardlink!"
		exit 1
	fi
	echo "Creating hardlink from $2 to $1"
	rm -f $2
	ln $1 $2
}

#########################################################################
# Create the Pseudo-TTY masters
#########################################################################

function create_ptys () {
	if [ $# != 7 ]; then
		echo "Wrong call to create_ptys!"
		exit 1
	fi

	NAME=$1
	MAJ=$2
	MIN=$3
	TYP=$4
	COUNT=$5
	MODE=$6
	OWNER=$7
	echo "Creating ptys: Major=$MAJ Minor=$MIN Mode=$MODE Owner=$OWNER"
	for i in p q r s t u v w x y z a b c d e
	    do
		for j in 0 1 2 3 4 5 6 7 8 9 a b c d e f
		    do
			if [ $RPM -eq 0 ] ; then
				rm -f $DEV/$NAME$i$j
				mknod -m $MODE $DEV/$NAME$i$j $TYP $MAJ $MIN
				chown $OWNER $DEV/$NAME$i$j
			else
				GROUP=${OWNER#*:}
				USER=${OWNER%:*}
				echo "%attr($MODE,$USER,$GROUP) %dev($TYP,$MAJ,$MIN) /$DEV/$NAME$i$j" >> devfilelist
			fi
			MIN=`expr $MIN + 1`
		    done
	    done
}

#########################################################################
# Create a range of devices with two name parts
#########################################################################

function create_range2 () {
	if [ $# != 8 ]; then
		echo "Wrong call to create_range2!"
		exit 1
	fi

	NAME1=$1
	NAME2=$2
	MAJ=$3
	MIN=$4
	TYP=$5
	COUNT=$6
	MODE=$7
	OWNER=$8

	COUNTER=0
	echo "Creating devices ${NAME1}0$NAME2 to $NAME1`expr $COUNT - 1`$NAME2: Major=$MAJ Mode=$MODE Owner=$OWNER"
	while [ $COUNTER -lt $COUNT ] ; do
		if [ $RPM -eq 0 ] ; then
			rm -f $DEV/$NAME1$COUNTER$NAME2
			mknod -m $MODE $DEV/$NAME1$COUNTER$NAME2 $TYP $MAJ `expr $MIN + $COUNTER`
			chown $OWNER $DEV/$NAME1$COUNTER$NAME2
		else
			GROUP=${OWNER#*:}
			USER=${OWNER%:*}
			echo "%attr($MODE,$USER,$GROUP) %dev($TYP,$MAJ,`expr $MIN + $COUNTER`) /$DEV/$NAME1$COUNTER$NAME2" >> devfilelist
		fi
		COUNTER=`expr $COUNTER + 1`
	done
}

#########################################################################
# Create ALSA devices
#########################################################################

function create_alsa () {
	if [ $# != 4 ]; then
		echo "Wrong call to create_alsa!"
		exit 1
	fi

	CARD=$1
	MAJ=$2
	MODE=$3
	OWNER=$4

	minbase=`expr $CARD \* 32`

	create_dev snd/controlC$CARD $MAJ $minbase c 1 $MODE $OWNER
	create_dev_range snd/hwC${CARD}D $MAJ `expr $minbase + 4` c 4 $MODE $OWNER
	create_dev_range snd/midiC${CARD}D $MAJ `expr $minbase + 8` c 8 $MODE $OWNER
	create_range2 snd/pcmC${CARD}D p $MAJ `expr $minbase + 16` c 8 $MODE $OWNER
	create_range2 snd/pcmC${CARD}D c $MAJ `expr $minbase + 24` c 8 $MODE $OWNER
}

#########################################################################
# Table of devices
#########################################################################
#                  Name     Major  Minor  Typ Count  Mode         Owner
#########################################################################

# --------------
# Major number 0
# --------------

# devices with major 0 are not allowed by FHS 2.1
# create_dev         nfs          0    255    c     1   644     root:root

# --------------
# Major number 1
# --------------

create_dev         mem          1      1    c     1   640     root:kmem
create_dev         kmem         1      2    c     1   640     root:kmem
create_dev         null         1      3    c     1   666     root:root
create_dev         port         1      4    c     1   660     root:kmem
create_dev         zero         1      5    c     1   666     root:root
create_dev         full         1      7    c     1   622     root:root
create_dev         random       1      8    c     1   666     root:root
create_dev         urandom      1      9    c     1   644     root:root
create_dev         aio          1     10    c     1   600     root:root
create_dev         kmsg         1     11    c     1   600     root:root

#create_dev_range   ram          1      0    b     8   660     root:disk
create_dev         ram          1      0    b     1   660     root:disk
#create_dev         initrd       1    250    b     1   660     root:disk

# --------------
# Major number 2
# --------------

create_ptys        pty          2      0    c   256   666     root:tty

if [ -z "$VIRTUOZZO" ]; then

if [ "$RPM_ARCH" != s390 ]; then

if [ $LOTS = "yes" ]; then
create_dev_range   fd           2      0    b     4   660     root:disk
create_range2      fd  d360     2      4    b     4   660     root:disk
create_range2      fd  h360     2     20    b     4   660     root:disk
create_range2      fd  h410     2     48    b     4   660     root:disk
create_range2      fd  h420     2     64    b     4   660     root:disk
create_range2      fd  h720     2     24    b     4   660     root:disk
create_range2      fd  h880     2     80    b     4   660     root:disk
create_range2      fd  h1200    2      8    b     4   660     root:disk
create_range2      fd  h1440    2     40    b     4   660     root:disk
create_range2      fd  h1476    2     56    b     4   660     root:disk
create_range2      fd  h1494    2     72    b     4   660     root:disk
create_range2      fd  h1600    2     92    b     4   660     root:disk
create_range2      fd  u360     2     12    b     4   660     root:disk
create_range2      fd  u720     2     16    b     4   660     root:disk
create_range2      fd  u800     2    120    b     4   660     root:disk
create_range2      fd  u820     2     52    b     4   660     root:disk
create_range2      fd  u830     2     68    b     4   660     root:disk
create_range2      fd  u1040    2     84    b     4   660     root:disk
create_range2      fd  u1120    2     88    b     4   660     root:disk
create_range2      fd  u1440    2     28    b     4   660     root:disk
create_range2      fd  u1600    2    124    b     4   660     root:disk
create_range2      fd  u1680    2     44    b     4   660     root:disk
create_range2      fd  u1722    2     60    b     4   660     root:disk
create_range2      fd  u1743    2     76    b     4   660     root:disk
create_range2      fd  u1760    2     96    b     4   660     root:disk
create_range2      fd  u1840    2    116    b     4   660     root:disk
create_range2      fd  u1920    2    100    b     4   660     root:disk
create_range2      fd  u2880    2     32    b     4   660     root:disk
create_range2      fd  u3200    2    104    b     4   660     root:disk
create_range2      fd  u3520    2    108    b     4   660     root:disk
create_range2      fd  u3840    2    112    b     4   660     root:disk
create_range2      fd  CompaQ   2     36    b     4   660     root:disk
else
create_dev_range   fd           2      0    b     2   660     root:disk
create_range2      fd  d360     2      4    b     2   660     root:disk
create_range2      fd  h360     2     20    b     2   660     root:disk
create_range2      fd  h410     2     48    b     2   660     root:disk
create_range2      fd  h420     2     64    b     2   660     root:disk
create_range2      fd  h720     2     24    b     2   660     root:disk
create_range2      fd  h880     2     80    b     2   660     root:disk
create_range2      fd  h1200    2      8    b     2   660     root:disk
create_range2      fd  h1440    2     40    b     2   660     root:disk
create_range2      fd  h1476    2     56    b     2   660     root:disk
create_range2      fd  h1494    2     72    b     2   660     root:disk
create_range2      fd  h1600    2     92    b     2   660     root:disk
create_range2      fd  u360     2     12    b     2   660     root:disk
create_range2      fd  u720     2     16    b     2   660     root:disk
create_range2      fd  u800     2    120    b     2   660     root:disk
create_range2      fd  u820     2     52    b     2   660     root:disk
create_range2      fd  u830     2     68    b     2   660     root:disk
create_range2      fd  u1040    2     84    b     2   660     root:disk
create_range2      fd  u1120    2     88    b     2   660     root:disk
create_range2      fd  u1440    2     28    b     2   660     root:disk
create_range2      fd  u1600    2    124    b     2   660     root:disk
create_range2      fd  u1680    2     44    b     2   660     root:disk
create_range2      fd  u1722    2     60    b     2   660     root:disk
create_range2      fd  u1743    2     76    b     2   660     root:disk
create_range2      fd  u1760    2     96    b     2   660     root:disk
create_range2      fd  u1840    2    116    b     2   660     root:disk
create_range2      fd  u1920    2    100    b     2   660     root:disk
create_range2      fd  u2880    2     32    b     2   660     root:disk
create_range2      fd  u3200    2    104    b     2   660     root:disk
create_range2      fd  u3520    2    108    b     2   660     root:disk
create_range2      fd  u3840    2    112    b     2   660     root:disk
create_range2      fd  CompaQ   2     36    b     2   660     root:disk
fi # $LOTS = "yes"
fi # "$RPM_ARCH" != s390

fi # if [ -z "$VIRTUOZZO" ]

# --------------
# Major number 3
# --------------

create_ptys        tty          3      0    c   256   666     root:tty

if [ -z "$VIRTUOZZO" ]; then

if [ "$RPM_ARCH" != s390 ]; then

create_dev         hda          3      0    b     1   660     root:disk
create_dev_range1  hda          3      0    b    64   660     root:disk

create_dev         hdb          3     64    b     1   660     root:disk
create_dev_range1  hdb          3     64    b    64   660     root:disk

# --------------
# Major number 4
# --------------

create_dev_range   tty          4      0    c    64   620     root:tty
create_dev_range   ttyS         4     64    c    64   660     root:uucp

else #if [ "$RPM_ARCH" != s390 ]

create_dev	   ttyS0         4     64    c	  1   660     root:tty
create_dev	   ttyS1         4     65    c	  1   660     root:tty

fi #if [ "$RPM_ARCH" != s390 ]

fi # if [ -z "$VIRTUOZZO" ]

# --------------
# Major number 5
# --------------

create_dev         tty          5      0    c     1   666     root:root
create_dev         console      5      1    c     1   600     root:root
create_dev         ptmx         5      2    c     1   666     root:tty

if [ -z "$VIRTUOZZO" ]; then

if [ "$RPM_ARCH" != s390 ]; then

# --------------
# Major number 6
# --------------

create_dev_range   lp           6      0    c     3   660     root:lp

# --------------
# Major number 7
# --------------

create_dev         vcs          7      0    c     1   620     root:tty
if [ $LOTS = "yes" ]; then
create_dev_range   vcs          7      0    c    64   620     root:tty
else
create_dev_range   vcs          7      0    c    32   620     root:tty
fi
create_dev         vcsa         7    128    c     1   620     root:tty
if [ $LOTS = "yes" ]; then
create_dev_range   vcsa         7    128    c    64   620     root:tty
else
create_dev_range   vcsa         7    128    c    32   620     root:tty
fi

fi #if [ "$RPM_ARCH" != s390 ]

create_dev_range   loop         7      0    b    16   660     root:disk

# --------------
# Major number 8
# --------------

create_dev         sda          8      0    b     1   660     root:disk
create_dev_range1  sda          8      0    b    16   660     root:disk
create_dev         sdb          8     16    b     1   660     root:disk
create_dev_range1  sdb          8     16    b    16   660     root:disk
create_dev         sdc          8     32    b     1   660     root:disk
create_dev_range1  sdc          8     32    b    16   660     root:disk
create_dev         sdd          8     48    b     1   660     root:disk
create_dev_range1  sdd          8     48    b    16   660     root:disk
create_dev         sde          8     64    b     1   660     root:disk
create_dev_range1  sde          8     64    b    16   660     root:disk
create_dev         sdf          8     80    b     1   660     root:disk
create_dev_range1  sdf          8     80    b    16   660     root:disk
create_dev         sdg          8     96    b     1   660     root:disk
create_dev_range1  sdg          8     96    b    16   660     root:disk
create_dev         sdh          8    112    b     1   660     root:disk
create_dev_range1  sdh          8    112    b    16   660     root:disk
create_dev         sdi          8    128    b     1   660     root:disk
create_dev_range1  sdi          8    128    b    16   660     root:disk
create_dev         sdj          8    144    b     1   660     root:disk
create_dev_range1  sdj          8    144    b    16   660     root:disk
create_dev         sdk          8    160    b     1   660     root:disk
create_dev_range1  sdk          8    160    b    16   660     root:disk
create_dev         sdl          8    176    b     1   660     root:disk
create_dev_range1  sdl          8    176    b    16   660     root:disk
create_dev         sdm          8    192    b     1   660     root:disk
create_dev_range1  sdm          8    192    b    16   660     root:disk
create_dev         sdn          8    208    b     1   660     root:disk
create_dev_range1  sdn          8    208    b    16   660     root:disk
create_dev         sdo          8    224    b     1   660     root:disk
create_dev_range1  sdo          8    224    b    16   660     root:disk
create_dev         sdp          8    240    b     1   660     root:disk
create_dev_range1  sdp          8    240    b    16   660     root:disk

# --------------
# Major number 9
# --------------

if [ $LOTS = "yes" ]; then
create_dev_range   st           9      0    c    16   660     root:disk
create_dev_range   nst          9    128    c    16   660     root:disk
else
create_dev_range   st           9      0    c     8   660     root:disk
create_dev_range   nst          9    128    c     8   660     root:disk
fi

if [ $LOTS = "yes" ]; then
create_range2      st  l        9     32    c    16   660     root:disk
create_range2      st  m        9     64    c    16   660     root:disk
create_range2      st  a        9     96    c    16   660     root:disk
create_range2      nst l        9    160    c    16   660     root:disk
create_range2      nst m        9    192    c    16   660     root:disk
create_range2      nst a        9    224    c    16   660     root:disk
else
create_range2      st  l        9     32    c     8   660     root:disk
create_range2      st  m        9     64    c     8   660     root:disk
create_range2      st  a        9     96    c     8   660     root:disk
create_range2      nst l        9    160    c     8   660     root:disk
create_range2      nst m        9    192    c     8   660     root:disk
create_range2      nst a        9    224    c     8   660     root:disk
fi

create_dev_range   md           9      0    b    32   660     root:disk

if [ "$RPM_ARCH" != s390 ]; then

# ---------------
# Major number 10
# ---------------

create_dev         logibm      10      0    c     1   660     root:root
create_dev         psaux       10      1    c     1   660     root:root
create_dev         inportbm    10      2    c     1   660     root:root
create_dev         atibm       10      3    c     1   660     root:root
create_dev         jbm         10      4    c     1   660     root:root
create_dev         amigamouse  10      4    c     1   660     root:root
create_dev         atarimouse  10      5    c     1   660     root:root
create_dev         sunmouse    10      6    c     1   660     root:root
create_dev         amigamouse1 10      7    c     1   660     root:root
create_dev         smouse      10      8    c     1   660     root:root
create_dev         pc110pad    10      9    c     1   660     root:root
create_dev         adbmouse    10     10    c     1   660     root:root
create_dev         vrtpanel    10     11    c     1   660     root:root

create_dev         vpcmouse    10     13    c     1   660     root:root

create_dev         beep        10    128    c     1   600     root:root
create_dev         modreq      10    129    c     1   600     root:root
create_dev         watchdog    10    130    c     1   600     root:root
create_dev         temperature 10    131    c     1   600     root:root
create_dev         hwtrap      10    132    c     1   600     root:root
create_dev         exttrp      10    133    c     1   600     root:root
create_dev         apm_bios    10    134    c     1   600     root:root
create_dev         rtc         10    135    c     1   600     root:root

# Clash!
create_dev         efirtc      10    136    c     1   600     root:root
create_dev         qcam0       10    136    c     1   600     root:root

create_dev         qcam1       10    137    c     1   600     root:root
create_dev         qcam2       10    138    c     1   600     root:root
create_dev         openprom    10    139    c     1   600     root:root
create_dev         relay8      10    140    c     1   600     root:root
create_dev         relay16     10    141    c     1   600     root:root
create_dev         msr         10    142    c     1   600     root:root
create_dev         pciconf     10    143    c     1   600     root:root
create_dev         nvram       10    144    c     1   600     root:root
create_dev         hfmodem     10    145    c     1   600     root:root
create_dev         graphics    10    146    c     1   600     root:root
create_dev         opengl      10    147    c     1   600     root:root
create_dev         gfx         10    148    c     1   600     root:root
create_dev      input/mouse    10    149    c     1   600     root:root
create_dev      input/keyboard 10    150    c     1   600     root:root
create_dev         led         10    151    c     1   600     root:root

create_dev         mergemem    10    153    c     1   600     root:root
create_dev         pmu         10    154    c     1   600     root:root
create_dev         isictl      10    155    c     1   600     root:root
create_dev         lcd         10    156    c     1   600     root:root
create_dev         ac          10    157    c     1   600     root:root
create_dev         nwbutton    10    158    c     1   600     root:root
create_dev         nwdebug     10    159    c     1   600     root:root
create_dev         nwflash     10    160    c     1   600     root:root
create_dev         userdma     10    161    c     1   600     root:root
create_dev         smbus       10    162    c     1   600     root:root
create_dev         lik         10    163    c     1   600     root:root
create_dev         ipmo        10    164    c     1   600     root:root
create_dev         vmmon       10    165    c     1   600     root:root
create_dev         i2o/ctl     10    166    c     1   600     root:root
create_dev    specialix_sxctl  10    167    c     1   600     root:root
create_dev         tcldrv      10    168    c     1   600     root:root
create_dev    specialix_rioctl 10    169    c     1   600     root:root
create_dev         smapi       10    170    c     1   600     root:root
create_dev         thinkpad    10    170    c     1   664     root:root
create_dev         srripc      10    171    c     1   600     root:root
create_dev         usemaclone  10    172    c     1   600     root:root
create_dev         ipmikcs     10    173    c     1   600     root:root
create_dev         ipmi0       254   0      c     1   600     root:root
create_dev         uctrl       10    174    c     1   600     root:root
create_dev         agpgart     10    175    c     1   600     root:root
create_dev         gtrsc       10    176    c     1   600     root:root
create_dev         cbm         10    177    c     1   600     root:root
create_dev         jsflash     10    178    c     1   600     root:root
create_dev         xsvc        10    179    c     1   600     root:root
create_dev         vrbuttons   10    180    c     1   600     root:root
create_dev         toshiba     10    181    c     1   600     root:root
create_dev         perfctr     10    182    c     1   644     root:root
create_dev         hwrng       10    183    c     1   444     root:root
create_dev       cpu/microcode 10    184    c     1   600     root:root

create_dev         atomicps    10    186    c     1   600     root:root
create_dev         irnet       10    187    c     1   600     root:root
create_dev         smbusbios   10    188    c     1   600     root:root
create_dev         ussp_ctl    10    189    c     1   600     root:root
create_dev         crash       10    190    c     1   600     root:root
create_dev         pcl181      10    191    c     1   600     root:root
create_dev         nas_xbus    10    192    c     1   600     root:root
create_dev         d7s         10    193    c     1   600     root:root
create_dev         zkshim      10    194    c     1   600     root:root

create_dev         sheep_net   10    198    c     1   644     root:root
create_dev     scanners/cuecat 10    199    c     1   600     root:root
fi # "$RPM_ARCH" != s390
create_dev         net/tun     10    200    c     1   600     root:root
if [ "$RPM_ARCH" != s390 ]; then
create_dev     button/gulpb    10    201    c     1   600     root:root

create_dev      compaq/cpqphpc 10    208    c     1   600     root:root
create_dev      compaq/cpqrid  10    209    c     1   600     root:root
create_dev         impi/bt     10    210    c     1   600     root:root
create_dev         impi/smic   10    211    c     1   600     root:root
create_dev         watchdogs/0 10    212    c     1   600     root:root
create_dev         watchdogs/1 10    213    c     1   600     root:root
create_dev         watchdogs/2 10    214    c     1   600     root:root
create_dev         watchdogs/3 10    215    c     1   600     root:root
create_dev      fujitsu/apanel 10    216    c     1   600     root:root
create_dev         ni/natmotn  10    217    c     1   600     root:root
create_dev         kchuid      10    218    c     1   600     root:root
create_dev        modems/mwave 10    219    c     1   660     root:uucp
create_dev         mptctl      10    220    c     1   600     root:root
create_dev      mvista/hssdsi  10    221    c     1   600     root:root
create_dev      mvista/hasi    10    222    c     1   600     root:root
create_dev         mcelog      10    227    c     1   600     root:root

create_dev         agpgarti810 10    240    c     1   600     root:root

create_dev         sonypi      10    250    c     1   600     root:root

# ---------------
# Major number 11
# ---------------

create_dev         kbd         11      0    c     1   600     root:root

fi # "$RPM_ARCH" != s390

create_dev_range   sr          11      0    b    16   640     root:disk
create_dev_range   scd         11      0    b    16   640     root:disk

if [ "$RPM_ARCH" != s390 ]; then

# ---------------
# Major number 12
# ---------------

create_dev         ntpqic11    12      2    c     1   600     root:root
create_dev         tpqic11     12      3    c     1   600     root:root
create_dev         ntpqic24    12      4    c     1   600     root:root
create_dev         tpqic24     12      5    c     1   600     root:root
create_dev         ntpqic120   12      6    c     1   600     root:root
create_dev         tpqic120    12      7    c     1   600     root:root
create_dev         ntpqic150   12      8    c     1   600     root:root
create_dev         tpqic150    12      9    c     1   600     root:root

if [ $LOTS = "yes" ]; then
create_dev_range   dos_cd      12      0    b     4   640     root:disk
else
create_dev_range   dos_cd      12      0    b     2   640     root:disk
fi

# ---------------
# Major number 13
# ---------------

create_dev_range   input/js    13      0    c     4   644     root:root
create_dev_range   input/mouse 13     32    c    31   640     root:root
create_dev         input/mice  13     63    c     1   640     root:root
create_dev_range   input/event 13     64    c    64   640     root:root

create_dev         usbmouse    13     32    c     1   660     root:root
create_dev_range   usbmouse    13     32    c     4   660     root:root

create_dev         xda         13      0    b     1   600     root:root
if [ $LOTS = "yes" ]; then
create_dev_range   xda         13      0    b    64   600     root:root
else
create_dev_range   xda         13      0    b    16   600     root:root
fi
create_dev         xdb         13     64    b     1   600     root:root
if [ $LOTS = "yes" ]; then
create_dev_range   xdb         13     64    b    64   600     root:root
else
create_dev_range   xdb         13     64    b    16   600     root:root
fi

# ---------------
# Major number 14
# ---------------

create_dev         mixer0      14      0    c     1   660     root:audio
create_dev         sequencer   14      1    c     1   660     root:audio
create_dev         midi00      14      2    c     1   660     root:audio
create_dev         dsp0        14      3    c     1   660     root:audio
create_dev         audio       14      4    c     1   660     root:audio
create_dev         audio0      14      4    c     1   660     root:audio

# /dev/sndstat is only used by the commercial OSS driver
# ALSA provides those informations in /proc/asound/oss/sndstat, so
# make this a symlink now
# create_dev         sndstat     14      6    c     1   660     root:audio

create_dev         audioctl    14      7    c     1   660     root:audio
create_dev         music       14      8    c     1   660     root:audio
create_dev         sequencer2  14      8    c     1   660     root:audio
create_dev         dmmidi0     14      9    c     1   660     root:audio
create_dev         dmfm0       14     10    c     1   660     root:audio
create_dev         adsp0       14     12    c     1   660     root:audio
create_dev         amidi0      14     13    c     1   660     root:audio
create_dev         admmidi0    14     14    c     1   660     root:audio
create_dev         mixer1      14     16    c     1   660     root:audio
create_dev         patmgr0     14     17    c     1   660     root:audio
create_dev         midi01      14     18    c     1   660     root:audio
create_dev         dsp1        14     19    c     1   660     root:audio
create_dev         audio1      14     20    c     1   660     root:audio
create_dev         dmmidi1     14     25    c     1   660     root:audio
create_dev         dmfm1       14     26    c     1   660     root:audio
create_dev         adsp1       14     28    c     1   660     root:audio
create_dev         amidi1      14     29    c     1   660     root:audio
create_dev         admmidi1    14     30    c     1   660     root:audio
create_dev         mixer2      14     32    c     1   660     root:audio
create_dev         patmgr1     14     33    c     1   660     root:audio
create_dev         midi02      14     34    c     1   660     root:audio
create_dev         dsp2        14     35    c     1   660     root:audio
create_dev         audio2      14     36    c     1   660     root:audio
create_dev         dmmidi2     14     41    c     1   660     root:audio
create_dev         dmfm2       14     42    c     1   660     root:audio
create_dev         adsp2       14     44    c     1   660     root:audio
create_dev         amidi2      14     45    c     1   660     root:audio
create_dev         admmidi2    14     46    c     1   660     root:audio
create_dev         mixer3      14     48    c     1   660     root:audio
create_dev         midi03      14     50    c     1   660     root:audio
create_dev         dsp3        14     51    c     1   660     root:audio
create_dev         audio3      14     52    c     1   660     root:audio
create_dev         dmmidi3     14     57    c     1   660     root:audio
create_dev         dmfm3       14     58    c     1   660     root:audio
create_dev         adsp3       14     60    c     1   660     root:audio
create_dev         amidi3      14     61    c     1   660     root:audio
create_dev         admmidi3    14     62    c     1   660     root:audio

create_dev         dos_hda     14      0    b     1   660     root:disk
if [ $LOTS = "yes" ]; then
create_dev_range   dos_hda     14      0    b    64   660     root:disk
else
create_dev_range   dos_hda     14      0    b    16   660     root:disk
fi
create_dev         dos_hdb     14     64    b     1   660     root:disk
if [ $LOTS = "yes" ]; then
create_dev_range   dos_hdb     14     64    b    64   660     root:disk
else
create_dev_range   dos_hdb     14     64    b    16   660     root:disk
fi

if [ $LOTS = "yes" ]; then
create_dev         dos_hdc     14    128    b     1   660     root:disk
create_dev_range   dos_hdc     14    128    b    64   660     root:disk
create_dev         dos_hdd     14    192    b     1   660     root:disk
create_dev_range   dos_hdd     14    192    b    64   660     root:disk
fi

# ---------------
# Major number 15
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   js          13      0    c     4   644     root:root
create_dev_range   djs         13    128    c     4   644     root:root
else
create_dev_range   js          13      0    c     2   644     root:root
create_dev_range   djs         13    128    c     2   644     root:root
fi

create_dev         sonycd      15      0    b     1   640     root:disk

# ---------------
# Major number 16
# ---------------

create_dev         gs4500      16      0    c     1   600     root:root

create_dev         gscd        16      0    b     1   640     root:disk
create_dev         gscd0       16      0    b     1   640     root:disk

# ---------------
# Major number 17
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   ttyH        17      0    c    32   666     root:root
fi

create_dev         optcd       17      0    b     1   640     root:disk
create_dev         optcd0      17      0    b     1   640     root:disk

# ---------------
# Major number 18
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   cuh         18      0    c    32   660     root:uucp
else
create_dev_range   cuh         18      0    c     8   660     root:uucp
fi

create_dev         sjcd        18      0    b     1   640     root:disk

# ---------------
# Major number 19
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   ttyC        19      0    c    32   666     root:root
fi

if [ $LOTS = "yes" ]; then
create_dev_range   double      19      0    b     8   660     root:disk
create_dev_range   cdouble     19    128    b     8   660     root:disk
else
create_dev_range   double      19      0    b     2   660     root:disk
create_dev_range   cdouble     19    128    b     2   660     root:disk
fi

# ---------------
# Major number 20
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   cub         20      0    c    32   660     root:uucp
else
create_dev_range   cub         20      0    c     8   660     root:uucp
fi

create_dev_range   mcdx        20      0    b     2   640     root:disk
create_dev         mcdx        20      0    b     1   640     root:disk

# ---------------
# Major number 21
# ---------------

fi # "$RPM_ARCH" != s390

create_dev_range   sg          21      0    c    16   640     root:disk

if [ "$RPM_ARCH" != s390 ]; then

# ---------------
# Major number 22
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   ttyD        22      0    c    32   666     root:root
fi

create_dev         hdc         22      0    b     1   660     root:disk
create_dev_range1  hdc         22      0    b    64   660     root:disk
create_dev         hdd         22     64    b     1   660     root:disk
create_dev_range1  hdd         22     64    b    64   660     root:disk

# ---------------
# Major number 23
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   cud         23      0    c    32   660     root:uucp
else
create_dev_range   cud         23      0    c     8   660     root:uucp
fi

create_dev         mcd         23      0    b     1   640     root:disk

# ---------------
# Major number 24
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   ttyE        24      0    c   256   666     root:root
fi

create_dev         cdu535      24      0    b     1   640     root:disk

# ---------------
# Major number 25
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   cue         25      0    c   256   660     root:uucp
else
create_dev_range   cue         25      0    c    16   660     root:uucp
fi

create_dev         sbpcd       25      0    b     1   640     root:disk
create_dev         sbpcd0      25      0    b     1   640     root:disk
create_dev         sbpcd1      25      1    b     1   640     root:disk
create_dev         sbpcd2      25      2    b     1   640     root:disk
create_dev         sbpcd3      25      3    b     1   640     root:disk

# ---------------
# Major number 26
# ---------------

create_dev         wvisfgrab   26      0    c     1   600     root:root

if [ $LOTS = "yes" ]; then
create_dev         sbpcd4      26      0    b     1   640     root:disk
create_dev         sbpcd5      26      1    b     1   640     root:disk
create_dev         sbpcd6      26      2    b     1   640     root:disk
create_dev         sbpcd7      26      3    b     1   640     root:disk
fi

# ---------------
# Major number 27
# ---------------

create_dev_range   qft         27      0    c     1   660     root:disk
create_dev_range   nqft        27      4    c     1   660     root:disk
create_dev_range   zqft        27     16    c     1   660     root:disk
create_dev_range   nzqft       27     20    c     1   660     root:disk
create_dev_range   rawqft      27     32    c     1   660     root:disk
create_dev_range   nrawqft     27     36    c     1   660     root:disk

if [ $LOTS = "yes" ]; then
create_dev         sbpcd8      27      0    b     1   640     root:disk
create_dev         sbpcd9      27      1    b     1   640     root:disk
create_dev         sbpcd10     27      2    b     1   640     root:disk
create_dev         sbpcd11     27      3    b     1   640     root:disk
fi

# ---------------
# Major number 28
# ---------------

create_dev_range   staliomem   28      0    c     4   660     root:root

if [ $LOTS = "yes" ]; then
create_dev         sbpcd12     28      0    b     1   640     root:disk
create_dev         sbpcd13     28      1    b     1   640     root:disk
create_dev         sbpcd14     28      2    b     1   640     root:disk
create_dev         sbpcd15     28      3    b     1   640     root:disk
fi

# ---------------
# Major number 29
# ---------------

create_dev_range   fb          29      0    c     3   660     root:video
create_dev         aztcd       29      0    b     1   640     root:disk
create_dev         aztcd0      29      0    b     1   640     root:disk
fi # "$RPM_ARCH" != s390

# ---------------
# Major number 30
# ---------------

fi # if [ -z "$VIRTUOZZO" ]

create_dev         socksys     30      0    c     1   660     root:root

if [ -z "$VIRTUOZZO" ]; then

if [ "$RPM_ARCH" != s390 ]; then
create_dev         spx         30      1    c     1   660     root:root
fi # "$RPM_ARCH" != s390
create_dev         inet/ip     30     32    c     1   660     root:root
create_dev         inet/icmp   30     33    c     1   660     root:root
create_dev         inet/ggp    30     34    c     1   660     root:root
create_dev         inet/ipip   30     35    c     1   660     root:root
create_dev         inet/tcp    30     36    c     1   660     root:root
create_dev         inet/egp    30     37    c     1   660     root:root
create_dev         inet/pup    30     38    c     1   660     root:root
create_dev         inet/udp    30     39    c     1   660     root:root
create_dev         inet/idp    30     40    c     1   660     root:root
create_dev         inet/rawip  30     41    c     1   660     root:root

create_dev         inet/arp    30     39    c     1   660     root:root
create_dev         inet/rip    30     39    c     1   660     root:root
create_dev         ip          30     32    c     1   660     root:root
create_dev         icmp        30     33    c     1   660     root:root
create_dev         ggp         30     34    c     1   660     root:root
create_dev         ipip        30     35    c     1   660     root:root
create_dev         tcp         30     36    c     1   660     root:root
create_dev         egp         30     37    c     1   660     root:root
create_dev         pup         30     38    c     1   660     root:root
create_dev         udp         30     39    c     1   660     root:root
create_dev         idp         30     40    c     1   660     root:root
create_dev         rawip       30     41    c     1   660     root:root
create_dev         arp         30     39    c     1   660     root:root
create_dev         rip         30     39    c     1   660     root:root
if [ "$RPM_ARCH" != s390 ]; then

create_dev         cm205cd     30      0    b     1   640     root:disk
create_dev         lmscd       30      0    b     1   640     root:disk

# ---------------
# Major number 31
# ---------------

create_dev         mpu401data  31      0    c     1   666     root:audio
create_dev         mpu401stat  31      1    c     1   666     root:audio

create_dev_range   rom         31      0    b     4   600     root:root
create_dev_range   rrom        31      8    b     4   400     root:root
create_dev_range   flash       31     16    b     4   600     root:root
create_dev_range   rflash      31     24    b     4   400     root:root

# ---------------
# Major number 32
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   ttyX        32      0    c    32   666     root:root
fi

create_dev         cm206cd     32      0    b     1   640     root:disk

# ---------------
# Major number 33
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   cux         33      0    c    32   660     root:uucp
else
create_dev_range   cux         33      0    c     8   660     root:uucp
fi

create_dev         hde         33      0    b     1   660     root:disk
create_dev         hdf         33     64    b     1   660     root:disk

create_dev_range1  hde         33      0    b    64   660     root:disk
create_dev_range1  hdf         33     64    b    64   660     root:disk

# ---------------
# Major number 34
# ---------------

create_dev         hdg         34      0    b     1   660     root:disk
create_dev         hdh         34     64    b     1   660     root:disk

create_dev_range1  hdg         34      0    b    64   660     root:disk
create_dev_range1  hdh         34     64    b    64   660     root:disk

# ---------------
# Major number 35
# ---------------

create_dev_range   midi        35      0    c     4   666     root:audio
create_dev_range   rmidi       35     64    c     4   666     root:audio
create_dev_range   smpte       35    128    c     2   666     root:audio

fi # "$RPM_ARCH" != s390

create_dev         slram       35      0    b     1   660     root:root
create_dev_range   slram       35      0    b    32   660     root:root

# ---------------
# Major number 36
# ---------------


create_dev         route       36      0    c     1   600     root:root
create_dev         skip        36      1    c     1   600     root:root

create_dev         tap0        36     16    c     1   600     root:root
create_dev         tap1        36     17    c     1   600     root:root
create_dev         tap2        36     18    c     1   600     root:root

if [ "$RPM_ARCH" != s390 ]; then

if [ $LOTS = "yes" ]; then
create_dev         eda         36      0    b     1   600     root:root
create_dev_range   eda         36      0    b    64   600     root:root
create_dev         edb         36     64    b     1   600     root:root
create_dev_range   edb         36     64    b    64   600     root:root
fi

# ---------------
# Major number 37
# ---------------

create_dev         ht0         37      0    c     1   600     root:root
create_dev         nht0        37    128    c     1   600     root:root

create_dev         z2ram       37      0    b     1   600     root:root

# ---------------
# Major number 38
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   mlanai      38      0    c     8   600     root:root
fi

# ---------------
# Major number 39
# ---------------

# ---------------
# Major number 40
# ---------------

create_dev         mmetfgrab   40      0    c     1   600     root:root

# ---------------
# Major number 41
# ---------------

create_dev         yamm        41      0    c     1   600     root:root

# ---------------
# Major number 43
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   ttyI        43      0    c    64   660     root:uucp
else
create_dev_range   ttyI        43      0    c    16   660     root:uucp
fi

fi # "$RPM_ARCH" != s390

create_dev_range   nb          43      0    b    16   660     root:root

# ---------------
# Major number 44
# ---------------

if [ "$RPM_ARCH" != s390 ]; then


if [ $LOTS = "yes" ]; then
create_dev_range   cui         44      0    c    64   660     root:uucp
else
create_dev_range   cui         44      0    c    16   660     root:uucp
fi

# ---------------
# Major number 45
# ---------------

create_dev         pda         45      0    b     1   660     root:disk
create_dev_range1  pda         45      0    b    16   660     root:disk
create_dev         pdb         45     16    b     1   660     root:disk
create_dev_range1  pdb         45     16    b    16   660     root:disk
create_dev         pdc         45     32    b     1   660     root:disk
create_dev_range1  pdc         45     32    b    16   660     root:disk
create_dev         pdd         45     48    b     1   660     root:disk
create_dev_range1  pdd         45     48    b    16   660     root:disk

if [ $LOTS = "yes" ]; then
create_dev_range   isdn        45      0    c    64   600     root:root
create_dev_range   isdnctrl    45     64    c    64   600     root:root
create_dev_range   ippp        45    128    c    64   600     root:root
else
create_dev_range   isdn        45      0    c    16   600     root:root
create_dev_range   isdnctrl    45     64    c    16   600     root:root
create_dev_range   ippp        45    128    c    16   600     root:root
fi
create_dev         isdninfo    45    255    c     1   444     root:root

# ---------------
# Major number 46
# ---------------

create_dev_range   pcd         46      0    b     4   660     root:disk

if [ $LOTS = "yes" ]; then
create_dev_range   ttyR        46      0    c    32   666     root:root
fi

# ---------------
# Major number 47
# ---------------

create_dev_range   pf          47      0    b     4   660     root:disk

if [ $LOTS = "yes" ]; then
create_dev_range   cur         47      0    c    32   660     root:uucp
else
create_dev_range   cur         47      0    c     8   660     root:uucp
fi

# ---------------
# Major number 48
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   ttyL        48      0    c    32   666     root:root
fi

create_DAC960      0

# ---------------
# Major number 49
# ---------------

create_DAC960      1

if [ $LOTS = "yes" ]; then
create_dev_range   cul         49      0    c    32   660     root:uucp
else
create_dev_range   cul         49      0    c     8   660     root:uucp
fi

# ---------------
# Major number 50
# ---------------

create_DAC960      2

# ---------------
# Major number 51
# ---------------

create_DAC960      3

# ---------------
# Major number 52
# ---------------

create_DAC960      4

# ---------------
# Major number 53
# ---------------

create_DAC960      5

# ---------------
# Major number 54
# ---------------

create_DAC960      6

# ---------------
# Major number 55
# ---------------

create_dev         dsp56k      55      0    c     1   660     root:root

create_DAC960      7

# ---------------
# Major number 56
# ---------------

create_dev         hdi         56      0    b     1   660     root:disk
create_dev         hdj         56     64    b     1   660     root:disk

create_dev_range1  hdi         56      0    b    64   660     root:disk
create_dev_range1  hdj         56     64    b    64   660     root:disk

create_dev         adb         56      0    c     1   660     root:root

# ---------------
# Major number 57
# ---------------

create_dev         hdk         57      0    b     1   660     root:disk
create_dev         hdl         57     64    b     1   660     root:disk

create_dev_range1  hdk         57      0    b    64   660     root:disk
create_dev_range1  hdl         57     64    b    64   660     root:disk

fi # not s390

# ---------------
# Major number 59
# ---------------

create_dev         firewall    59      0    c     1   600     root:root

# ---------------
# Major number 60
# ---------------

create_dev         lirc        61      0    c     1   600     root:root
mknod -m 0600 dev/lircm p
mknod -m 0600 dev/lircd p

# ---------------
# Major number 62
# ---------------

if [ "$RPM_ARCH" != s390 ]; then
create_ferrari
create_dev         ttyLT0      62      64   c     1   664     root:dialout

# ---------------
# Major number 64
# ---------------

create_dev         enskip      64      0    c     1   600     root:root

fi # not s390

# ---------------
# Major number 65
# ---------------

create_dev         sdq         65      0    b     1   660     root:disk
create_dev_range1  sdq         65      0    b    16   660     root:disk
create_dev         sdr         65     16    b     1   660     root:disk
create_dev_range1  sdr         65     16    b    16   660     root:disk
create_dev         sds         65     32    b     1   660     root:disk
create_dev_range1  sds         65     32    b    16   660     root:disk
create_dev         sdt         65     48    b     1   660     root:disk
create_dev_range1  sdt         65     48    b    16   660     root:disk
create_dev         sdu         65     64    b     1   660     root:disk
create_dev_range1  sdu         65     64    b    16   660     root:disk
create_dev         sdv         65     80    b     1   660     root:disk
create_dev_range1  sdv         65     80    b    16   660     root:disk
create_dev         sdw         65     96    b     1   660     root:disk
create_dev_range1  sdw         65     96    b    16   660     root:disk
create_dev         sdx         65    112    b     1   660     root:disk
create_dev_range1  sdx         65    112    b    16   660     root:disk
create_dev         sdy         65    128    b     1   660     root:disk
create_dev_range1  sdy         65    128    b    16   660     root:disk
create_dev         sdz         65    144    b     1   660     root:disk
create_dev_range1  sdz         65    144    b    16   660     root:disk
create_dev         sdaa        65    160    b     1   660     root:disk
create_dev_range1  sdaa        65    160    b    16   660     root:disk
create_dev         sdab        65    176    b     1   660     root:disk
create_dev_range1  sdab        65    176    b    16   660     root:disk
create_dev         sdac        65    192    b     1   660     root:disk
create_dev_range1  sdac        65    192    b    16   660     root:disk
create_dev         sdad        65    208    b     1   660     root:disk
create_dev_range1  sdad        65    208    b    16   660     root:disk
create_dev         sdae        65    224    b     1   660     root:disk
create_dev_range1  sdae        65    224    b    16   660     root:disk
create_dev         sdaf        65    240    b     1   660     root:disk
create_dev_range1  sdaf        65    240    b    16   660     root:disk

# ---------------
# Major number 66
# ---------------

create_dev         sdag        66      0    b     1   660     root:disk
create_dev_range1  sdag        66      0    b    16   660     root:disk
create_dev         sdah        66     16    b     1   660     root:disk
create_dev_range1  sdah        66     16    b    16   660     root:disk
create_dev         sdai        66     32    b     1   660     root:disk
create_dev_range1  sdai        66     32    b    16   660     root:disk
create_dev         sdaj        66     48    b     1   660     root:disk
create_dev_range1  sdaj        66     48    b    16   660     root:disk
create_dev         sdak        66     64    b     1   660     root:disk
create_dev_range1  sdak        66     64    b    16   660     root:disk
create_dev         sdal        66     80    b     1   660     root:disk
create_dev_range1  sdal        66     80    b    16   660     root:disk
create_dev         sdam        66     96    b     1   660     root:disk
create_dev_range1  sdam        66     96    b    16   660     root:disk
create_dev         sdan        66    112    b     1   660     root:disk
create_dev_range1  sdan        66    112    b    16   660     root:disk
create_dev         sdao        66    128    b     1   660     root:disk
create_dev_range1  sdao        66    128    b    16   660     root:disk
create_dev         sdap        66    144    b     1   660     root:disk
create_dev_range1  sdap        66    144    b    16   660     root:disk
create_dev         sdaq        66    160    b     1   660     root:disk
create_dev_range1  sdaq        66    160    b    16   660     root:disk
create_dev         sdar        66    176    b     1   660     root:disk
create_dev_range1  sdar        66    176    b    16   660     root:disk
create_dev         sdas        66    192    b     1   660     root:disk
create_dev_range1  sdas        66    192    b    16   660     root:disk
create_dev         sdat        66    208    b     1   660     root:disk
create_dev_range1  sdat        66    208    b    16   660     root:disk
create_dev         sdau        66    224    b     1   660     root:disk
create_dev_range1  sdau        66    224    b    16   660     root:disk
create_dev         sdav        66    240    b     1   660     root:disk
create_dev_range1  sdav        66    240    b    16   660     root:disk

# ---------------
# Major number 67
# ---------------
if [ "$RPM_ARCH" != s390 ]; then
create_dev         cfs0        67      0    c     1   600     root:root
fi # not s390

create_dev         sdaw        67      0    b     1   660     root:disk
create_dev_range1  sdaw        67      0    b    16   660     root:disk
create_dev         sdax        67     16    b     1   660     root:disk
create_dev_range1  sdax        67     16    b    16   660     root:disk
create_dev         sday        67     32    b     1   660     root:disk
create_dev_range1  sday        67     32    b    16   660     root:disk
create_dev         sdaz        67     48    b     1   660     root:disk
create_dev_range1  sdaz        67     48    b    16   660     root:disk
create_dev         sdba        67     64    b     1   660     root:disk
create_dev_range1  sdba        67     64    b    16   660     root:disk
create_dev         sdbb        67     80    b     1   660     root:disk
create_dev_range1  sdbb        67     80    b    16   660     root:disk
create_dev         sdbc        67     96    b     1   660     root:disk
create_dev_range1  sdbc        67     96    b    16   660     root:disk
create_dev         sdbd        67    112    b     1   660     root:disk
create_dev_range1  sdbd        67    112    b    16   660     root:disk
create_dev         sdbe        67    128    b     1   660     root:disk
create_dev_range1  sdbe        67    128    b    16   660     root:disk
create_dev         sdbf        67    144    b     1   660     root:disk
create_dev_range1  sdbf        67    144    b    16   660     root:disk
create_dev         sdbg        67    160    b     1   660     root:disk
create_dev_range1  sdbg        67    160    b    16   660     root:disk
create_dev         sdbh        67    176    b     1   660     root:disk
create_dev_range1  sdbh        67    176    b    16   660     root:disk
create_dev         sdbi        67    192    b     1   660     root:disk
create_dev_range1  sdbi        67    192    b    16   660     root:disk
create_dev         sdbj        67    208    b     1   660     root:disk
create_dev_range1  sdbj        67    208    b    16   660     root:disk
create_dev         sdbk        67    224    b     1   660     root:disk
create_dev_range1  sdbk        67    224    b    16   660     root:disk
create_dev         sdbl        67    240    b     1   660     root:disk
create_dev_range1  sdbl        67    240    b    16   660     root:disk

# ---------------
# Major number 68
# ---------------

if [ "$RPM_ARCH" != s390 ]; then
create_dev         capi20      68      0    c     1   660     root:dialout
create_dev         capi20.00   68      1    c     1   660     root:dialout
create_dev         capi20.01   68      2    c     1   660     root:dialout
create_dev         capi20.02   68      3    c     1   660     root:dialout
create_dev         capi20.03   68      4    c     1   660     root:dialout
create_dev         capi20.04   68      5    c     1   660     root:dialout
create_dev         capi20.05   68      6    c     1   660     root:dialout
create_dev         capi20.06   68      7    c     1   660     root:dialout
create_dev         capi20.07   68      8    c     1   660     root:dialout
create_dev         capi20.08   68      9    c     1   660     root:dialout
create_dev         capi20.09   68     10    c     1   660     root:dialout
create_dev         capi20.10   68     11    c     1   660     root:dialout
create_dev         capi20.11   68     12    c     1   660     root:dialout
create_dev         capi20.12   68     13    c     1   660     root:dialout
create_dev         capi20.13   68     14    c     1   660     root:dialout
create_dev         capi20.14   68     15    c     1   660     root:dialout
create_dev         capi20.15   68     16    c     1   660     root:dialout
create_dev         capi20.16   68     17    c     1   660     root:dialout
create_dev         capi20.17   68     18    c     1   660     root:dialout
create_dev         capi20.18   68     19    c     1   660     root:dialout
create_dev         capi20.19   68     20    c     1   660     root:dialout
fi # not s390

create_dev         sdbm        68      0    b     1   660     root:disk
create_dev_range1  sdbm        68      0    b    16   660     root:disk
create_dev         sdbn        68     16    b     1   660     root:disk
create_dev_range1  sdbn        68     16    b    16   660     root:disk
create_dev         sdbo        68     32    b     1   660     root:disk
create_dev_range1  sdbo        68     32    b    16   660     root:disk
create_dev         sdbp        68     48    b     1   660     root:disk
create_dev_range1  sdbp        68     48    b    16   660     root:disk
create_dev         sdbq        68     64    b     1   660     root:disk
create_dev_range1  sdbq        68     64    b    16   660     root:disk
create_dev         sdbr        68     80    b     1   660     root:disk
create_dev_range1  sdbr        68     80    b    16   660     root:disk
create_dev         sdbs        68     96    b     1   660     root:disk
create_dev_range1  sdbs        68     96    b    16   660     root:disk
create_dev         sdbt        68    112    b     1   660     root:disk
create_dev_range1  sdbt        68    112    b    16   660     root:disk
create_dev         sdbu        68    128    b     1   660     root:disk
create_dev_range1  sdbu        68    128    b    16   660     root:disk
create_dev         sdbv        68    144    b     1   660     root:disk
create_dev_range1  sdbv        68    144    b    16   660     root:disk
create_dev         sdbw        68    160    b     1   660     root:disk
create_dev_range1  sdbw        68    160    b    16   660     root:disk
create_dev         sdbx        68    176    b     1   660     root:disk
create_dev_range1  sdbx        68    176    b    16   660     root:disk
create_dev         sdby        68    192    b     1   660     root:disk
create_dev_range1  sdby        68    192    b    16   660     root:disk
create_dev         sdbz        68    208    b     1   660     root:disk
create_dev_range1  sdbz        68    208    b    16   660     root:disk
create_dev         sdca        68    224    b     1   660     root:disk
create_dev_range1  sdca        68    224    b    16   660     root:disk
create_dev         sdcb        68    240    b     1   660     root:disk
create_dev_range1  sdcb        68    240    b    16   660     root:disk

# ---------------
# Major number 69
# ---------------

create_dev         sdcc        69      0    b     1   660     root:disk
create_dev_range1  sdcc        69      0    b    16   660     root:disk
create_dev         sdcd        69     16    b     1   660     root:disk
create_dev_range1  sdcd        69     16    b    16   660     root:disk
create_dev         sdce        69     32    b     1   660     root:disk
create_dev_range1  sdce        69     32    b    16   660     root:disk
create_dev         sdcf        69     48    b     1   660     root:disk
create_dev_range1  sdcf        69     48    b    16   660     root:disk
create_dev         sdcg        69     64    b     1   660     root:disk
create_dev_range1  sdcg        69     64    b    16   660     root:disk
create_dev         sdch        69     80    b     1   660     root:disk
create_dev_range1  sdch        69     80    b    16   660     root:disk
create_dev         sdci        69     96    b     1   660     root:disk
create_dev_range1  sdci        69     96    b    16   660     root:disk
create_dev         sdcj        69    112    b     1   660     root:disk
create_dev_range1  sdcj        69    112    b    16   660     root:disk
create_dev         sdck        69    128    b     1   660     root:disk
create_dev_range1  sdck        69    128    b    16   660     root:disk
create_dev         sdcl        69    144    b     1   660     root:disk
create_dev_range1  sdcl        69    144    b    16   660     root:disk
create_dev         sdcm        69    160    b     1   660     root:disk
create_dev_range1  sdcm        69    160    b    16   660     root:disk
create_dev         sdcn        69    176    b     1   660     root:disk
create_dev_range1  sdcn        69    176    b    16   660     root:disk
create_dev         sdco        69    192    b     1   660     root:disk
create_dev_range1  sdco        69    192    b    16   660     root:disk
create_dev         sdcp        69    208    b     1   660     root:disk
create_dev_range1  sdcp        69    208    b    16   660     root:disk
create_dev         sdcq        69    224    b     1   660     root:disk
create_dev_range1  sdcq        69    224    b    16   660     root:disk
create_dev         sdcr        69    240    b     1   660     root:disk
create_dev_range1  sdcr        69    240    b    16   660     root:disk

# ---------------
# Major number 70
# ---------------

create_dev         sdcs        70      0    b     1   660     root:disk
create_dev_range1  sdcs        70      0    b    16   660     root:disk
create_dev         sdct        70     16    b     1   660     root:disk
create_dev_range1  sdct        70     16    b    16   660     root:disk
create_dev         sdcu        70     32    b     1   660     root:disk
create_dev_range1  sdcu        70     32    b    16   660     root:disk
create_dev         sdcv        70     48    b     1   660     root:disk
create_dev_range1  sdcv        70     48    b    16   660     root:disk
create_dev         sdcw        70     64    b     1   660     root:disk
create_dev_range1  sdcw        70     64    b    16   660     root:disk
create_dev         sdcx        70     80    b     1   660     root:disk
create_dev_range1  sdcx        70     80    b    16   660     root:disk
create_dev         sdcy        70     96    b     1   660     root:disk
create_dev_range1  sdcy        70     96    b    16   660     root:disk
create_dev         sdcz        70    112    b     1   660     root:disk
create_dev_range1  sdcz        70    112    b    16   660     root:disk
create_dev         sdda        70    128    b     1   660     root:disk
create_dev_range1  sdda        70    128    b    16   660     root:disk
create_dev         sddb        70    144    b     1   660     root:disk
create_dev_range1  sddb        70    144    b    16   660     root:disk
create_dev         sddc        70    160    b     1   660     root:disk
create_dev_range1  sddc        70    160    b    16   660     root:disk
create_dev         sddd        70    176    b     1   660     root:disk
create_dev_range1  sddd        70    176    b    16   660     root:disk
create_dev         sdde        70    192    b     1   660     root:disk
create_dev_range1  sdde        70    192    b    16   660     root:disk
create_dev         sddf        70    208    b     1   660     root:disk
create_dev_range1  sddf        70    208    b    16   660     root:disk
create_dev         sddg        70    224    b     1   660     root:disk
create_dev_range1  sddg        70    224    b    16   660     root:disk
create_dev         sddh        70    240    b     1   660     root:disk
create_dev_range1  sddh        70    240    b    16   660     root:disk

# ---------------
# Major number 71
# ---------------

create_dev         sddi        71      0    b     1   660     root:disk
create_dev_range1  sddi        71      0    b    16   660     root:disk
create_dev         sddj        71     16    b     1   660     root:disk
create_dev_range1  sddj        71     16    b    16   660     root:disk
create_dev         sddk        71     32    b     1   660     root:disk
create_dev_range1  sddk        71     32    b    16   660     root:disk
create_dev         sddl        71     48    b     1   660     root:disk
create_dev_range1  sddl        71     48    b    16   660     root:disk
create_dev         sddm        71     64    b     1   660     root:disk
create_dev_range1  sddm        71     64    b    16   660     root:disk
create_dev         sddn        71     80    b     1   660     root:disk
create_dev_range1  sddn        71     80    b    16   660     root:disk
create_dev         sddo        71     96    b     1   660     root:disk
create_dev_range1  sddo        71     96    b    16   660     root:disk
create_dev         sddp        71    112    b     1   660     root:disk
create_dev_range1  sddp        71    112    b    16   660     root:disk
create_dev         sddq        71    128    b     1   660     root:disk
create_dev_range1  sddq        71    128    b    16   660     root:disk
create_dev         sddr        71    144    b     1   660     root:disk
create_dev_range1  sddr        71    144    b    16   660     root:disk
create_dev         sdds        71    160    b     1   660     root:disk
create_dev_range1  sdds        71    160    b    16   660     root:disk
create_dev         sddt        71    176    b     1   660     root:disk
create_dev_range1  sddt        71    176    b    16   660     root:disk
create_dev         sddu        71    192    b     1   660     root:disk
create_dev_range1  sddu        71    192    b    16   660     root:disk
create_dev         sddv        71    208    b     1   660     root:disk
create_dev_range1  sddv        71    208    b    16   660     root:disk
create_dev         sddw        71    224    b     1   660     root:disk
create_dev_range1  sddw        71    224    b    16   660     root:disk
create_dev         sddx        71    240    b     1   660     root:disk
create_dev_range1  sddx        71    240    b    16   660     root:disk

# ------------------
# Major number 72-79
# ------------------

if [ "$RPM_ARCH" != s390 ]; then
create_compaq      0
create_compaq      1
create_compaq      2
create_compaq      3
create_compaq      4
create_compaq      5
create_compaq      6
create_compaq      7

# ---------------
# Major number 75
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   ttyW        75      0    c    32   660     root:uucp
else
create_dev_range   ttyW        75      0    c     8   660     root:uucp
fi

# ---------------
# Major number 76
# ---------------

if [ $LOTS = "yes" ]; then
create_dev_range   cuw         76      0    c    32   660     root:uucp
else
create_dev_range   cuw         76      0    c     8   660     root:uucp
fi

# ---------------
# Major number 80
# ---------------

create_dev         i2o/hda     80      0    b     1   660     root:disk
create_dev_range1  i2o/hda     80      0    b    16   660     root:disk
create_dev         i2o/hdb     80     16    b     1   660     root:disk
create_dev_range1  i2o/hdb     80     16    b    16   660     root:disk
create_dev         i2o/hdc     80     32    b     1   660     root:disk
create_dev_range1  i2o/hdc     80     32    b    16   660     root:disk
create_dev         i2o/hdd     80     48    b     1   660     root:disk
create_dev_range1  i2o/hdd     80     48    b    16   660     root:disk
create_dev         i2o/hde     80     64    b     1   660     root:disk
create_dev_range1  i2o/hde     80     64    b    16   660     root:disk
create_dev         i2o/hdf     80     80    b     1   660     root:disk
create_dev_range1  i2o/hdf     80     80    b    16   660     root:disk
create_dev         i2o/hdg     80     96    b     1   660     root:disk
create_dev_range1  i2o/hdg     80     96    b    16   660     root:disk
create_dev         i2o/hdh     80    112    b     1   660     root:disk
create_dev_range1  i2o/hdh     80    112    b    16   660     root:disk
create_dev         i2o/hdi     80    128    b     1   660     root:disk
create_dev_range1  i2o/hdi     80    128    b    16   660     root:disk
create_dev         i2o/hdj     80    144    b     1   660     root:disk
create_dev_range1  i2o/hdj     80    144    b    16   660     root:disk
create_dev         i2o/hdk     80    160    b     1   660     root:disk
create_dev_range1  i2o/hdk     80    160    b    16   660     root:disk
create_dev         i2o/hdl     80    176    b     1   660     root:disk
create_dev_range1  i2o/hdl     80    176    b    16   660     root:disk
create_dev         i2o/hdm     80    192    b     1   660     root:disk
create_dev_range1  i2o/hdm     80    192    b    16   660     root:disk
create_dev         i2o/hdn     80    208    b     1   660     root:disk
create_dev_range1  i2o/hdn     80    208    b    16   660     root:disk
create_dev         i2o/hdo     80    224    b     1   660     root:disk
create_dev_range1  i2o/hdo     80    224    b    16   660     root:disk
create_dev         i2o/hdp     80    240    b     1   660     root:disk
create_dev_range1  i2o/hdp     80    240    b    16   660     root:disk

# ---------------
# Major number 81
# ---------------

create_dev_range   video       81      0    c     4   660     root:video
create_dev_range   radio       81     64    c     4   660     root:audio
create_dev_range   vtx         81    192    c     4   660     root:video
create_dev_range   vbi         81    224    c     4   660     root:video

# ---------------
# Major number 82
# ---------------

create_dev_range   winradio    82      0    c     4   660     root:video

# ---------------
# Major number 83
# ---------------

create_dev         vtx         83      0    c     1   660     root:video
create_dev         vttuner     83     16    c     1   660     root:video

# ---------------
# Major number 86
# ---------------

create_dev_range   sch         86      0    c     8   660     root:disk

# ---------------
# Major number 88
# ---------------

create_dev         hdm         88      0    b     1   660     root:disk
create_dev         hdn         88     64    b     1   660     root:disk

create_dev_range1  hdm         88      0    b    64   660     root:disk
create_dev_range1  hdn         88     64    b    64   660     root:disk

# ---------------
# Major number 89
# ---------------

create_dev_range   i2c-        89      0    c    32   660     root:root

create_dev         hdo         89      0    b     1   660     root:disk
create_dev         hdp         89     64    b     1   660     root:disk

create_dev_range1  hdo         89      0    b    64   660     root:disk
create_dev_range1  hdp         89     64    b    64   660     root:disk

# ---------------
# Major number 90
# ---------------

create_dev         hdq         90      0    b     1   660     root:disk
create_dev         hdr         90     64    b     1   660     root:disk

create_dev_range1  hdq         90      0    b    64   660     root:disk
create_dev_range1  hdr         90     64    b    64   660     root:disk

# ---------------
# Major number 91
# ---------------

create_dev         hds         91      0    b     1   660     root:disk
create_dev         hdt         91     64    b     1   660     root:disk

create_dev_range1  hds         91      0    b    64   660     root:disk
create_dev_range1  hdt         91     64    b    64   660     root:disk

# ---------------
# Major number 94
# ---------------

else # arch!=s390 / arch=s390

# Following dasd lines created by print_dasd_lines.sh

create_dev         dasda       94      0    b     1   660     root:disk
create_dev_range1  dasda       94      0    b     4   660     root:disk
create_dev         dasdb       94      4    b     1   660     root:disk
create_dev_range1  dasdb       94      4    b     4   660     root:disk
create_dev         dasdc       94      8    b     1   660     root:disk
create_dev_range1  dasdc       94      8    b     4   660     root:disk
create_dev         dasdd       94     12    b     1   660     root:disk
create_dev_range1  dasdd       94     12    b     4   660     root:disk
create_dev         dasde       94     16    b     1   660     root:disk
create_dev_range1  dasde       94     16    b     4   660     root:disk
create_dev         dasdf       94     20    b     1   660     root:disk
create_dev_range1  dasdf       94     20    b     4   660     root:disk
create_dev         dasdg       94     24    b     1   660     root:disk
create_dev_range1  dasdg       94     24    b     4   660     root:disk
create_dev         dasdh       94     28    b     1   660     root:disk
create_dev_range1  dasdh       94     28    b     4   660     root:disk
create_dev         dasdi       94     32    b     1   660     root:disk
create_dev_range1  dasdi       94     32    b     4   660     root:disk
create_dev         dasdj       94     36    b     1   660     root:disk
create_dev_range1  dasdj       94     36    b     4   660     root:disk
create_dev         dasdk       94     40    b     1   660     root:disk
create_dev_range1  dasdk       94     40    b     4   660     root:disk
create_dev         dasdl       94     44    b     1   660     root:disk
create_dev_range1  dasdl       94     44    b     4   660     root:disk
create_dev         dasdm       94     48    b     1   660     root:disk
create_dev_range1  dasdm       94     48    b     4   660     root:disk
create_dev         dasdn       94     52    b     1   660     root:disk
create_dev_range1  dasdn       94     52    b     4   660     root:disk
create_dev         dasdo       94     56    b     1   660     root:disk
create_dev_range1  dasdo       94     56    b     4   660     root:disk
create_dev         dasdp       94     60    b     1   660     root:disk
create_dev_range1  dasdp       94     60    b     4   660     root:disk
create_dev         dasdq       94     64    b     1   660     root:disk
create_dev_range1  dasdq       94     64    b     4   660     root:disk
create_dev         dasdr       94     68    b     1   660     root:disk
create_dev_range1  dasdr       94     68    b     4   660     root:disk
create_dev         dasds       94     72    b     1   660     root:disk
create_dev_range1  dasds       94     72    b     4   660     root:disk
create_dev         dasdt       94     76    b     1   660     root:disk
create_dev_range1  dasdt       94     76    b     4   660     root:disk
create_dev         dasdu       94     80    b     1   660     root:disk
create_dev_range1  dasdu       94     80    b     4   660     root:disk
create_dev         dasdv       94     84    b     1   660     root:disk
create_dev_range1  dasdv       94     84    b     4   660     root:disk
create_dev         dasdw       94     88    b     1   660     root:disk
create_dev_range1  dasdw       94     88    b     4   660     root:disk
create_dev         dasdx       94     92    b     1   660     root:disk
create_dev_range1  dasdx       94     92    b     4   660     root:disk
create_dev         dasdy       94     96    b     1   660     root:disk
create_dev_range1  dasdy       94     96    b     4   660     root:disk
create_dev         dasdz       94     100    b     1   660     root:disk
create_dev_range1  dasdz       94     100    b     4   660     root:disk
fi # arch=s390

# ---------------
# Major number 95
# ---------------

create_dev         ipl         95      0    c     1   600     root:root
create_dev         ipnat       95      1    c     1   600     root:root
create_dev         ipstate     95      2    c     1   600     root:root
create_dev         ipauth      95      3    c     1   600     root:root

# ---------------
# Major number 96
# ---------------

if [ "$RPM_ARCH" != s390 ]; then

create_dev_range   pt          96      0    c     4   660     root:disk
create_dev_range   npt         96    128    c     4   660     root:disk

# ---------------
# Major number 97
# ---------------

create_dev_range   pg          97      0    c     4   660     root:disk

# ---------------
# Major number 98
# ---------------

create_dev         ubda        98      0    b     1   660     root:disk
create_dev_range   ubda        98      0    b    16   660     root:disk
create_dev         ubdb        98     16    b     1   660     root:disk
create_dev_range   ubdb        98     16    b    16   660     root:disk
create_dev         ubdc        98     32    b     1   660     root:disk
create_dev_range   ubdc        98     32    b    16   660     root:disk
create_dev         ubdd        98     48    b     1   660     root:disk
create_dev_range   ubdd        98     48    b    16   660     root:disk

# ---------------
# Major number 99
# ---------------

create_dev_range   parport     99      0    c     4   660     root:root

# ----------------
# Major number 100
# ----------------

create_dev_range   phone      100      0    c     4   660     root:audio

# --------------------
# Major number 102
# --------------------

create_dev         cbd/a      102      0    b     1   660     root:disk
create_dev_range1  cbd/a      102      0    b     16  660     root:disk
create_dev         cbd/b      102      16   b     1   660     root:disk
create_dev_range1  cbd/b      102      16   b     16  660     root:disk
create_dev         cbd/c      102      32   b     1   660     root:disk
create_dev_range1  cbd/c      102      32   b     16  660     root:disk
create_dev         cbd/d      102      48   b     1   660     root:disk
create_dev_range1  cbd/d      102      48   b     16  660     root:disk

# --------------------
# Major number 104-111
# --------------------

create_cciss 0
create_cciss 1
create_cciss 2
create_cciss 3
create_cciss 4
create_cciss 5
create_cciss 6
create_cciss 7

# ----------------
# Major number 107
# ----------------

create_dev         3dfx       107      0    c     1   660     root:video
else
create_dev         cpcmd      107      8    c     1   660     root:root
fi # "$RPM_ARCH" != s390

# ----------------
# Major number 108
# ----------------

create_dev         ppp        108      0    c     1   660     root:root

if [ "$RPM_ARCH" = ppc -o "$RPM_ARCH" = ppc64 ]; then

# ----------------
# Major number 112
# ----------------

create_iseries_vd 112

# ----------------
# Major number 113
# ----------------

create_dev         iseries/vcda 113    0    b     1   660     root:disk
create_dev         iseries/vcdb 113    1    b     1   660     root:disk
create_dev         iseries/vcdc 113    2    b     1   660     root:disk
create_dev         iseries/vcdd 113    3    b     1   660     root:disk
create_dev         iseries/vcde 113    4    b     1   660     root:disk
create_dev         iseries/vcdf 113    5    b     1   660     root:disk
create_dev         iseries/vcdg 113    6    b     1   660     root:disk
create_dev         iseries/vcdh 113    7    b     1   660     root:disk

fi

if [ "$RPM_ARCH" != s390 ]; then

# ----------------
# Major number 116
# ----------------

if [ ! -d $DEV/snd ]; then
	mkdir $DEV/snd
fi

for i in 0 1 2 3 4 5 6 7
do
	create_alsa $i 116 660 root:audio
done

create_dev         snd/seq    116      1    c     1   660     root:audio
create_dev         snd/timer  116     33    c     1   660     root:audio

create_dev         aloadC0    116      0    c     1   660     root:audio
create_dev         aloadSEQ   116      1    c     1   660     root:audio
create_dev         aloadC1    116     32    c     1   660     root:audio
create_dev         aloadC2    116     64    c     1   660     root:audio
create_dev         aloadC3    116     96    c     1   660     root:audio

fi # "$RPM_ARCH" != s390

# ----------------
# Major number 117
# ----------------

create_dev  evms/block_device 117      0    b     1   660     root:disk

# ----------------
# Major number 128
# ----------------

create_dev         sddy       128      0    b     1   660     root:disk
create_dev_range1  sddy       128      0    b    16   660     root:disk
create_dev         sddz       128     16    b     1   660     root:disk
create_dev_range1  sddz       128     16    b    16   660     root:disk
create_dev         sdea       128     32    b     1   660     root:disk
create_dev_range1  sdea       128     32    b    16   660     root:disk
create_dev         sdeb       128     48    b     1   660     root:disk
create_dev_range1  sdeb       128     48    b    16   660     root:disk
create_dev         sdec       128     64    b     1   660     root:disk
create_dev_range1  sdec       128     64    b    16   660     root:disk
create_dev         sded       128     80    b     1   660     root:disk
create_dev_range1  sded       128     80    b    16   660     root:disk
create_dev         sdee       128     96    b     1   660     root:disk
create_dev_range1  sdee       128     96    b    16   660     root:disk
create_dev         sdef       128    112    b     1   660     root:disk
create_dev_range1  sdef       128    112    b    16   660     root:disk
create_dev         sdeg       128    128    b     1   660     root:disk
create_dev_range1  sdeg       128    128    b    16   660     root:disk
create_dev         sdeh       128    144    b     1   660     root:disk
create_dev_range1  sdeh       128    144    b    16   660     root:disk
create_dev         sdei       128    160    b     1   660     root:disk
create_dev_range1  sdei       128    160    b    16   660     root:disk
create_dev         sdej       128    176    b     1   660     root:disk
create_dev_range1  sdej       128    176    b    16   660     root:disk
create_dev         sdek       128    192    b     1   660     root:disk
create_dev_range1  sdek       128    192    b    16   660     root:disk
create_dev         sdel       128    208    b     1   660     root:disk
create_dev_range1  sdel       128    208    b    16   660     root:disk
create_dev         sdem       128    224    b     1   660     root:disk
create_dev_range1  sdem       128    224    b    16   660     root:disk
create_dev         sden       128    240    b     1   660     root:disk
create_dev_range1  sden       128    240    b    16   660     root:disk

# ----------------
# Major number 129
# ----------------

create_dev         sdeo       129      0    b     1   660     root:disk
create_dev_range1  sdeo       129      0    b    16   660     root:disk
create_dev         sdep       129     16    b     1   660     root:disk
create_dev_range1  sdep       129     16    b    16   660     root:disk
create_dev         sdeq       129     32    b     1   660     root:disk
create_dev_range1  sdeq       129     32    b    16   660     root:disk
create_dev         sder       129     48    b     1   660     root:disk
create_dev_range1  sder       129     48    b    16   660     root:disk
create_dev         sdes       129     64    b     1   660     root:disk
create_dev_range1  sdes       129     64    b    16   660     root:disk
create_dev         sdet       129     80    b     1   660     root:disk
create_dev_range1  sdet       129     80    b    16   660     root:disk
create_dev         sdeu       129     96    b     1   660     root:disk
create_dev_range1  sdeu       129     96    b    16   660     root:disk
create_dev         sdev       129    112    b     1   660     root:disk
create_dev_range1  sdev       129    112    b    16   660     root:disk
create_dev         sdew       129    128    b     1   660     root:disk
create_dev_range1  sdew       129    128    b    16   660     root:disk
create_dev         sdex       129    144    b     1   660     root:disk
create_dev_range1  sdex       129    144    b    16   660     root:disk
create_dev         sdey       129    160    b     1   660     root:disk
create_dev_range1  sdey       129    160    b    16   660     root:disk
create_dev         sdez       129    176    b     1   660     root:disk
create_dev_range1  sdez       129    176    b    16   660     root:disk
create_dev         sdfa       129    192    b     1   660     root:disk
create_dev_range1  sdfa       129    192    b    16   660     root:disk
create_dev         sdfb       129    208    b     1   660     root:disk
create_dev_range1  sdfb       129    208    b    16   660     root:disk
create_dev         sdfc       129    224    b     1   660     root:disk
create_dev_range1  sdfc       129    224    b    16   660     root:disk
create_dev         sdfd       129    240    b     1   660     root:disk
create_dev_range1  sdfd       129    240    b    16   660     root:disk

# ----------------
# Major number 130
# ----------------

create_dev         sdfe       130      0    b     1   660     root:disk
create_dev_range1  sdfe       130      0    b    16   660     root:disk
create_dev         sdff       130     16    b     1   660     root:disk
create_dev_range1  sdff       130     16    b    16   660     root:disk
create_dev         sdfg       130     32    b     1   660     root:disk
create_dev_range1  sdfg       130     32    b    16   660     root:disk
create_dev         sdfh       130     48    b     1   660     root:disk
create_dev_range1  sdfh       130     48    b    16   660     root:disk
create_dev         sdfi       130     64    b     1   660     root:disk
create_dev_range1  sdfi       130     64    b    16   660     root:disk
create_dev         sdfj       130     80    b     1   660     root:disk
create_dev_range1  sdfj       130     80    b    16   660     root:disk
create_dev         sdfk       130     96    b     1   660     root:disk
create_dev_range1  sdfk       130     96    b    16   660     root:disk
create_dev         sdfl       130    112    b     1   660     root:disk
create_dev_range1  sdfl       130    112    b    16   660     root:disk
create_dev         sdfm       130    128    b     1   660     root:disk
create_dev_range1  sdfm       130    128    b    16   660     root:disk
create_dev         sdfn       130    144    b     1   660     root:disk
create_dev_range1  sdfn       130    144    b    16   660     root:disk
create_dev         sdfo       130    160    b     1   660     root:disk
create_dev_range1  sdfo       130    160    b    16   660     root:disk
create_dev         sdfp       130    176    b     1   660     root:disk
create_dev_range1  sdfp       130    176    b    16   660     root:disk
create_dev         sdfq       130    192    b     1   660     root:disk
create_dev_range1  sdfq       130    192    b    16   660     root:disk
create_dev         sdfr       130    208    b     1   660     root:disk
create_dev_range1  sdfr       130    208    b    16   660     root:disk
create_dev         sdfs       130    224    b     1   660     root:disk
create_dev_range1  sdfs       130    224    b    16   660     root:disk
create_dev         sdft       130    240    b     1   660     root:disk
create_dev_range1  sdft       130    240    b    16   660     root:disk

# ----------------
# Major number 131
# ----------------

create_dev         sdfu       131      0    b     1   660     root:disk
create_dev_range1  sdfu       131      0    b    16   660     root:disk
create_dev         sdfv       131     16    b     1   660     root:disk
create_dev_range1  sdfv       131     16    b    16   660     root:disk
create_dev         sdfw       131     32    b     1   660     root:disk
create_dev_range1  sdfw       131     32    b    16   660     root:disk
create_dev         sdfx       131     48    b     1   660     root:disk
create_dev_range1  sdfx       131     48    b    16   660     root:disk
create_dev         sdfy       131     64    b     1   660     root:disk
create_dev_range1  sdfy       131     64    b    16   660     root:disk
create_dev         sdfz       131     80    b     1   660     root:disk
create_dev_range1  sdfz       131     80    b    16   660     root:disk
create_dev         sdga       131     96    b     1   660     root:disk
create_dev_range1  sdga       131     96    b    16   660     root:disk
create_dev         sdgb       131    112    b     1   660     root:disk
create_dev_range1  sdgb       131    112    b    16   660     root:disk
create_dev         sdgc       131    128    b     1   660     root:disk
create_dev_range1  sdgc       131    128    b    16   660     root:disk
create_dev         sdgd       131    144    b     1   660     root:disk
create_dev_range1  sdgd       131    144    b    16   660     root:disk
create_dev         sdge       131    160    b     1   660     root:disk
create_dev_range1  sdge       131    160    b    16   660     root:disk
create_dev         sdgf       131    176    b     1   660     root:disk
create_dev_range1  sdgf       131    176    b    16   660     root:disk
create_dev         sdgg       131    192    b     1   660     root:disk
create_dev_range1  sdgg       131    192    b    16   660     root:disk
create_dev         sdgh       131    208    b     1   660     root:disk
create_dev_range1  sdgh       131    208    b    16   660     root:disk
create_dev         sdgi       131    224    b     1   660     root:disk
create_dev_range1  sdgi       131    224    b    16   660     root:disk
create_dev         sdgj       131    240    b     1   660     root:disk
create_dev_range1  sdgj       131    240    b    16   660     root:disk

# ----------------
# Major number 132
# ----------------

create_dev         sdgk       132      0    b     1   660     root:disk
create_dev_range1  sdgk       132      0    b    16   660     root:disk
create_dev         sdgl       132     16    b     1   660     root:disk
create_dev_range1  sdgl       132     16    b    16   660     root:disk
create_dev         sdgm       132     32    b     1   660     root:disk
create_dev_range1  sdgm       132     32    b    16   660     root:disk
create_dev         sdgn       132     48    b     1   660     root:disk
create_dev_range1  sdgn       132     48    b    16   660     root:disk
create_dev         sdgo       132     64    b     1   660     root:disk
create_dev_range1  sdgo       132     64    b    16   660     root:disk
create_dev         sdgp       132     80    b     1   660     root:disk
create_dev_range1  sdgp       132     80    b    16   660     root:disk
create_dev         sdgq       132     96    b     1   660     root:disk
create_dev_range1  sdgq       132     96    b    16   660     root:disk
create_dev         sdgr       132    112    b     1   660     root:disk
create_dev_range1  sdgr       132    112    b    16   660     root:disk
create_dev         sdgs       132    128    b     1   660     root:disk
create_dev_range1  sdgs       132    128    b    16   660     root:disk
create_dev         sdgt       132    144    b     1   660     root:disk
create_dev_range1  sdgt       132    144    b    16   660     root:disk
create_dev         sdgu       132    160    b     1   660     root:disk
create_dev_range1  sdgu       132    160    b    16   660     root:disk
create_dev         sdgv       132    176    b     1   660     root:disk
create_dev_range1  sdgv       132    176    b    16   660     root:disk
create_dev         sdgw       132    192    b     1   660     root:disk
create_dev_range1  sdgw       132    192    b    16   660     root:disk
create_dev         sdgx       132    208    b     1   660     root:disk
create_dev_range1  sdgx       132    208    b    16   660     root:disk
create_dev         sdgy       132    224    b     1   660     root:disk
create_dev_range1  sdgy       132    224    b    16   660     root:disk
create_dev         sdgz       132    240    b     1   660     root:disk
create_dev_range1  sdgz       132    240    b    16   660     root:disk

# ----------------
# Major number 133
# ----------------

create_dev         sdha       133      0    b     1   660     root:disk
create_dev_range1  sdha       133      0    b    16   660     root:disk
create_dev         sdhb       133     16    b     1   660     root:disk
create_dev_range1  sdhb       133     16    b    16   660     root:disk
create_dev         sdhc       133     32    b     1   660     root:disk
create_dev_range1  sdhc       133     32    b    16   660     root:disk
create_dev         sdhd       133     48    b     1   660     root:disk
create_dev_range1  sdhd       133     48    b    16   660     root:disk
create_dev         sdhe       133     64    b     1   660     root:disk
create_dev_range1  sdhe       133     64    b    16   660     root:disk
create_dev         sdhf       133     80    b     1   660     root:disk
create_dev_range1  sdhf       133     80    b    16   660     root:disk
create_dev         sdhg       133     96    b     1   660     root:disk
create_dev_range1  sdhg       133     96    b    16   660     root:disk
create_dev         sdhh       133    112    b     1   660     root:disk
create_dev_range1  sdhh       133    112    b    16   660     root:disk
create_dev         sdhi       133    128    b     1   660     root:disk
create_dev_range1  sdhi       133    128    b    16   660     root:disk
create_dev         sdhj       133    144    b     1   660     root:disk
create_dev_range1  sdhj       133    144    b    16   660     root:disk
create_dev         sdhk       133    160    b     1   660     root:disk
create_dev_range1  sdhk       133    160    b    16   660     root:disk
create_dev         sdhl       133    176    b     1   660     root:disk
create_dev_range1  sdhl       133    176    b    16   660     root:disk
create_dev         sdhm       133    192    b     1   660     root:disk
create_dev_range1  sdhm       133    192    b    16   660     root:disk
create_dev         sdhn       133    208    b     1   660     root:disk
create_dev_range1  sdhn       133    208    b    16   660     root:disk
create_dev         sdho       133    224    b     1   660     root:disk
create_dev_range1  sdho       133    224    b    16   660     root:disk
create_dev         sdhp       133    240    b     1   660     root:disk
create_dev_range1  sdhp       133    240    b    16   660     root:disk

# ----------------
# Major number 134
# ----------------

create_dev         sdhq       134      0    b     1   660     root:disk
create_dev_range1  sdhq       134      0    b    16   660     root:disk
create_dev         sdhr       134     16    b     1   660     root:disk
create_dev_range1  sdhr       134     16    b    16   660     root:disk
create_dev         sdhs       134     32    b     1   660     root:disk
create_dev_range1  sdhs       134     32    b    16   660     root:disk
create_dev         sdht       134     48    b     1   660     root:disk
create_dev_range1  sdht       134     48    b    16   660     root:disk
create_dev         sdhu       134     64    b     1   660     root:disk
create_dev_range1  sdhu       134     64    b    16   660     root:disk
create_dev         sdhv       134     80    b     1   660     root:disk
create_dev_range1  sdhv       134     80    b    16   660     root:disk
create_dev         sdhw       134     96    b     1   660     root:disk
create_dev_range1  sdhw       134     96    b    16   660     root:disk
create_dev         sdhx       134    112    b     1   660     root:disk
create_dev_range1  sdhx       134    112    b    16   660     root:disk
create_dev         sdhy       134    128    b     1   660     root:disk
create_dev_range1  sdhy       134    128    b    16   660     root:disk
create_dev         sdhz       134    144    b     1   660     root:disk
create_dev_range1  sdhz       134    144    b    16   660     root:disk
create_dev         sdia       134    160    b     1   660     root:disk
create_dev_range1  sdia       134    160    b    16   660     root:disk
create_dev         sdib       134    176    b     1   660     root:disk
create_dev_range1  sdib       134    176    b    16   660     root:disk
create_dev         sdic       134    192    b     1   660     root:disk
create_dev_range1  sdic       134    192    b    16   660     root:disk
create_dev         sdid       134    208    b     1   660     root:disk
create_dev_range1  sdid       134    208    b    16   660     root:disk
create_dev         sdie       134    224    b     1   660     root:disk
create_dev_range1  sdie       134    224    b    16   660     root:disk
create_dev         sdif       134    240    b     1   660     root:disk
create_dev_range1  sdif       134    240    b    16   660     root:disk

# ----------------
# Major number 135
# ----------------

create_dev         sdig       135      0    b     1   660     root:disk
create_dev_range1  sdig       135      0    b    16   660     root:disk
create_dev         sdih       135     16    b     1   660     root:disk
create_dev_range1  sdih       135     16    b    16   660     root:disk
create_dev         sdii       135     32    b     1   660     root:disk
create_dev_range1  sdii       135     32    b    16   660     root:disk
create_dev         sdij       135     48    b     1   660     root:disk
create_dev_range1  sdij       135     48    b    16   660     root:disk
create_dev         sdik       135     64    b     1   660     root:disk
create_dev_range1  sdik       135     64    b    16   660     root:disk
create_dev         sdil       135     80    b     1   660     root:disk
create_dev_range1  sdil       135     80    b    16   660     root:disk
create_dev         sdim       135     96    b     1   660     root:disk
create_dev_range1  sdim       135     96    b    16   660     root:disk
create_dev         sdin       135    112    b     1   660     root:disk
create_dev_range1  sdin       135    112    b    16   660     root:disk
create_dev         sdio       135    128    b     1   660     root:disk
create_dev_range1  sdio       135    128    b    16   660     root:disk
create_dev         sdip       135    144    b     1   660     root:disk
create_dev_range1  sdip       135    144    b    16   660     root:disk
create_dev         sdiq       135    160    b     1   660     root:disk
create_dev_range1  sdiq       135    160    b    16   660     root:disk
create_dev         sdir       135    176    b     1   660     root:disk
create_dev_range1  sdir       135    176    b    16   660     root:disk
create_dev         sdis       135    192    b     1   660     root:disk
create_dev_range1  sdis       135    192    b    16   660     root:disk
create_dev         sdit       135    208    b     1   660     root:disk
create_dev_range1  sdit       135    208    b    16   660     root:disk
create_dev         sdiu       135    224    b     1   660     root:disk
create_dev_range1  sdiu       135    224    b    16   660     root:disk
create_dev         sdiv       135    240    b     1   660     root:disk
create_dev_range1  sdiv       135    240    b    16   660     root:disk

# ----------------
# Major number 144
# ----------------

if [ $LOTS != "yes" ]; then
create_dev_range   pppox      144      0    c    16   660     root:uucp
else
create_dev_range   pppox      144      0    c    64   660     root:uucp
fi

# ----------------
# Major number 147
# ----------------

create_dev_range   drbd       147      0    b    16   660     root:root

if [ "$RPM_ARCH" != s390 ]; then

# ----------------
# Major number 151
# ----------------

create_dev_range   dpti       151      0    c     4   600     root:root

# ----------------
# Major number 161
# ----------------

create_dev_range   ircomm     161      0    c     4   660     root:uucp
create_dev_range   irlpt      161     16    c     4   660     root:lp

fi # "$RPM_ARCH" != s390

# ----------------
# Major number 162
# ----------------

create_dev         rawctl     162      0    c     1   660     root:disk
if [ $LOTS != "yes" ]; then
create_dev_range1  raw/raw    162      0    c    16   660     root:disk
else
create_dev_range1  raw/raw    162      0    c    64   660     root:disk
fi

if [ "$RPM_ARCH" != s390 ]; then

# ----------------
# Major number 166
# ----------------

create_dev_range   ttyACM     166      0    c     4   660     root:uucp

# ----------------
# Major number 171
# ----------------

create_dev         raw1394    171      0    c     1   660     root:root

create_dev         video1394  171     16    c     1   660     root:root

# ----------------
# Major number 180
# ----------------

create_dev_range   usblp      180      0    c     4   660     root:lp
create_dev         usbscanner 180     48    c     1   644     root:root

create_dev_range   usb/lp     180      0    c     8   660     root:lp
create_dev_range   usb/mouse  180     16    c     8   660     root:root
create_dev_range   usb/ez     180     32    c     8   660     root:root
create_dev_range   usb/scanner 180    48    c     8   660     root:root
create_dev         usb/rio500 180     64    c     1   660     root:root
create_dev_range   usb/dc2xx  180     80    c     8   660     root:root
create_dev_range   usb/hiddev 180     96    c    16   660     root:root
create_dev_range   usb/auer   180    112    c     8   666     root:root
create_dev_range   usb/dabusb 180    240    c     8   660     root:root

# ----------------
# Major number 188
# ----------------

create_dev_range   ttyUSB     188      0    c     4   660     root:uucp
create_dev_range   usb/ttyUSB 188      0    c    16   660     root:uucp

# ----------------
# Major number 194
# ----------------

create_dev         mvideo/status0 194  0    c     1   660     root:video
create_dev         mvideo/stream0 194  1    c     1   660     root:video
create_dev         mvideo/frame0  194  2    c     1   660     root:video
create_dev         mvideo/rawframe0 194 3   c     1   660     root:video
create_dev         mvideo/codec0  194  4    c     1   660     root:video
create_dev         mvideo/video4linux0 194 5 c    1   660     root:video

create_dev         mvideo/status1 194  16   c     1   660     root:video
create_dev         mvideo/stream1 194  17   c     1   660     root:video
create_dev         mvideo/frame1  194  18   c     1   660     root:video
create_dev         mvideo/rawframe1 194 19  c     1   660     root:video
create_dev         mvideo/codec1  194  20   c     1   660     root:video
create_dev         mvideo/video4linux1 194 21 c   1   660     root:video

# ----------------
# Major number 195
# ----------------

create_dev_range   nvidia     195      0    c     4   660     root:video
create_dev_range   nvidia0    195      0    c     4   660     root:video

create_dev         nvidiactl  195    255    c     1   660     root:video

# ----------------
# Major number 202
# ----------------

for i in 0 1 2 3 4 5 6 7
do
	mknod -m 600 $DEV/cpu/$i/msr c 202 $i
	chown root:root $DEV/cpu/$i/msr
done

# ----------------
# Major number 203
# ----------------

for i in 0 1 2 3 4 5 6 7
do
	mknod -m 444 $DEV/cpu/$i/cpuid c 203 $i
	chown root:root $DEV/cpu/$i/cpuid
done

# ----------------
# Major number 204
# ----------------

create_dev         ttySG0     204     40    c     1   660     root:tty

# ----------------
# Major number 206
# ----------------

create_dev_range   osst       206      0    c     4   660     root:disk
create_dev_range   nosst      206    128    c     4   660     root:disk

create_dev         osst0l     206     32    c     1   660     root:disk
create_dev         osst1l     206     33    c     1   660     root:disk
create_dev         osst2l     206     34    c     1   660     root:disk
create_dev         osst3l     206     35    c     1   660     root:disk

create_dev         osst0m     206     64    c     1   660     root:disk
create_dev         osst1m     206     65    c     1   660     root:disk
create_dev         osst2m     206     66    c     1   660     root:disk
create_dev         osst3m     206     67    c     1   660     root:disk

create_dev         osst0a     206     96    c     1   660     root:disk
create_dev         osst1a     206     97    c     1   660     root:disk
create_dev         osst2a     206     98    c     1   660     root:disk
create_dev         osst3a     206     99    c     1   660     root:disk

create_dev         nosst0l    206    160    c     1   660     root:disk
create_dev         nosst1l    206    161    c     1   660     root:disk
create_dev         nosst2l    206    162    c     1   660     root:disk
create_dev         nosst3l    206    163    c     1   660     root:disk

create_dev         nosst0m    206    192    c     1   660     root:disk
create_dev         nosst1m    206    193    c     1   660     root:disk
create_dev         nosst2m    206    194    c     1   660     root:disk
create_dev         nosst3m    206    195    c     1   660     root:disk

create_dev         nosst0a    206    224    c     1   660     root:disk
create_dev         nosst1a    206    225    c     1   660     root:disk
create_dev         nosst2a    206    226    c     1   660     root:disk
create_dev         nosst3a    206    227    c     1   660     root:disk

# ----------------
# Major number 212
# ----------------
# for smartlink softmodem, package smartlink-softmodem:
# 212 is officially assigned to dvb devices
#create_dev         ttySL0     212    0      c     1   660     root:uucp
#create_dev_range   slamr      212    0      c     4   664     root:dialout
create_dev_range   slusb      213    0      c     4   664     root:dialout

if [ $RPM_ARCH != s390 ]; then

create_dev    dvb/adapter0/video0    212    0  c   1   660     root:video
create_dev    dvb/adapter0/audio0    212    1  c   1   660     root:video
create_dev    dvb/adapter0/frontend0 212    3  c   1   660     root:video
create_dev    dvb/adapter0/demux0    212    4  c   1   660     root:video
create_dev    dvb/adapter0/dvr0      212    5  c   1   660     root:video
create_dev    dvb/adapter0/ca0       212    6  c   1   660     root:video
create_dev    dvb/adapter0/net0      212    7  c   1   660     root:video
create_dev    dvb/adapter0/osd0      212    8  c   1   660     root:video

create_dev    dvb/adapter1/video0    212   64  c   1   660     root:video
create_dev    dvb/adapter1/audio0    212   65  c   1   660     root:video
create_dev    dvb/adapter1/frontend0 212   67  c   1   660     root:video
create_dev    dvb/adapter1/demux0    212   68  c   1   660     root:video
create_dev    dvb/adapter1/dvr0      212   69  c   1   660     root:video
create_dev    dvb/adapter1/ca0       212   70  c   1   660     root:video
create_dev    dvb/adapter1/net0      212   71  c   1   660     root:video
create_dev    dvb/adapter1/osd0      212   72  c   1   660     root:video

create_dev    dvb/adapter2/video0    212  128  c   1   660     root:video
create_dev    dvb/adapter2/audio0    212  129  c   1   660     root:video
create_dev    dvb/adapter2/frontend0 212  131  c   1   660     root:video
create_dev    dvb/adapter2/demux0    212  132  c   1   660     root:video
create_dev    dvb/adapter2/dvr0      212  133  c   1   660     root:video
create_dev    dvb/adapter2/ca0       212  134  c   1   660     root:video
create_dev    dvb/adapter2/net0      212  135  c   1   660     root:video
create_dev    dvb/adapter2/osd0      212  136  c   1   660     root:video

create_dev    dvb/adapter3/video0    212  192  c   1   660     root:video
create_dev    dvb/adapter3/audio0    212  193  c   1   660     root:video
create_dev    dvb/adapter3/frontend0 212  195  c   1   660     root:video
create_dev    dvb/adapter3/demux0    212  196  c   1   660     root:video
create_dev    dvb/adapter3/dvr0      212  197  c   1   660     root:video
create_dev    dvb/adapter3/ca0       212  198  c   1   660     root:video
create_dev    dvb/adapter3/net0      212  199  c   1   660     root:video
create_dev    dvb/adapter3/osd0      212  200  c   1   660     root:video

fi

# ----------------
# Major number 216
# ----------------

create_dev_range   ttyUB      216    0      c     4   660     root:uucp

# ----------------
# Major number 217
# ----------------

create_dev_range   cuub       217    0      c     4   660     root:uucp

# ----------------
# Major number 226
# ----------------

create_dev_range   dri/card   226    0      c     2   660     root:video

fi # not s390

if [ "$RPM_ARCH" = s390 ]; then

# ----------------
# Major number 227
# ----------------
create_dev         3270/ttycons 227  1      c     1   600     root:root

# ----------------
# Major number 228
# ----------------
create_dev         3270/tub     228  0      c     1   666     root:root
create_dev         3270/tubcons 228  1      c     1   600     root:root

fi # only s390

if [ "$RPM_ARCH" = ppc -o "$RPM_ARCH" = ppc64 ]; then

# ----------------
# Major number 229
# ----------------

create_dev_range   iseries/vtty 229 0      c     8   660     root:uucp
# p690 hvc console
create_dev_range   hvc          229 0      c     2   660     root:uucp
# Power5 direct serial console
create_dev_range   hvsi         229 128    c     4   660     root:uucp

# ----------------
# Major number 230
# ----------------

create_dev         iseries/vt0  230   0     c     1   660     root:disk
create_dev         iseries/vt1  230   1     c     1   660     root:disk
create_dev         iseries/vt2  230   2     c     1   660     root:disk
create_dev         iseries/vt3  230   3     c     1   660     root:disk
create_dev         iseries/vt4  230   4     c     1   660     root:disk
create_dev         iseries/vt5  230   5     c     1   660     root:disk
create_dev         iseries/vt6  230   6     c     1   660     root:disk
create_dev         iseries/vt7  230   7     c     1   660     root:disk
create_dev         iseries/vt8  230   8     c     1   660     root:disk
create_dev         iseries/vt9  230   9     c     1   660     root:disk
create_dev         iseries/vt10 230   10    c     1   660     root:disk
create_dev         iseries/vt11 230   11    c     1   660     root:disk
create_dev         iseries/vt12 230   12    c     1   660     root:disk

create_dev         iseries/vt0l 230   32    c     1   660     root:disk
create_dev         iseries/vt1l 230   33    c     1   660     root:disk

create_dev         iseries/vt0m 230   64    c     1   660     root:disk
create_dev         iseries/vt1m 230   65    c     1   660     root:disk

create_dev         iseries/vt0a 230   96    c     1   660     root:disk
create_dev         iseries/vt1a 230   97    c     1   660     root:disk

create_dev         iseries/nvt0  230  128    c     1   660     root:disk
create_dev         iseries/nvt1  230  129    c     1   660     root:disk

create_dev         iseries/nvt0l 230  160    c     1   660     root:disk
create_dev         iseries/nvt1l 230  161    c     1   660     root:disk

create_dev         iseries/nvt0m 230  192    c     1   660     root:disk
create_dev         iseries/nvt1m 230  193    c     1   660     root:disk

create_dev         iseries/nvt0a 230  224    c     1   660     root:disk
create_dev         iseries/nvt1a 230  225    c     1   660     root:disk

# ----------------
# Major number 245 (fun)
# ----------------

create_dev_range   iseries/ibmsis 245  0     b    16   660     root:disk

fi # ppc or ppc64

# ----------------
# Major number 240 (fun)
# ----------------
case "$RPM_ARCH" in
	i?86)
# Intel-536ep.rpm
create_dev    536ep    240    1  c   1   660     root:dialout
	;;
esac

# ----------------
# Major number 249 (fun)
# ----------------

create_dev    mipv6_dev 249   0  c   1   600     root:root

fi # if [ -z "$VIRTUOZZO" ]

#########################################################################
# Hard links
#########################################################################


#########################################################################
# Symbolic links
#########################################################################

#create_symlink   /proc/kcore       $DEV/core
#if [ "$RPM_ARCH" != s390 ]; then
#create_symlink   /proc/asound/oss/sndstat  $DEV/sndstat
#create_symlink   dsp0              $DEV/dsp
#create_symlink   mixer0            $DEV/mixer
#fi
#create_symlink   ram0              $DEV/ram
#create_symlink   ram0              $DEV/ramdisk
#if [ "$RPM_ARCH" != s390 ]; then
#create_symlink   isdnctrl0         $DEV/isdnctrl
#fi
create_symlink   /proc/self/fd     $DEV/fd
create_symlink   /proc/self/fd/0   $DEV/stdin
create_symlink   /proc/self/fd/1   $DEV/stdout
create_symlink   /proc/self/fd/2   $DEV/stderr
#create_symlink   st0               $DEV/rmt0
#create_symlink   nst0              $DEV/nrmt0
#if [ "$RPM_ARCH" != s390 ]; then
#create_symlink   qft0              $DEV/ftape
#create_symlink   nqft0             $DEV/nftape
#create_symlink   video0            $DEV/bttv0
#create_symlink   video0            $DEV/bttv
#create_symlink   video0            $DEV/video
#create_symlink   radio0            $DEV/radio
#create_symlink   radio0            $DEV/bttv-fm
#create_symlink   vbi0              $DEV/vbi
#create_symlink   adsp0             $DEV/adsp
#create_symlink   amidi0            $DEV/amidi
#create_symlink   midi00            $DEV/midi
#create_symlink   fb0               $DEV/fb
#fi
create_symlink   null              $DEV/X0R
create_symlink   socksys           $DEV/nfsd

#########################################################################
# Misc
#########################################################################

#mkfifo -m 0640 $DEV/blog

#mknod -m 0600 dev/xconsole p
#chown root:tty dev/xconsole
