From 4f1db2acf53f46b4dbc2069f3adb5b60dc2eeb4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= <cynerd@email.cz>
Date: Tue, 1 Nov 2022 16:44:55 +0100
Subject: docs: add some initial more advanced documentation

The primary point of this is to describe installation procedure but we
should also describe basic router usage with NixOS as that ain't
documented elsewhere.
---
 docs/todo.adoc | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 docs/todo.adoc

(limited to 'docs/todo.adoc')

diff --git a/docs/todo.adoc b/docs/todo.adoc
new file mode 100644
index 0000000..69b5149
--- /dev/null
+++ b/docs/todo.adoc
@@ -0,0 +1,60 @@
+= Things to be done
+
+NixTurris is open-source project without any monetary backing. It is just an
+attempt to get NixOS and its advantages to the Turris routers. Please poke to
+these topics if you have some free time.
+
+These are big tasks. For the smaller ones please use Gitlab issues.
+
+
+== Bugs to be solved
+
+Generate template configuration in `/etc/nixos/`:: This is common way
+the installation of NixOS proceeds. We would use it only with NixOS rebuild on
+site but we should still do it.
+
+PCIe on Omnia does not work:: There are patches that make it work on Turris OS
+and attempt to port them to this repository but some important patch seems to be
+still missing as it doesn't work.
+
+Boot files should be copied to `/boot` on tarball:: The standard syslinux
+generator copies boot files (linux, initrd and dtb) to `/boot` while current
+implementation in tarball keeps them in Nix store. This prevents installation on
+separate boot partition.
+
+Native build for Turris Omnia doesn't work:: There are multiple packages that
+fail to build when compiled natively on armv7. This can be either due to Qemu or
+more likely that they are just not prepared to be build on armv7. The most of
+the packages fail their test phases as they most likely expect 64bit system.
+
+
+== Improvements to be tackled
+
+Firewall configuration with zones and masquarade:: The NixOS firewall should be
+expanded or replaced by firewall configuration that provides multiple zones with
+ability to set NAT between them.
+
+Easier Wi-Fi AP configuration:: There should be some better way to configure
+Wi-Fi without reading load of documentation on how to setup Hostapd. One option
+is to have minimal user configuration and fill the rest when generating
+configuration based on Wi-Fi adapter. The second and probably easier option is
+to just provide simple configuration with verified settings for the Wi-Fi cards
+shipped with Turris routers.
+
+Minimal system build:: The Nix evaluation consumes considerable amount of RAM
+and thus it is not possible to rebuild NixOS on the device itself without using
+SWAP. The option is to cut out all modules that are just not required as they
+deal with graphics output and desktop. The initial work on that is already
+started in this repository but issue is that even core modules depend on desktop
+specific ones.
+
+Nix build of U-Boot:: The initial support for this is already present but we are
+missing some helper script to flash files to the appropriate block devices. The
+Turris Mox firmware also requires combination with ARM Trusted Firmware which is
+not done yet.
+
+Boot modes on Omnia to select previous profiles:: By modifying the U-Boot
+environment for rescue we might be able to use Omnia standard LEDs rescue mode
+selection to select older profiles. The selected led is passed just by set
+environment variable to the U-Boot script but we would have to patch the U-Boot
+to change the rescue environment.
-- 
cgit v1.2.3

