3 Commits

Author SHA1 Message Date
Sergey 'Jin' Bostandzhyan
6926dc8100 Added cubietruck support
...along with tons of stuff that got accumulated within the last year.

Should have been more disciplined, but somehow did not have time to
properly maintain it beyond "works for me".
2021-06-12 01:24:57 +02:00
Sergey 'Jin' Bostandzhyan
94108a7ef1 Use runit instead of init for important services, drop users and groups
using separate user/group for octoprint turned to be a major PITA - when
you tried to make a backup of the octoprint configuration via the
octoprint UI, it seems that it was trying to move the whole
/var/lib/octoprint directory which of course did not work due to
permissions.

Anyway, this is not a multiuser/multipurpose server, not worth to
mess around with users.

There is one user which can be used to log in and su to root:
login: printer
password: printer

Same credentials are set for the web server.

Octoprint sits behind lighttpd, i.e. https://ip/octoprint/ will
internally proxy to the octoprint server which only listens on localhost.

TODO:
* do not start klipper/octoprint by default yet, the web UI should
  guide the user through an initial setup; octoprint should be optional
  anyway.

* root ssh login will be disabled later

* first time dhparam key generation takes way too long

* web UI config wizard

* build MCU firmware
2020-06-22 23:43:35 +02:00
Sergey 'Jin' Bostandzhyan
250fe23a59 First buildable version
This is by no means complete, there's a lot to be done on the setup and
configuration side and klipper MCU firmware builds are missing as well.

The rootfs itself should be device independent (although you'd probably
have to pull in machine specific layers), the image recipe is specific
to the ASUS TinkerBoard S.

Overall goal is to be able to build this distro for any target that is
supported by Yocto. The distro should be "single purpose", i.e. no
desktop like Armbian etc, but just provide a minimalistic setup for
printing with a possibility to select and upload your klipper config.

OctoPrint is included but should be optional (i.e. I'd like to be able
to turn it off and just "print from SD" via the local LCD menu.

TODOs of the top of my head:
* add MCU firmware builds (probably via a multiconfig setup)
* add lighttpd with a central entry page and a minimalistic web UI

For the web UI:
* add a possibility to select existing klipper configs and to upload custom
  klipper configs
* add an option to enable/disable OctoPrint
* backup/restore configuration

To build for the tinker board:

$ source setup.sh targets/tinker-board-s/
$ bitbake klipper-image-tinker-board-s

Flashable wic/wic.bmap (use bmaptool) will be located in:

klipper-linux-build/build/deploy/images/tinker-board-s
2020-05-27 00:34:02 +02:00