nbdkit-floppy-plugin(1)

NAME
nbdkit-floppy-plugin - create virtual floppy disk from directory

SYNOPSIS
 nbdkit floppy [dir=]DIRECTORY
               [label=LABEL] [size=SIZE]

DESCRIPTION
"nbdkit-floppy-plugin" is a plugin for nbdkit(1) which creates a virtual FAT-formatted floppy disk image from a directory on the fly. The files in the specified directory (and subdirectories) appear in the virtual floppy, which is served read-only over the NBD protocol.

The virtual floppy disk will have a single partition (using an MBR partition table). In that partition will be a virtual FAT32 filesystem containing the files. Long filenames are supported.

To create a CD/ISO, see nbdkit-iso-plugin(1). To create a Linux compatible virtual disk, see nbdkit-linuxdisk-plugin(1).

Note: The plugin does not save a temporary copy of the files, so you must leave the directory alone while nbdkit is running, else you may get an error (for example if the plugin tries to open one of the files which you have moved or deleted). This is different from how nbdkit-iso-plugin(1) and nbdkit-linuxdisk-plugin(1) work, as both of those plugins keep a temporary copy of the files and directories.

EXAMPLE
Create a virtual floppy disk:

 nbdkit floppy /path/to/directory

PARAMETERS

[dir=]DIRECTORY
    Specify the directory containing files and subdirectories which will be added to the virtual floppy disk. Files inside this directory will appear in the root directory of the virtual floppy.

    This parameter is required.

    "dir=" is a magic config key and may be omitted in most cases. See "Magic parameters" in nbdkit(1).

label=LABEL
    The optional volume label for the filesystem. This may be up to 11 ASCII characters. If omitted, "NBDKITFLOPY" is used.

size=SIZE
    Optional total disk size. If omitted then the disk will only be large enough to store all the files and directories from "DIRECTORY" with no free space.

LIMITATIONS
The maximum size of the disk is around 2TB. The maximum size of a single file is 4GB. Non-regular files (such as block special, symbolic links, sockets) are not supported and will be ignored.

The plugin does not support writes. nbdkit-cow-filter(1) can be placed on top to enable writes, but they will be thrown away when nbdkit exits and not written to the underlying directory.

The virtual floppy will not be bootable. This could be added in future (using SYSLINUX) but requires considerable work. As a workaround use nbdkit-iso-plugin(1) instead.

FAT32 is always used, even for small disks (where dosfstools, for example, would choose FAT12 or FAT16). This results in extra wasted space, but since it is only virtual wasted space it isn't really important, and it simplifies the implementation greatly.

FILES

$plugindir/nbdkit-floppy-plugin.so
    The plugin.

    Use "nbdkit --dump-config" to find the location of $plugindir.

VERSION
"nbdkit-floppy-plugin" first appeared in nbdkit 1.8.

SEE ALSO
nbdkit(1), nbdkit-plugin(3), nbdkit-file-plugin(1), nbdkit-linuxdisk-plugin(1), nbdkit-iso-plugin(1).

AUTHORS
Richard W.M. Jones

COPYRIGHT
Copyright (C) 2018 Red Hat Inc.

LICENSE
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

•   Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

•   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.

•   Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''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 RED HAT OR CONTRIBUTORS 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.