tk_scsiformat - low level format an scsi disk device with a nice user
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. When you do not specify a device, tk_scsiformat gives you a
list to select a disk device from.
tk_scsiformat is a Tcl/Tk user interface to scsiformat(8).
You should read that manual page for the general operation of
scsiformat. All common X11 and Tcl/Tk options apply.
By the nature of graphical user interfaces, there should not be much to
explain here. All entry fields refer directly to scsiformat(8) options.
In addition to those, you are able to save your selections to be used
as defaults for this device next time in a file
/usr/lib/scsi/scsiformat.defs.* by pressing the <Save Defaults>
button. This is intended and very handy for formatting of removable
medias. Note, however, that tk_scsiformat is not as clever as
scsiformat(8) (or even tries to be) to find if multiple ways to refer
to the same scsi device (disk device, generic device).
Furthermore, you can select (or enter freely) a command to
automatically make a file system on the newly formatted disk.
While formatting a nice completion bar is drawn. Alas, I could not
really implement querying progress from a target device yet.
The /usr/lib/scsi/tworands binary is used to calculate two random
integers which is not supported by plain Tcl/Tk.
When not specifying a device to format, tk_scsiformat will prepare a
list of disk devices to choose from. Alas, if a blocking format
operation is running on one of them, tk_scsiformat will block in a non
interruptible disk wait sleep.
Old status files in /tmp will confuse tk_scsiformat. However, they are
removed after 48 hours.
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
compiled to support it. Most of the time this is not needed though and
thus I’m myself to lazy to do it.
scsiformat(8), scsiinfo(8), scsi-config(8), fdisk(8), sd(4).
Michael Weller <email@example.com>