old-www/HOWTO/Swap-Space-9.html

80 lines
2.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Linux Swap Space Mini-HOWTO: The swapinit.sh script </TITLE>
<LINK HREF="Swap-Space-10.html" REL=next>
<LINK HREF="Swap-Space-8.html" REL=previous>
<LINK HREF="Swap-Space.html#toc9" REL=contents>
</HEAD>
<BODY>
<A HREF="Swap-Space-10.html">Next</A>
<A HREF="Swap-Space-8.html">Previous</A>
<A HREF="Swap-Space.html#toc9">Contents</A>
<HR>
<H2><A NAME="swapinit"></A> <A NAME="s9">9. The swapinit.sh script </A></H2>
<P>
This shell script initializes the swap space on the partition. The code for
signature detection has been repeated 6 times because many a times the
signature is properly detected only on the second or the third try.
<P>(Adapted from the original Swap-Space-HOWTO by H. Peter Anvin)
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/sh
#
# swapinit.sh - activate the swap partition
#
# written by Rahul U. Joshi
# Verify and initialize swap space
#
echo -n 'Verifying swap space... '
loopcount=0
# flag to indicate whether the partition has been activated or not
activated=0
# check for signatures 6 times before giving up
while [ $loopcount -lt 6 ]
do
if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" = 'SWAP-SPACE' ]; then
echo "Linux signature found, iteration $loopcount"
echo "Activating swap partitions"
swapon /dev/winswap
activated=1
break
elif [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=11 skip=43`" = 'SWAP SPACE ' ]; then
echo "DOS signature found, iteration $loopcount"
echo "Making swap partition"
mkswap /dev/winswap YYYYY
echo "Activating swap partitions"
swapon /dev/winswap
activated=1
break
else
let loopcount=loopcount+1
fi
done
if [ $activated -ne 1 ] ; then
echo "Swap signature not found after $loopcount tries"
echo "No swapping partitions activated"
exit 1
fi
</PRE>
</CODE></BLOCKQUOTE>
<HR>
<A HREF="Swap-Space-10.html">Next</A>
<A HREF="Swap-Space-8.html">Previous</A>
<A HREF="Swap-Space.html#toc9">Contents</A>
</BODY>
</HTML>