From 0d7f55f01bb89c21498e3c453db6f8e2acd22578 Mon Sep 17 00:00:00 2001 From: XeonSquared Date: Wed, 19 Apr 2017 23:31:21 +1000 Subject: [PATCH] Added build instructions --- README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/README.md b/README.md index 5be0bc2..e9aa09a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,39 @@ # MultICE ## The MultIplexed Computing Environment for OpenComputers +A simple, unprotected, cooperative multitasking operating system. + +### Building +MultICE uses a relatively simple build system. It has been tested on Arch Linux, Debian Linux, OpenOS and Plan9k. +#### 1. Choose modules. +The system is made out of modules from the `modules/` directory. When you run the build script, it assembles them, and optionally optomises the code for space. + +Modules are specified in the `modules.cfg` file and are relative to the `modules/` folder. +An example for interactive usage with networking: +``` +base/header.lua +drivers/dterm.lua +library/print.lua +drivers/keyboard.lua +library/net.lua +applications/luash.lua +base/footer.lua +``` +#### 2. Configure build system +The build system has a configuration file `build.cfg`. +##### `optomise` +Can either be yes or no. +Specifies whether to run the simple optomisation function on the kernel. +##### `test` +Can either be yes or no. +Specifies whether to test the final kernel (using load). Only picks up syntax errors. +##### `log` +Can either be yes or no. +Specifies whether to output log files. +##### `opath` +Specifies where to put the output kernel. + +#### 3. Build. +Simply run `build.lua`. Under OpenOS or plan9k that may just be going to the right dir and entering `build`, but under proper UNIX systems it may involve `lua build.lua`. ### Base OS API #### s(name,function,environment)