kcfg | ||
lib | ||
module | ||
service | ||
.editorconfig | ||
.gitignore | ||
build.lua | ||
build.sh | ||
docs-metadata.yml | ||
finddesc.lua | ||
gendoc.lua | ||
LICENSE | ||
luapreproc.lua | ||
package.sh | ||
preproc.lua | ||
README.md | ||
template.tex |
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, as specified by a file in the kcfg directory, base
by default. Which modules are included can be customised by changing the include statements in the kernel configuration file; 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 kcfg/base.cfg kernel.lua
PsychOS
The kernel can be built from inside PsychOS using the preproc library, assuming you have the kernel source available:
preproc("kcfg/base.cfg","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
- The exec/ directory, containing single-shot executable files
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.