Update README.md
This commit is contained in:
		
							
								
								
									
										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. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user