OC-PsychOS/docs/building.md

42 lines
1.2 KiB
Markdown

# Building PsychOS
## Building on \*nix systems
### 1. Obtain source.
```
git clone https://github.com/XeonSquared/PsychOS.git
```
### 2. Build source.
```
./genkernel.sh
```
`genkernel.sh` is a wrapper script for genkernel.lua which is a wrapper program for the genkernel module that is actually used to generate the code.
To change the modules included, modify build.cfg.
## Building on PsychOS
### 1. Obtain source and relevant software.
At present, the way to do this is "copy them onto the installation."
If genkernel() isn't included in your kernel you can run it as a program using luash's ! prefix.
### 2. Run genkernel()
```
genkernel("/boot/PsychOS/build.cfg","custom")
```
This will generate a kernel from the files listed in /boot/PsychOS/build.cfg with "custom" as part of the kernel name and return the resulting kernel as a string. You can then write that string to a file or similar.
## Files
### genkernel.sh
genkernel.sh calls `genkernel.lua build.cfg`.
### genkernel.lua
Wrapper for modules/applications/genkernel.lua. Runs it with arguments.
### modules/applications/genkernel.lua
Both a PsychOS module and usable as a program.
#### genkernel(*bp*, *kn*)
Builds a kernel using the modules listed in *bp*, with \_OSNAME including *kn*.