home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1999 November
/
VPR9911B.ISO
/
misc
/
src
/
trees
/
mkinitrd
< prev
next >
Wrap
Text File
|
1999-03-16
|
1KB
|
80 lines
#!/bin/sh
PATH=/sbin:$PATH
export PATH
BASEDIR=initrd
SIZE=2000
while [ -n "$1" ] ; do
case "$1" in
"local")
IMAGES="$IMAGES local"
shift
;;
"network")
IMAGES="$IMAGES network"
shift;
;;
-f)
FORCE=-f
shift;
;;
*)
echo "Useage:" >&2
echo "$0 [-f] [network] [local]" >&2
exit
;;
esac
done
if [ -z "$IMAGES" ]; then
IMAGES="local network"
fi
MNTPOINT=/tmp/mkimage.mnt-$$
for TARGET in $IMAGES; do
IMAGE=initrd-$TARGET.img
if [ "$FORCE" != "-f" ]; then
if [ -f $IMAGE ]; then
echo "$IMAGE already exists." >&2
continue;
fi
fi
rm -f /tmp/$IMAGE
dd if=/dev/zero of=/tmp/$IMAGE bs=1k count=$SIZE
mke2fs -i 8096 -q /tmp/$IMAGE $SIZE <<EOF
y
EOF
mkdir -p $MNTPOINT
mount -o loop -t ext2 /tmp/$IMAGE $MNTPOINT
(cd $BASEDIR; find . | cpio -vp $MNTPOINT)
(cd $TARGET; find . | cpio -vpud $MNTPOINT)
df $MNTPOINT
umount $MNTPOINT
mv -f /tmp/$IMAGE .
echo -n "gzipping image..."
mv $IMAGE $IMAGE.nogz
gzip -9 < $IMAGE.nogz > $IMAGE
echo " done."
rm -rf $MNTPOINT
size=`cat $IMAGE | wc -c`
filler=`expr 1474560 - $size`
if [ $TARGET = "local" ]; then
cp $IMAGE ../../../dosutils/autoboot/initrd.img
fi
done