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 ef2c01b1d4 refactor build system to allow pulling libraries from packages, assuming directories are set up correctly 9 months ago
cfg and another one. oops. 9 months ago
kcfg refactor build system to allow pulling libraries from packages, assuming directories are set up correctly 9 months ago
lib steal gamax92's vcomponent library, which apparently works without modification 9 months ago
module refactor build system to allow pulling libraries from packages, assuming directories are set up correctly 9 months ago
service implement component.get for convenience 9 months ago
.editorconfig clipboard: Make the clipboard service work under the new service sys 4 years ago
.gitignore clipboard: Make the clipboard service work under the new service sys 4 years ago
LICENSE Initial commit 5 years ago
README.md updated the README to represent the current state of the system 3 years ago
build.lua refactor build system to allow pulling libraries from packages, assuming directories are set up correctly 9 months ago
build.sh refactor build system to allow pulling libraries from packages, assuming directories are set up correctly 9 months ago
docs-metadata.yml added a title for PDF generation 4 years ago
finddesc.lua Fix document generation on Windows (using Git Bash) 4 years ago
gendoc.lua added doc() support for pre-compiled API documentation, wrote a generator for it, and included that in the build script 4 years ago
luapreproc.lua added type annotations and descriptions for functions where appropriate 4 years ago
package.sh added minitel to the default init, updated the package script 4 years ago
preproc.lua refactor build system to allow pulling libraries from packages, assuming directories are set up correctly 9 months ago
template.tex updated finddesc to use the new doc library, allowing type annotations and building a directory of documentation 4 years ago

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.