nobodd is a confusingly named, but simple TFTP server intended for net-booting Raspberry Pis directly from OS images without having to loop-back mount those images. Even customization of an image for booting on a particular board is handled without loop devices or mounts (making it possible to operate completely unprivileged), via a read/write FAT implementation within the nobodd-prep tool.
Usage
If you have an appropriately customized OS image already placed in a file (ubuntu.img), and the serial number of the Pi in question (1234ABCD) then serving it as simple as:
$ sudo nobodd-tftpd --board 1234ABCD,ubuntu.img
This defaults to reading the first partition from the file, and pretends (to TFTP clients) that the contents of the first partition appears under the 1234ABCD/ directory. Hence a TFTP request for 1234ABCD/cmdline.txt will serve the cmdline.txt file from the first partition contained in ubuntu.img.
The service either needs to run from root (because the default TFTP port is the privileged port 69), or can be run as a systemd or inetd socket-activated service, in which case the service manager will provide the initial socket and the service can run without any special privileges.
The mapping of Pi serial numbers to OS image files can also be placed in a configuration file under /etc/nobodd/conf.d. A tool, nobodd-prep, is provided to both customize images for boot and generate basic configuration files for nobodd-tftpd and nbd-server.
Useful Links
Source code on GitHub
Issues on GitHub
Documentation on ReadTheDocs
Release files for nobodd 0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nobodd-0.5.tar.gz | 122.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nobodd-0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 225.8 kB
Release files / nobodd-0.5.tar.gz
| Download URL | nobodd-0.5.tar.gz |
|---|---|
| Size | 122.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0bd8c936d684a28bd69235eba0c4a232fa053f90d87872630c63bd87004df4b8
|
|
BLAKE2b-256 checksum How to use checksums |
61b37f6aa5b268bf5d5422a19bbb35e0a35227cebef5d4319b9416d065ee1dfa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / nobodd-0.5-py3-none-any.whl
| Download URL | nobodd-0.5-py3-none-any.whl |
|---|---|
| Size | 102.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9be0e9c3262fb4b34987c562517b045771ce1259c7c3542fd037942324225c39
|
|
BLAKE2b-256 checksum How to use checksums |
e1c229408c7dd1a5b7f4f00699e20da765a96c8e67481334dfde0bb094926b56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|