Operating system for OpenComputers
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
XeonSquared c0f8b9b900 attempt to load pkgfs if there's a package archive directory pirms 10 mēnešiem
cfg update to match latest diskpart pirms 10 mēnešiem
kcfg refactor build system to allow pulling libraries from packages, assuming directories are set up correctly pirms 10 mēnešiem
lib fix edge case where io.open(whatever):read() returns nil pirms 10 mēnešiem
module attempt to load pkgfs if there's a package archive directory pirms 10 mēnešiem
service moved fserv to its own package pirms 10 mēnešiem
.editorconfig clipboard: Make the clipboard service work under the new service sys pirms 4 gadiem
.gitignore clipboard: Make the clipboard service work under the new service sys pirms 4 gadiem
LICENSE Initial commit pirms 5 gadiem
README.md update to match latest diskpart pirms 10 mēnešiem
build.lua refactor build system to allow pulling libraries from packages, assuming directories are set up correctly pirms 10 mēnešiem
build.sh stamp the kernel variant onto the version string pirms 10 mēnešiem
docs-metadata.yml added a title for PDF generation pirms 4 gadiem
finddesc.lua Fix document generation on Windows (using Git Bash) pirms 4 gadiem
gendoc.lua added doc() support for pre-compiled API documentation, wrote a generator for it, and included that in the build script pirms 4 gadiem
luapreproc.lua added type annotations and descriptions for functions where appropriate pirms 4 gadiem
package.sh added minitel to the default init, updated the package script pirms 4 gadiem
preproc.lua update to match latest diskpart pirms 10 mēnešiem
template.tex updated finddesc to use the new doc library, allowing type annotations and building a directory of documentation pirms 4 gadiem

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