Add readme and build.sh

This commit is contained in:
Santiago Lo Coco 2021-10-26 23:02:48 -03:00
parent af241224c9
commit 85ab947672
2 changed files with 79 additions and 0 deletions

55
README.md Normal file
View File

@ -0,0 +1,55 @@
# BottlerOS
BottlerOS es un sistema operativo...
## Table de contenidos
* [Requisitos](#requisitos)
* [Compilación](#compilación)
* [Ejecución](#ejecución)
* [Testeos](#tests)
## Requisitos <a name="requisitos"></a>
Debe instalar nasm, qemu, gcc, make. Estos se encuentra disponibles en el repositorio de la vasta mayoría de distribuciones de Linux/macOS.
Debian/Ubuntu: `apt install nasm qemu gcc make`\
macOS (con [homebrew](https://brew.sh/)): `brew install nasm qemu gcc make`
Si tiene otra distribución consulte cómo hacerlo.
## Compilación <a name="compilación"></a>
Para compilar todos los archivos se debe ejecutar el script `build.sh` (desde la carpeta raíz del proyecto). Note que usted podrá pasarle como argumento `buddy` si desea compilar con este memory manager (por defecto no compilará con este).
```bash
./build.sh
```
## Ejecución <a name="ejecución"></a>
Ahora, usted podrá ejecutar BottlerOS haciendo:
```bash
./run.sh
```
Si, en su defecto, usted quiere correr el OS desde windows lo podrá hacer con:
```bash
./run.bat
```
## Testeos <a name="tests"></a>
En orden de realizar un análisis estático del sistema usted debe tener instalado [cppcheck](http://cppcheck.net/) y [pvs-studio](https://pvs-studio.com/). Luego, puede correrlos con:
```bash
make test
```
Por último, si quiere hacer un análisis dinámico (usando [valgrind](https://valgrind.org/)) debe ejecutar ...
# Autores
- Barmasch, Juan Martín (61033)
- Bellver, Ezequiel (61268)
- Lo Coco, Santiago (61301)

24
build.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
if ! ls | grep -q "build.sh"; then
echo "You must be in the root folder of the project"
exit 1
fi
cd Toolchain
make all
cd ..
if [ $# -eq 1 ]; then
if [ $1 = "buddy" ]; then
make buddy
else
echo "Do you want to compile with the buddy memory manager? if so, you must pass buddy as argument"
fi
elif [ $# -eq 0 ]; then
make all
else
echo "You can only enter one parameter or none"
fi