Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-3.1)
Apropos / Subsearch:
optional field

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

       scsiformat - low level format an scsi disk device

       scsiformat [-options...] device

       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 confirma-
       tion and check if partitions on device are still mounted. Possible swap
       spaces 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 status information.

       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 formatting 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  completed, 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 scsiformat 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 scsi-
              format return without displaying progress.

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

   c) Initialisation pattern
       By default the target will initialise the formatted sectors with a ven-
       dor specific test pattern.

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

       -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 num-
              ber 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  probably  had a reason to specify these primary

       -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 scsiinfo(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  con-
              cept  of what a logical block is here because the format command
              may move around logical blocks and change the number  of  avail-
              able blocks.

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

       -D int:int:int, ...
              A comma separated list of expressions of the form C:H:S specify-
              ing a defect at physical 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

       -B int:int:int, ...
              A comma separated list of expressions of the from C:H:B specify-
              ing defects at Cylinder: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

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

   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 cylinder 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

       -M size
              Create  a  primary  partition  number  1 of maximal size sizeMB.
              When size is 0, no partition 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) Miscanellous
       -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  capi-
              talisation.  (this is a German child rhyme kissing someone good-

       -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
              explictly will allow you to not use any of these  options  which
              might not be the default chosen by the target device otherwise.

       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

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

       I were unable to get hold of a disk supporting  querying  the  progress
       status (and which I could stand to loose all data on). Therefore I com-
       mented out the support for this from the source  code  using  a  BLOCK-
       ING_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 impossible 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 com-
       piled  to  support  it.  Most of the time this is not needed though and
       thus I'm myself to lazy to do it.


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

       Michael Weller <eowmobATexp-math.de>

scsiinfo 1.7                    23 August 1997                   scsiformat(8)