Operating system for OpenComputers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
XeonSquared b88134b70e force position of cursor before drawing lines in ced vi. might be slower, but stops line wrapping breaking things. 10 mesi fa
cfg cleaner default source list 4 anni fa
lib force position of cursor before drawing lines in ced vi. might be slower, but stops line wrapping breaking things. 10 mesi fa
module left a debug syslog in there. oops. 10 mesi fa
service assorted filesystem-related improvements 10 mesi fa
.editorconfig clipboard: Make the clipboard service work under the new service sys 4 anni fa
.gitignore clipboard: Make the clipboard service work under the new service sys 4 anni fa
LICENSE Initial commit 5 anni fa
README.md updated the README to represent the current state of the system 4 anni fa
build.lua added the preproc library, meaning PsychOS is nominally self-hosting 4 anni fa
build.sh misc accounting features 11 mesi fa
docs-metadata.yml added a title for PDF generation 4 anni fa
finddesc.lua Fix document generation on Windows (using Git Bash) 4 anni fa
gendoc.lua added doc() support for pre-compiled API documentation, wrote a generator for it, and included that in the build script 4 anni fa
luapreproc.lua added type annotations and descriptions for functions where appropriate 4 anni fa
package.sh added minitel to the default init, updated the package script 4 anni fa
preproc.lua move actual preproc lib into folder rather than symlinking to the version in lib/, a better solution will be considered later 4 anni fa
template.tex updated finddesc to use the new doc library, allowing type annotations and building a directory of documentation 4 anni fa

README.md

OC-PsychOS2

A lightweight, multi-user operating system for OpenComputers

Building

The kernel

The kernel is composed of a number of modules, found in the module/ directory. Which modules are included can be customised by changing the include statements in module/init.lua; copying it and customizing that is recommended, so you can git pull later without having to stash or reset your changes.

Unix-like systems

The kernel can be built using the preproc library and provided scripts:

lua build.lua module/init.lua kernel.lua

PsychOS

The kernel can be built from inside PsychOS using the preproc library, assuming you have the kernel source available:

preproc("module/init.lua","kernel.lua")

The boot filesystem

A boot filesystem contains several things:

  • The kernel, as init.lua
  • The lib/ directory, containing libraries
  • The service/ directory, containing system services

This has been automated in the form of build.sh, pending a real makefile.

Documentation

Documentation is generated as the system is built with build.sh; a set of markdown files will be placed into doc/, as well as an all-in-one apidoc.md. If pandoc is installed, an apidoc.pdf will also be generated.