#!/bin/sh

# run for 2.2.x kernels only
if [ "`uname -r | grep '^2.2.'`" != "" ] || [ -f /var/state/userdevfs ]; then
    rm -rf $ROOT/dev/discs
    mkdir -p $ROOT/dev/discs
    lastdisc=0
    discnr=-1
    (sed -e '1,2d' -e 's/  */ /g' /proc/partitions) | while read line
    do
	major=$(echo $line|cut -d' ' -f 1)
	minor=$(echo $line|cut -d' ' -f 2)
	disc=$(echo $line|cut -d' ' -f 4)
	if [ $major -ne $lastdisc ]; then
	    discnr=$(( $discnr + 1 ))
	    mkdir -p $ROOT/dev/discs/disc$discnr
	    dir=`dirname $disc`
	    if [ "" != "$dir" ]; then
		mkdir -p $ROOT/dev/$dir
	    fi
	    if [ ! -e $ROOT/dev/$disc ]; then
		mknod $ROOT/dev/$disc b $major $minor
	    fi
	    ln -s $ROOT/dev/$disc $ROOT/dev/discs/disc$discnr/disc 
	else
	    if [ ! -e $ROOT/dev/$disc ]; then
		mknod $ROOT/dev/$disc b $major $minor
	    fi
	    ln -s $ROOT/dev/$disc $ROOT/dev/discs/disc$discnr/part$minor
	fi
	lastdisc=$major
    done
fi
