dmzOS/README.md

1.6 KiB

dmzOS

dmzOS is an operating system written by a group of computer enthusiasts gathered around Decentrala. You are free to explore, learn, and contribute!

Description:

  • Written from scratch in C and asm.
  • POSIX-compliant (as aspiring to 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.

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-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:

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.