42 lines
1.2 KiB
Markdown
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*.
|