phpman > man > scsiformat(8)

Markdown | JSON | MCP    

scsiformat(8)                           Scsiinfo User's Guide                          scsiformat(8)



NAME
       scsiformat - low level format an scsi disk device

SYNOPSIS
       scsiformat [-options...] device

DESCRIPTION
       Low level formats the SCSI device identified by the scsi disk or generic scsi device node device.  You must be root to perform this operation.  scsiformat will ask a simple question  to
       get your confirmation and check if partitions on device are still mounted. Possible swap spa‐
       ces on device are swapoff(8)'ed prior to formatting.

       During formatting a file like /tmp/scsiformat.xx:xx:xx:xx:xxxxxxxx is used to hold some  sta‐
       tus information.


OPTIONS
       scsiformat supports the following option switches:


   a) Controlling a/synchronous operation
       -b n   block  during the format operation. This makes any display of real progress indicators
              impossible. However, cheesy SCSI devices   will need it. Scsiformat assumes  that  the
              operation will need about n seconds and provides some progress indication according to
              that.  -b0 does not print any process indication, just sits and blocks  until  format‐
              ting completes.

              Read the BUGS section below!


       -T     just  check  for a running format command and output statistics.  A file /tmp/scsiformat.*  is used to hold the starting time of the format operation. If  formatting  com‐
              pleted, this file is removed by the formatting scsiformat call (which forks of a child
              just for this purpose).  The exit state of scsiformat is true as long  as  the  format
              operation is still in progress. A left over /tmp/scsiformat.*  file will make scsifor‐
              mat think a program still runs. It will not accept and remove  files  older  than  48h
              nevertheless.


       -t n   check  progress  every  n seconds (default is 5).  -t0 makes scsiformat return without
              displaying progress.


   b) Interleave factor
       -i n   sets the sector interleave factor to be used. Usually you should stick  with  the  de‐
              fault -i0 which selects a vendor specific default.


   c) Initialisation pattern
       By  default the target will initialise the formatted sectors with a vendor specific test pat‐
       tern.


       -I sequence of bytes in hex
              the bytes given in hex characters are repeated and used to init all blocks on the  de‐
              vice.


       -L     The first four bytes of each logical block are set to the number of the logical block.

       -P     The first four bytes of each physical block are set to the number of logical block, it
              will occur in.


   c) Defect management
       -e     Erase the grown defect list prior to formatting. You can issue  new  defects  for  the
              grown defect list nevertheless and media certification may add defects too.


       -p     Ignore  the vendor's primary defect list. This is not recommended as the vendor proba‐
              bly had a reason to specify these primary defects.


       -c     Do not perform a media surface certification. This may speed up formatting but is also
              not recommended.


       -s     Stop  when unable to access primary or grown defects due to some internal error in the
              target device. When not given, formatting continues but returns a recovered error upon
              completion. (Which is probably not well supported by scsiformat).


       -S     Erase  MODE  SELECT  settings  stored in NVRAM. These are those you can set with scsi‐‐
              info(8) or scsi-config(8).


       -d int, ...
              A comma separated list of logical blocks to mark as defect. Using this  defect  format
              is  discouraged  as there no clear concept of what a logical block is here because the
              format command may move around logical blocks  and  change  the  number  of  available
              blocks.

              The number can be preceded by 0 or 0x for octal or hexadecimal notation.


       -D int:int:int, ...
              A  comma separated list of expressions of the form C:H:S specifying a defect at physi‐
              cal location Cylinder:Head:Sector. A Sector S of -1 marks the whole track as bad.

              The number can be preceded by 0 or 0x for octal or hexadecimal notation.


       -B int:int:int, ...
              A comma separated list of expressions of the from C:H:B specifying defects  at  Cylin‐
              der:Head:Bytes  from  Index.  Again,  a Bytes from Index value B of -1 marks the whole
              track as bad.

              The number can be preceded by 0 or 0x for octal or hexadecimal notation.

       You can specify more than one of the -d, -D, -B options but you must stick to one defect for‐
       mat!


   d) Simple partitioning
       For  your  convenience,  scsiformat allow to preset the partition table in a simple way which
       often suffices for removable medias.  This is not intended  as  a  replacement  for  fdisk(8)
       though.


       -f arg perform simple partitioning.  -fdos sets up begin and start of the partition on cylin‐
              der boundaries.  -ftight does use as much of the disk as  possible  (but  may  confuse
              OS's other than Linux).

              If  you  do not specify -f at all, scsiformat will not initialise the partition table.
              As it has to tell the kernel that the disk was reformatted and the kernel will try  to
              to read the partition table, you are like to get some kernel warnings then.


       -G headsxsectors
              set  the  disk  geometry (Heads x Sectors) as DOS will see it for use in the partition
              table. If you don't specify it, scsiformat will ask the kernel what it thinks DOS will
              get  from the adapters BIOS. This call might fail or return bogus data though. A wrong
              setting will not affect linux, but other OS's and esp. DOS and the BIOS (for booting).


       -y type
              set the type for the  partition  to  set.   type  is  a  two  digit  hex  number.  See
              fdisk(8),command t for a list. Defaults to 83 (Linux native).


       -M size
              Create a primary partition number 1 of maximal size sizeMB.  When size is 0, no parti‐
              tion is created, and thus the partition table is simply initialised to be  valid  (but
              empty).  If  the  size  exceeds the disk capacity, a partition as large as possible is
              made. Defaults to 99999.


   e) Miscellaneous
       -H     print some command line help to stdout.

       -v     print version information.


       -F arg forced   operation,   do    not    ask    prior    to    format.     arg    must    be
              'Ene Mene Meck, und Du bist weg!'   with  proper spaces and capitalisation. (this is a
              German child rhyme kissing someone goodbye...)


       -V     print some debugging information.


       -X     all output is printed in numerics, useful for GUI  interfaces  like  tk_scsiformat(8).
              Also  makes all operations non blocking. (By forking of a child process for those scsi
              operations which would block).


       -o     The settings of the flags -c, -p, -s, -S, -I, -L, -P are obeyed.  If you  specify  one
              of  these, -o is silently added. Without -o or one of these flags some factory default
              is used.  Specifying -o explicitly will allow you to not  use  any  of  these  options
              which might not be the default chosen by the target device otherwise.


RETURN CODES
       Apart  from  the codes returned by the -T flag, scsiformat will generally return 1 for system
       errors, 2 for user errors, and 0 for successful operation.


BUGS
       Old status files in /tmp will confuse the -T option.  However,  they  are  removed  after  48
       hours.

       I was unable to get hold of a disk supporting querying the progress status (and which I could
       stand to lose all data on). Therefore I commented out the support for this  from  the  source
       code using a BLOCKING_ONLY#define.  You are welcome to try and make this work.

       Restrictions of the SCSI_IOCTL_SEND_COMMAND ioctl(2) call for the sd(4) device make it impos‐
       sible to issue a FORMAT_UNIT command with more than 4096 bytes of arguments.  This  could  be
       avoided  by  using the proper generic scsi device /dev/sg* instead, at least where the kernel
       is compiled to support it. Most of the time this is not needed though and thus I'm myself  to
       lazy to do it.

FILES
       /tmp/scsiformat.xx:xx:xx:xx:xxxxxxxx
       /dev/sd*
       /dev/sg*


SEE ALSO
       tk_scsiformat(8), scsiinfo(8), scsi-config(8), fdisk(8), sd(4).


AUTHOR
       Michael Weller <eowmob AT exp-math.de>



scsiinfo 1.7                               23 August 1997                              scsiformat(8)
scsiformat(8)
NAME SYNOPSIS DESCRIPTION OPTIONS
a) Controlling a/synchronous operation -b n block during the format operation. This makes any display of real progress indicators -T just check for a running format command and output statistics. A file /tmp/scsifor‐ -t n check progress every n seconds (default is 5). -t0 makes scsiformat return without b) Interleave factor -i n sets the sector interleave factor to be used. Usually you should stick with the de‐ c) Initialisation pattern -I sequence of bytes in hex -L The first four bytes of each logical block are set to the number of the logical block. -P The first four bytes of each physical block are set to the number of logical block, it c) Defect management -e Erase the grown defect list prior to formatting. You can issue new defects for the -p Ignore the vendor's primary defect list. This is not recommended as the vendor proba‐ -c Do not perform a media surface certification. This may speed up formatting but is also -s Stop when unable to access primary or grown defects due to some internal error in the -S Erase MODE SELECT settings stored in NVRAM. These are those you can set with scsi‐‐ -d int, ... -D int:int:int, ... -B int:int:int, ... d) Simple partitioning -f arg perform simple partitioning. -fdos sets up begin and start of the partition on cylin‐ -G headsxsectors -y type -M size e) Miscellaneous -H print some command line help to stdout. -v print version information. -F arg forced operation, do not ask prior to format. arg must be -V print some debugging information. -X all output is printed in numerics, useful for GUI interfaces like tk_scsiformat(8). -o The settings of the flags -c, -p, -s, -S, -I, -L, -P are obeyed. If you specify one
RETURN CODES BUGS FILES SEE ALSO AUTHOR

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 14:14 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top