nobodd


Namenobodd JSON
Version 0.3 PyPI version JSON
download
home_page
SummaryA simple TFTP boot server for the Raspberry Pi
upload_time2024-03-06 00:46:59
maintainer
docs_urlNone
authorDave Jones
requires_python>=3.7
license
keywords raspberry pi boot nbd tftp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ======
nobodd
======

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:

.. code-block:: console

    $ 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

.. _Source code: https://github.com/waveform80/nobodd
.. _Issues: https://github.com/waveform80/nobodd/issues
.. _Documentation: https://nobodd.readthedocs.io/

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "nobodd",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "raspberry pi boot nbd tftp",
    "author": "Dave Jones",
    "author_email": "dave.jones@canonical.com",
    "download_url": "https://files.pythonhosted.org/packages/1e/d9/78e9aae7671e54d3cabae92ee7c4aa0d3bedb773cd31095d9e47c9f3a550/nobodd-0.3.tar.gz",
    "platform": null,
    "description": "======\nnobodd\n======\n\nnobodd is a confusingly named, but simple TFTP server intended for net-booting\nRaspberry Pis directly from OS images without having to loop-back mount those\nimages. Even customization of an image for booting on a particular board is\nhandled without loop devices or mounts (making it possible to operate\ncompletely unprivileged), via a read/write FAT implementation within the\n``nobodd-prep`` tool.\n\n\nUsage\n=====\n\nIf you have an appropriately customized OS image already placed in a file\n(``ubuntu.img``), and the serial number of the Pi in question (``1234ABCD``)\nthen serving it as simple as:\n\n.. code-block:: console\n\n    $ sudo nobodd-tftpd --board 1234ABCD,ubuntu.img\n\nThis defaults to reading the first partition from the file, and pretends (to\nTFTP clients) that the contents of the first partition appears under the\n``1234ABCD/`` directory. Hence a TFTP request for ``1234ABCD/cmdline.txt`` will\nserve the ``cmdline.txt`` file from the first partition contained in\n``ubuntu.img``.\n\nThe service either needs to run from root (because the default TFTP port is the\nprivileged port 69), or can be run as a **systemd** or **inetd**\nsocket-activated service, in which case the service manager will provide the\ninitial socket and the service can run without any special privileges.\n\nThe mapping of Pi serial numbers to OS image files can also be placed in a\nconfiguration file under ``/etc/nobodd/conf.d``. A tool, ``nobodd-prep``, is\nprovided to both customize images for boot and generate basic configuration\nfiles for ``nobodd-tftpd`` and ``nbd-server``.\n\n\nUseful Links\n============\n\n* `Source code`_ on GitHub\n* `Issues`_ on GitHub\n* `Documentation`_ on ReadTheDocs\n\n.. _Source code: https://github.com/waveform80/nobodd\n.. _Issues: https://github.com/waveform80/nobodd/issues\n.. _Documentation: https://nobodd.readthedocs.io/\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A simple TFTP boot server for the Raspberry Pi",
    "version": "0.3",
    "project_urls": {
        "Documentation": "https://nobodd.readthedocs.io/",
        "Issue Tracker": "https://github.com/waveform80/nobodd/issues",
        "Source Code": "https://github.com/waveform80/nobodd"
    },
    "split_keywords": [
        "raspberry",
        "pi",
        "boot",
        "nbd",
        "tftp"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be52ef569fe573f1d34bdd4d934eee8f20da2e22c4a4cb1819b067804e888f92",
                "md5": "7b8eccf1c21cda6da865ab54061fb878",
                "sha256": "d7361db309e5ea46abf2c7947e9d464d1f3020e7e0cec041a1980d4a68b251c8"
            },
            "downloads": -1,
            "filename": "nobodd-0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7b8eccf1c21cda6da865ab54061fb878",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 90392,
            "upload_time": "2024-03-06T00:46:57",
            "upload_time_iso_8601": "2024-03-06T00:46:57.300968Z",
            "url": "https://files.pythonhosted.org/packages/be/52/ef569fe573f1d34bdd4d934eee8f20da2e22c4a4cb1819b067804e888f92/nobodd-0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ed978e9aae7671e54d3cabae92ee7c4aa0d3bedb773cd31095d9e47c9f3a550",
                "md5": "7cca78ddab83f14c83875765c2a56cef",
                "sha256": "03890ad49b1bd462568f6caeca33ff3599defcfe91e0fe334ef525fd2e9eebd9"
            },
            "downloads": -1,
            "filename": "nobodd-0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "7cca78ddab83f14c83875765c2a56cef",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 108541,
            "upload_time": "2024-03-06T00:46:59",
            "upload_time_iso_8601": "2024-03-06T00:46:59.528948Z",
            "url": "https://files.pythonhosted.org/packages/1e/d9/78e9aae7671e54d3cabae92ee7c4aa0d3bedb773cd31095d9e47c9f3a550/nobodd-0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-06 00:46:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "waveform80",
    "github_project": "nobodd",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "nobodd"
}
        
Elapsed time: 0.20388s