Operating system for OpenComputers
Go to file
Izaya 8e84eb0c67 switched to using string.(un)pack in libmtar and liblz16, meaning it works on both big and little endian machines, and should be smaller and faster 2021-05-26 16:15:24 +10:00
cfg cleaner default source list 2020-06-08 10:36:36 +10:00
lib switched to using string.(un)pack in libmtar and liblz16, meaning it works on both big and little endian machines, and should be smaller and faster 2021-05-26 16:15:24 +10:00
module added some more keyboard shortcuts to io.read linemode 2020-08-21 10:18:43 +10:00
service modify the two services people actually use to work with the new service semantics 2020-06-29 15:31:12 +10:00
.editorconfig clipboard: Make the clipboard service work under the new service sys 2020-05-21 15:02:46 -04:00
.gitignore clipboard: Make the clipboard service work under the new service sys 2020-05-21 15:02:46 -04:00
LICENSE Initial commit 2018-09-30 10:12:29 +10:00
README.md updated the README to represent the current state of the system 2020-06-05 23:06:37 +10:00
build.lua added the preproc library, meaning PsychOS is nominally self-hosting 2020-06-03 09:55:22 +10:00
build.sh bumped the version number because we selfhosting now 2020-06-03 09:56:41 +10:00
docs-metadata.yml added a title for PDF generation 2020-05-12 16:11:51 +10:00
finddesc.lua Fix document generation on Windows (using Git Bash) 2020-05-12 16:29:44 +01:00
gendoc.lua added doc() support for pre-compiled API documentation, wrote a generator for it, and included that in the build script 2020-05-12 16:59:17 +10:00
luapreproc.lua added type annotations and descriptions for functions where appropriate 2020-05-12 17:55:05 +10:00
package.sh added minitel to the default init, updated the package script 2019-11-20 08:30:38 +11:00
preproc.lua move actual preproc lib into folder rather than symlinking to the version in lib/, a better solution will be considered later 2020-06-07 23:29:26 +10:00
template.tex updated finddesc to use the new doc library, allowing type annotations and building a directory of documentation 2020-05-12 12:01:44 +10:00

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.