13 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
b2bdf1e00b Updated klipper to most recent master HEAD version 2021-06-03 00:18:02 +02:00
Sergey 'Jin' Bostandzhyan
e4a3a59f5d Merge branch 'master' of github.com:jin-eld/klipper-linux 2020-07-12 16:23:18 +02:00
Sergey 'Jin' Bostandzhyan
b840987b85 Remove ssl.dh-file option from lighttpd
The file took ages to generate on the target.
2020-07-12 16:22:18 +02:00
Sergey 'Jin' Bostandzhyan
7f0b9b5ee3 Updated dunfell branches. 2020-06-22 23:53: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
08b25c9cdb Imported script which creates a self signed certificate
Taken from:
https://git.digitalstrom.org/dss-oe/dss-oe/tree/master/yocto/dS/meta-digitalstrom-devel/recipes-support/create-certificate

Modified to fit current use case.
2020-06-21 22:26:45 +02:00
Sergey 'Jin' Bostandzhyan
53a595fdd4 Adapt runit.bbclass to busybox runit
Drop some hardcoded paths and RDEPENDS on the standalone runit package
2020-06-21 21:39:23 +02:00
Sergey 'Jin' Bostandzhyan
1c4af8a404 Imported class for handling runit service configuration
Runit is an alternative to init.d, it supports monitoring of processes
and has some handy features. I prefer it over systemd.
2020-06-20 16:28:16 +02:00
Sergey 'Jin' Bostandzhyan
06ae03902d Add some useful links to the README 2020-05-27 01:10:13 +02:00
Sergey 'Jin' Bostandzhyan
aaf230db7b Add a readme
Describe current state and some future thoughts.
2020-05-27 01:06:00 +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
Sergey 'Jin' Bostandzhyan
782cc9dd07 Initial commit 2020-05-09 18:38:48 +02:00