Next Previous Contents

4. Getting and installing ftape

4.1 Getting ftape

The v2.0.x versions of the kernel include version 2.08 of ftape I recommend, however, that you grab the latest version of the full source code package for ftape. It is a newer version, includes files that are not included in the kernel v2.0.X distribution, and includes much better documentation about how to install ftape. The v2.1.x and later versions of the kernel include the version 3.04 of ftape.

I recommend that you download the latest stable version of ftape which is 4.02 at the time of this writing and is available from

as well as from

You probably should also grab the ftape-doc and the ftape-tools package that are available from the same locations.

If you still want to use the ftape-2.08 which is shipped with the v2.0.x kernels, then you get a version of the driver which is really out of date and doesn't support QIC-3020 tapes at 2Mbps correctly, neither does it support the Ditto 2GB drives nor the Ditto Max drives nor any kind of parallel port tape drive. The section Supported drives gives detailed information about which version of the ftape driver supports which hardware.

4.2 Differences between ftape-2.x, ftape-3.x and ftape-4.x versions

ftape-3.x and ftape-4.x use the file system interface that was implemented for a branch release which was called zftape. Actually, the module that implements the VFS (Virtual File System) interface of ftape-3.x and ftape-4.x still is called zftape.o and its C-sources inside the kernel tree reside in [/usr/src/linux/]drivers/char/ftape/zftape/.

ftape-2.x (i.e. the version still contained in the v2.0.x kernel) uses another file system interface, that was implemented by ftape's original author Bas Larhoven.

File Marks

The conceptional difference between ftape-2.x and later versions of ftape is the way file marks are implemented.

Floppy tape devices don't have real file marks.

File marks are used to distinguish different backup sets if you write multiple backup sets to a tape. SCSI and QIC-150 tapes have real file marks, i.e. between two different backup sets there is a region on the tape that is written special data to so that the drive logic can detect that marker when the tape is wound with (possibly) high speed over those file marks.
Because the goal of ftape's file system interface was from the beginning on to provide an interface that could be used with standard Unix-like tape utilities (i.e. mt) the developers of ftape started to emulate file marks by storing the positions on the tape where a file mark should be located in certain fields of the header segments.
header segments refers to a region at the beginning of the tape sized two times 29k to hold some important information about the tape format and size and some status information.

However, the QIC standards already designate a special region to store such information in, the so called volume table segment. Since ftape-3.x this volume table segment is used instead of using unused data fields in the header segment. As a result it is possible to use your tape cartridge with different operating systems in the sense that your Win or DOS backup program will realize that certain regions of the tape cartridge are already occupied with data, and ftape-3.x and later will detect the regions used by those DOS and Win programs. However, you can't extract a DOS backup set under Linux or extract a volume written by ftape under DOS, safe you write your own software to do that.

IOCTL interface

There are certain differences in the IOCTL

This IO control interface is used by e.g. mt to rewind the tape or skip to the next file mark or do any other tape operation.
interface between ftape-2.x and ftape-3.x and later. A detailed description can be found in the ftape-manual contained in the ftape-doc package. See Getting Ftape.


Formatting of cartridges is supported with ftape-3.x and later only. Please get the ftape-tools package that contains the ftformat program that interfaces to the driver to format cartridges. See Getting Ftape. The ftape-tools package comes with (more or less) detailed documentation, so the case of formatting cartridges is not dealt with in this document.


ftape-3.x supported user transparent on-the-fly compression in software. This feature (or bug) has vanished in ftape-4.x as it made further improvements concerning the realiability of backups very very hard. This means, ftape-4.x comes without compression support.

However de-compression of compressed archives produced with ftape-3.x is supported in order not to brake existing backup programs where a user-level filter would not suffice to preserve compatibility. Think, e.g., of taper which calls the MTIOC ioctls itself instead of relying on the mt program to perform tape operations.

The ftape-manual contained in the ftape-doc package contains much more detailed information about ftape`s file system interface as well as implementation notes which by far exceed the scope of this HOWTO. See Getting Ftape for informations about where to obtain the manual.

4.3 Installing the driver with v2.0.x and earlier kernels

The following section provides some useful information to get you going with the installation of v4.x which is not shipped with the kernel source tree yet but has to be downloaded separately, see the section Getting ftape above.

Once you've downloaded the source code (probably ftape-4.02-tar.gz), untar it. You can do this by determining what directory you want the source code to be located in. I recommend /usr/src/ or ~/src. When the tar file is extracted, it will dump everything into a ftape-4.02 subdirectory, so that you'll end up, in the example I've given, with something like /usr/src/ftape-4.02 or ~/src/ftape-4.02.

NOTE: you cannot compile ftape-4.02 into your v2.0.x kernel. Instead, configure your kernel to not compile the ftape driver and follow the installation instructions in the ftape-4.02 distribution and install ftape-4.02 as a module.

Read the README file. The README is required reading. It's the top of the tree, so to speak. If there are specific files that the README tells you to read then read them. It will make the process much less complicated.

Do NOT proceed with compiling the package until you have read the appropriate README files and the INSTALL file.

Afterwards you need to edit the MCONFIG file and configure you package according to your hardware. The MCONFIG file contains lots of explanations so it should be fairly easy to go along with it.

However, most of the hardware configuration can be done via setting parameters during module load time so most parameters specified in the file MCONFIG simply give the default configuration, but you don't need to recompile the driver to change IO addresses or interrupt settings. The file INSTALL and the file modules/insert contain examples how to specify the proper module parameters when loading the kernel modules, so I won't go into further detail here.

If you are using a Linux-v1.3.x kernel, you should consider moving to v2.0.x. v1.3.x was the development release prior to the production release v2.0.x.

4.4 Installing the driver with v2.1.x and later kernels


Maybe ftape-4.02 will be included into the v2.2.x kernel, but this isn't clear at the time of this writing. This HOWTO will be revised appropriately when this has become clear. So long you have to refer to the previous section Installing the driver with v2.0.x and earlier kernels and disregard the contents of this section.

The Linux kernel v2.1.x and later already include ftape-4.x so you don't need to download the ftape-4.x kernel driver package.

ftape-4.x as included in the v2.1.x versions of the kernel can be completely configured using the kernel configuration menus (either with make menuconfig or make xconfig. Also, there is online help available that documents each parameter setting which I won't repeat here.

The various boot- and loadtime parameter settings are explained in the file


of the Linux-v2.1.x and later kernel distributions.

4.5 Following the development of the ftape driver

If you want to follow the development of the ftape driver, you should subscribe to the Linux Tape mailing list To do so you need to send an email saying `subscribe linux-tape' (in the body) to When you subscribe, you will be sent a greeting mail, which will tell you how to submit real mails and how to get off the list again. Store this email in a safe place. Please.

Please note that I do not, repeat DO NOT, have any special powers with regard to this mailing list. If you're stuck on the list, don't bother to tell me that. I can only shrug and send you my sympathy (but that won't get you off the list).

4.6 Mixing ftape and floppies

If you use your floppy tape drive with the standard FDC then the floppy drive and the floppy tape drive cannot run concurrently as they share the same hardware, the FDC, and the floppy and the ftape driver do not talk to each other. Thus, if you have mounted a floppy and then try to access the tape drive, ftape will complain that it cannot grab IRQ6 and then die. This is especially a problem when designing a emergency disk for use with ftape. This solution is to either load the boot/root disk into a ramdisk and then unmount the floppy, or have two floppy drive controllers.

Next Previous Contents