64 lines
1.7 KiB
ReStructuredText
64 lines
1.7 KiB
ReStructuredText
User Manual
|
|
###########
|
|
|
|
This manual is an early work in progress, not least because Liminix is
|
|
not yet ready for users who are not also developers.
|
|
|
|
Configuring for your use case
|
|
*****************************
|
|
|
|
You need to create a ``configuration.nix`` that describes your router
|
|
and the services that you want to run on it. Start by copying
|
|
``vanilla-configuration.nix`` and adjusting it.
|
|
|
|
|
|
Building and flashing
|
|
*********************
|
|
|
|
You need to set ``<liminix-config>`` to point to your
|
|
``configuration.nix``, the file for your hardware device definition as
|
|
argument ``device``, and to choose an appropriate output attribute
|
|
depending on what your device is and how you plan to install onto
|
|
it. For example:
|
|
|
|
.. code-block:: console
|
|
|
|
NIX_PATH=nixpkgs=../nixpkgs:$NIX_PATH nix-build -I liminix-config=./tests/smoke/configuration.nix --arg device "import ./devices/qemu" -A outputs.default
|
|
|
|
``outputs.default`` is intended to do something appropriate for the
|
|
device, whatever that is. For the qemu device, it creates a directory
|
|
containing a squashfs root image and a kernel.
|
|
|
|
As of Feb 2023, flashing devices is not implemented other than by
|
|
taking the covers off and connecting wires to the serial console
|
|
pads - so, check in the Developer Manual.
|
|
|
|
Future versions of this manual will at this point refer to
|
|
device-specific instructions for installing Liminix using the router's
|
|
Web UI or other non-invasive method.
|
|
|
|
|
|
Updating a running device
|
|
*************************
|
|
|
|
Feature forthcoming.
|
|
|
|
Module options
|
|
**************
|
|
|
|
|
|
|
|
Foo module
|
|
==========
|
|
|
|
Module docs will go here. This part of the doc should be autogenerated.
|
|
|
|
|
|
Bar module
|
|
==========
|
|
|
|
Baz module
|
|
==========
|
|
|
|
Quuz net device
|
|
===============
|