From 85ab94767232ca34bbe90fd953dd130695ca5c10 Mon Sep 17 00:00:00 2001 From: Santiago Lo Coco Date: Tue, 26 Oct 2021 23:02:48 -0300 Subject: [PATCH] Add readme and build.sh --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ build.sh | 24 ++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 README.md create mode 100755 build.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..a9ead4c --- /dev/null +++ b/README.md @@ -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 + +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 + +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 + +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 + +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) diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..90d1360 --- /dev/null +++ b/build.sh @@ -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 + +