# 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.