#!/bin/sh

MODULES="
3c509.o  8390.o   depca.o  eepro100.o  ne.o
3c59x.o  de4x5.o  dummy.o  epic100.o   tulip.o
"

DIR=ramdisk
ROOT=../../../
KERNELROOT=/tmp/updmodules.kernel-$$
MODROOT=/tmp/modules-$$

if [ $# != 2 ] ; then
	echo 'Usage: mkmodules <kernel version> <rpm tree>'
	exit 1
fi

if echo $1 | grep -e BOOT > /dev/null; then
    kversion=`echo $1 | sed 's/BOOT-//'`
    version=`echo ${kversion}BOOT`
else
    version=$1
fi

mkdir -p $KERNELROOT $MODROOT $DIR/modules
if [ ! -f $2/kernel-$1.alpha.rpm ]; then
	echo "$2/kernel-$1.sparc.rpm does not exist"
	exit
fi

rpm2cpio $2/kernel-$1.alpha.rpm | (cd $KERNELROOT; cpio -id)
for I in $MODULES; do
    cp $KERNELROOT/lib/modules/*/*/$I $MODROOT
done

(cd $MODROOT;
/sbin/depmod -m $KERNELROOT/boot/System.map-$version -i -e *.o | grep ':.*o' | sed 's/\.o//g')> $DIR/modules/modules.dep
    if grep "unresolved symbol" $DIR/modules/modules.dep; then
        echo "ERROR - Unresolved symbols in $I"
    else
        echo "done. "
    fi
( cd $MODROOT; ls $MODULES | cpio -oL -H crc) | gzip -9 > $DIR/modules/modules.cgz

cp -f $KERNELROOT/boot/vmlinuz-$version $ROOT/kernels/generic.gz
cp $ROOT/images/generic.img /tmp/generic.img.$$
mkdir -p /tmp/generic.$$
mount -oloop /tmp/generic.img.$$ /tmp/generic.$$
cp -f $KERNELROOT/boot/vmlinuz-$version /tmp/generic.$$/vmlinux.gz
df /tmp/generic.$$
umount /tmp/generic.$$
rm -rf /tmp/generic.$$
rm -f $ROOT/images/generic.img
mv /tmp/generic.img.$$ $ROOT/images/generic.img

rm -rf $KERNELROOT $MODROOT

