Reference
The following sections provide reference material to the command line utilities provided in nobodd, and the Python-based API.
Command line
The following chapters document the command line utilities included in nobodd:
API reference
In addition to being a service and command-line tool, nobodd can also be used as an API from Python to access disk images, determining their partitioning style, enumerating the available partitions, and manipulating FAT file-systems (either from within a disk image, or just standalone). It can also be used as the basis of a generic TFTP service.
The following sections list the modules by their topic.
Disk images
The nobodd.disk.DiskImage class is the primary entry-point for dealing
with disk images.
FAT filesystem
The nobodd.fs.FatFileSystem class is the primary entry-point for
handling FAT file-systems.
TFTP service
The nobodd.tftpd.TFTPBaseServer and
nobodd.tftpd.TFTPBaseHandler are two classes which may be customized
to produce a TFTP server. Two example classes are included,
nobodd.tftpd.SimpleTFTPServer and
nobodd.tftpd.SimpleTFTPHandler which serve files directly from a
specified path.
Command line applications
The nobodd.server module contains the primary classes,
BootServer and BootHandler
which define a TFTP server (nobodd-tftpd) that reads files from FAT
file-systems contained in OS images. The nobodd.prep module contains the
implementation of the nobodd-prep command, which customizes images
prior to first net boot.
The nobodd.config module provides configuration parsing facilities to
these applications.
Support modules
The nobodd.tools module contains a variety of utility functions that
either cross boundaries in the system or are entirely generic. Meanwhile,
nobodd.locks provides an SREW (shared-read, exclusive-write) lock
implementation with re-entrancy.