1
1
mirror of https://git.shadowkat.net/izaya/OC-PsychOS2.git synced 2024-11-22 03:54:20 -05:00
Operating system for OpenComputers
Go to file
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
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
LICENSE Initial commit 2018-09-30 10:12:29 +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
README.md updated the README to represent the current state of the system 2020-06-05 23:06:37 +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

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.