blob: 1e14167b8c69c628e2ab2830a7cf534dbe08dbd8 [file] [log] [blame]
.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
.\" May be distributed under the GNU General Public License
.\" Modified with suggestions from Linus, Mon Feb 1 21:40:49 1993
.\" Modified with patches from Kai, Wed Jun 22 21:54:56 1994
.\" Patches from jaggy@purplet.demon.co.uk (Mike Jagdis), Wed Feb 8 1995
.\" Added comments from Nick Holloway, Sat Feb 11 1995, faith@cs.unc.edu
.\" "
.TH MKSWAP 8 "February 1995" "Linux 1.0" "Linux Programmer's Manual"
.SH NAME
mkswap \- set up a Linux swap area
.SH SYNOPSIS
.B "mkswap [ \-c ]"
.IB device " [" size-in-blocks "]"
.SH DESCRIPTION
.B mkswap
sets up a Linux swap area on a device or in a file.
The
.I device
is usually of the following form:
.nf
.RS
/dev/hda[1-8]
/dev/hdb[1-8]
/dev/sda[1-8]
/dev/sdb[1-8]
.RE
.fi
The
.I size-in-blocks
parameter is the desired size of the file system, in blocks. This
information is determined automatically by
.B mkswap
if it is omitted. Block counts are rounded down so that the total
size is an integer multiple of the machine's page size. Only block
counts in the range MINCOUNT..MAXCOUNT are allowed. If the block count
exceeds the MAXCOUNT, it is truncated to that value and a warning
message is issued.
The MINCOUNT and MAXCOUNT values for a swap area are:
.RS
MINCOUNT = 10 * PAGE_SIZE / 1024
.br
MAXCOUNT = (PAGE_SIZE - 10) * 8 * PAGE_SIZE / 1024
.RE
For example, on a machine with 4kB pages (e.g., x86), we get:
.RS
MINCOUNT = 10 * 4096 / 1024 = 40
.br
MAXCOUNT = (4096 - 10) * 8 * 4096 / 1024 = 130752
.RE
As each block is 1kB large, the swap area in this example could have a
size that is anywhere in the range from 40kB up to 127.6875MB.
If you don't know the page size that your machine uses, you may be
able to look it up with "cat /proc/cpuinfo".
The reason for the limit on MAXCOUNT is that a single page is used to
hold the swap bitmap at the start of the swap area, where each bit
represents a single page. The reason for the -10, is that the
signature is "SWAP-SPACE" -- 10 characters.
To setup a swap file, it is necessary to create that file before
running
.B mkswap .
A sequence of commands similar to the following is reasonable for this
purpose:
.nf
.RS
# dd if=/dev/zero of=swapfile bs=1024 count=8192
# mkswap swapfile 8192
# sync
# swapon swapfile
.RE
.fi
Note that a swap file must not contain any holes (so, using
.BR cp (1)
to create the file is not acceptable).
.SH OPTIONS
.TP
.B \-c
Check the device for bad blocks before creating the file system. If any
are found, the count is printed. This option is meant to be used for swap
partitions
.BR only ,
and should
.B not
be used for regular files! To make sure that regular files do not contain
bad blocks, the partition that contains the regular file should have been
created with
.BR "mkfs -c" .
.SH "SEE ALSO"
.BR fsck (8),
.BR mkfs (8),
.BR fdisk (8)
.SH AUTHOR
Linus Torvalds (torvalds@cs.helsinki.fi)