80 lines
2.1 KiB
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>
|