Update README.md
This commit is contained in:
parent
c5f8da292d
commit
5438b0f495
38
README.md
38
README.md
@ -1,24 +1,48 @@
|
||||
# dmzOS
|
||||
|
||||
## About
|
||||
**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:
|
||||
### 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:
|
||||
### Goals
|
||||
* Sharpen low-level programming skills.
|
||||
* Familiarize with amd64 architecture details.
|
||||
* Have fun along the way!
|
||||
|
||||
Success criteria:
|
||||
### Success criteria
|
||||
* Run vim on the OS.
|
||||
|
||||
Rules:
|
||||
### 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).
|
||||
To learn more about the project, please refer to the [Wiki](https://gitea.dmz.rs/sborovic/dmzOS/wiki).
|
||||
|
||||
TEST
|
||||
## DevOps
|
||||
### Development environment
|
||||
Essential software (plus dependencies) that are needed for the development are available through a custom Ubuntu-based Docker image (located in `Dockerfiles/dockerfile.c_toolchain` as well as on Docker Hub). This includes:
|
||||
- `gcc`: *The GNU Compiler Collection.*
|
||||
- `indent` GNU C code formatter.
|
||||
- `clang`: a compiler front end for the C, C++, Objective-C, and Objective-C++ programming languages
|
||||
- `clang-format`: a tool to automatically format C/C++/Objective-C code
|
||||
- `gdb`: *The GNU Debugger.*
|
||||
- `make`: a tool which controls the generation of executables and other non-source files of a program from the program's source files.
|
||||
- `objdump`: a command-line program for displaying various information about object files.
|
||||
- `nasm`: *The Netwide Assembler* is an assembler and disassembler for the Intel x86 architecture.
|
||||
- `xxd`: a command-line program that may be used to manage, convert, and display binary files.
|
||||
- `vim`: a highly configurable text editor.
|
||||
> *Note*
|
||||
> A `.vimrc` file with a rule to format code on buffer save in line with *Kernighan and Ritchie style* (with 4-space indentation) comes pre-installed inside the image.
|
||||
|
||||
Booting the latest `.iso` image of *dmzOS* is done using a [Dockerized QEMU](https://github.com/qemus/qemu-docker).
|
||||
|
||||
#### Command cheatsheet
|
||||
* To get into a `bash` shell that is bound to the `dmzOS` directory:
|
||||
```docker
|
||||
docker-compose run --rm c_toolchain
|
||||
```
|
||||
> *Note*
|
||||
> Any changes in the container's `dmzOS` directory will be reflected in the local `dmzOS` directory.
|
||||
|
Loading…
Reference in New Issue
Block a user