nbdkit-floppy-plugin - Man Page

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

License

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

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.

Referenced By

nbddump(1), nbdkit(1), nbdkit-iso-plugin(1), nbdkit-linuxdisk-plugin(1), nbdkit-partitioning-plugin(1), nbdkit-plugin(3), nbdkit-release-notes-1.28(1), nbdkit-release-notes-1.8(1).

2024-03-18 nbdkit-1.37.13