Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\"	$NetBSD: scan_ffs.8,v 1.14 2007/05/01 21:41:52 xtraeme Exp $
.\"     OpenBSD: scan_ffs.8,v 1.13 2004/12/14 00:04:21 jmc Exp
.\"
.\" Copyright (c) 2005 Juan Romero Pardines
.\" Copyright (c) 1997 Niklas Hallqvist, Tobias Weingartner
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd May 1, 2007
.Dt SCAN_FFS 8
.Os
.Sh NAME
.Nm scan_ffs ,
.Nm scan_lfs
.Nd find FFSv1/FFSv2/LFS partitions on a disk or file
.Sh SYNOPSIS
.Nm
.Op Fl blv
.Op Fl e Ar end
.Op Fl F Ar file
.Op Fl s Ar start
.Ar device
.Sh DESCRIPTION
.Nm
will take a raw disk device that covers the whole disk or a file
and will find all possible FFSv[12]/LFS partitions, independent
of block sizes on it.
It will show the file system type (FFSv1, FFSv2, or LFS), size, and
offset.
Also it has an option to show the values with a disklabel-alike
output.
.Pp
The options are as follows:
.Bl -tag -width XXsXstartXX
.It Fl b
Report every superblock found with its sector address, rather than trying
to report the partition boundaries.
This option can be useful to find the other superblocks in a partition if
the first superblock has become corrupted.
It is most useful if
.Ar device
refers to the raw device for the partition, rather than the entire disk.
.It Fl e Ar end
Where to stop searching for file systems.
The
.Ar end
argument specifies the last sector that will be searched.
Default is the last sector of
.Ar device .
.It Fl F Ar file
Path to a file containing possible partitions inside of it.
.It Fl l
Print out a string looking much like the input to disklabel.
With a little massaging, this output can usually be used by
.Xr disklabel 8 .
.It Fl s Ar start
Where to start searching for file systems.
This makes it easier to skip swap
partitions or other large non-UFS/FFS partitions.
The
.Ar start
argument specifies the first sector that will be searched.
Default is the first sector of
.Ar device .
.It Fl v
Be verbose about what
.Nm
is doing, and what has been found.
.El
.Pp
The
.Ar device
argument specifies which device
.Nm
should scan for file systems.
.Pp
.Nm scan_lfs
is just another name for the same program, both behave in exactly
the same way.
.Sh SEE ALSO
.Xr disklabel 8
.Sh HISTORY
The
.Nm
program first appeared in
.Ox 2.3
and then in
.Nx 3.1 .
Support for searching in files was added in
.Nx 4.0 .
.Sh AUTHORS
.An -nosplit
.Nm
was written for
.Ox
by
.An Niklas Hallqvist
and
.An Tobias Weingartner .
It was ported to
.Nx
by
.An Juan Romero Pardines ,
who added support for LFS/FFSv2,
partitions with fragsize/blocksize greater than
2048/16384 for FFSv1, searching on files, etc.
.Sh BUGS
Currently
.Nm
won't find partitions with fragsize/blocksize greater than
8192/65536.