forked from sborovic/dmzOS
47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# dmzOS
|
|
|
|
**dmzOS** is an operating system written by a group of computer enthusiasts gathered around [Decentrala](https://decentrala.org/). You are free to explore, learn, and contribute!
|
|
|
|
Description:
|
|
* Written from scratch in C and asm.
|
|
* POSIX-compliant (as aspiring to [Stan Dard](https://wiki.osdev.org/Stan_Dard)).
|
|
* For the amd64 architecture.
|
|
* Extensively documented.
|
|
|
|
Goals:
|
|
* Sharpen low-level programming skills.
|
|
* Familiarize with amd64 architecture details.
|
|
* Have fun along the way!
|
|
|
|
Success criteria:
|
|
* Run vim on the OS.
|
|
|
|
Rules:
|
|
* Please provide an adequate entry in the Wiki for each non-trivial code contribution.
|
|
|
|
For additional information, please refer to the [Wiki](https://gitea.dmz.rs/sborovic/dmzOS/wiki).
|
|
|
|
# Instructions for running the utilities
|
|
|
|
## c_toolchain utility docker image
|
|
|
|
This is the consistent C toolchain environment, containing all the tools needed to run and develop the project.
|
|
|
|
Dockerfile: `dockerfile.c_toolchain`
|
|
Run the docker-compose command to get a `bash` shell that is bound to the `dmzOS` directory:
|
|
```docker
|
|
docker-compose run --rm c_toolchain
|
|
```
|
|
|
|
Any changes in the container `dmzOS` directory will be reflected in the local `dmzOS` directory.
|
|
|
|
The image contains `indent` and `clang-format` as `C` code formatters.
|
|
|
|
A .vimrc file is automatically part of the image, and it contains a rule to make vim run the following formatting command on buffer save:
|
|
```bash
|
|
indent -kr -ts4 %
|
|
```
|
|
This is using the Kernighan and Ritchie code styling, as well as identations with 4 spaces.
|
|
|
|
If you want to use your own `.vimrc`, please replace the existing `.vimrc` file inside the `config` directory with it.
|