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.