dmzOS/README.md

47 lines
1.6 KiB
Markdown
Raw Normal View History

2024-02-09 16:36:44 +00:00
# dmzOS
2024-02-09 19:18:33 +00:00
**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!
2024-02-09 16:36:44 +00:00
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.
2024-02-09 19:18:33 +00:00
2024-02-11 15:41:10 +00:00
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.