home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1999 November
/
VPR9911B.ISO
/
misc
/
src
/
trees
/
mkmodules
< prev
next >
Wrap
Text File
|
1999-08-30
|
2KB
|
92 lines
#!/bin/sh
PATH=/sbin:$PATH
export PATH
DIR=../../../LASER5/instimage/modules
IMAGE=modules.img
SIZE=1000
FINALIMAGE=../../../images/modules.img
FINALSIZE=1440
MNTPOINT=/tmp/mkimage.mnt-$$
if [ "$1" != "-f" ]; then
if [ -f $IMAGE ]; then
echo "$IMAGE already exists." >&2
exit 1
fi
fi
mkdir -p `dirname $IMAGE`
rm -f $IMAGE.nogz
dd if=/dev/zero of=$IMAGE.nogz bs=1k count=$SIZE 2> /dev/null
for devnum in 0 1 2 3 4 5 6 7 8; do
if losetup /dev/loop$devnum $IMAGE.nogz 2>/dev/null ; then break; fi
done
if [ "$devnum" = "8" ]; then
rm -rf $MNTPOINT $IMAGE.nogz
echo "All of your loopback devices are in use!" >&2
exit 1
fi
LODEV=/dev/loop$devnum
mke2fs -i 16384 -m 0 $LODEV $SIZE >/dev/null 2>/dev/null
mkdir $MNTPOINT
mount -t ext2 $LODEV $MNTPOINT
(cd $DIR; tar cSpf - *) | (cd $MNTPOINT; tar xvSpf -)
df $MNTPOINT
umount $MNTPOINT
losetup -d $LODEV
rm -rf $MNTPOINT
gzip -9 < $IMAGE.nogz > $IMAGE
rm -f $IMAGE.nogz
# Start pass 2
if [ "$1" != "-f" ]; then
if [ -f $FINALIMAGE ]; then
echo "$FINALIMAGE already exists." >&2
exit 1
fi
fi
mkdir -p `dirname $FINALIMAGE`
rm -f $FINALIMAGE
dd if=/dev/zero of=$FINALIMAGE bs=1k count=$FINALSIZE 2> /dev/null
for devnum in 0 1 2 3 4 5 6 7 8; do
if losetup /dev/loop$devnum $FINALIMAGE 2>/dev/null ; then break; fi
done
if [ "$devnum" = "8" ]; then
rm -rf $MNTPOINT $FINALIMAGE
echo "All of your loopback devices are in use!" >&2
exit 1
fi
LODEV=/dev/loop$devnum
mke2fs -i 16384 -m 0 $LODEV $FINALSIZE >/dev/null 2>/dev/null
mkdir $MNTPOINT
mount -t ext2 $LODEV $MNTPOINT
cp $IMAGE $MNTPOINT/$IMAGE
rm $IMAGE
df $MNTPOINT
umount $MNTPOINT
losetup -d $LODEV
rm -rf $MNTPOINT