> For the complete documentation index, see [llms.txt](https://hernandez-kevin.gitbook.io/la-guia-del-frijol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hernandez-kevin.gitbook.io/la-guia-del-frijol/instalacion-de-pintos/config-pintos.md).

# Configuración

La criatura debe dar sus primeros pasos

{% hint style="info" %}
Recuerda, esta guía asume que PintOS está ubicado en el directorio ***home***.\
Las siguientes configuraciones tendrán rutas distintas si PintOS se encuentra en otro directorio.
{% endhint %}

## GDBMACROS

Debemos de modificar el archivo ***pintods-gdb*** ubicado en el directorio ***pintos/utils***

Busca esta línea de código:

```bash
GDBMACROS=$(dirname $0)/../misc/gdb-macros
```

Y cámbiala a:

```bash
GDBMACROS=‘~/pintos/misc/gdb-macros’
```

Esto nos servirá cuando necesitemos debuggear PintOS empleando GDB.

## Compila las Utilidades

Ejecuta lo siguiente:

```bash
cd ~/pintos/utils
make
```

Esto compilará ciertos archivos que serán útiles a lo largo del desarrollo de PintOS y su funcionamiento.

{% hint style="info" %}
Si sale algún error, ignóralo y procede al siguiente paso
{% endhint %}

## Editar **Make.vars en el Directorio Threads**

Este paso nos servirá para preparar PintOS para la primera fase del proyecto que es sobre Threads. Próximamente estará leyendo eso.

Abre el archivo ***Make.vars*** ubicado en el directorio ***threads/*** y busca la siguiente línea de código:

```bash
SIMULATOR = --bochs
```

Cámbiala a lo siguiente:

```bash
SIMULATOR = --qemu
```

El propósito de este este paso es indicarle a PintOS que para la ***Fase 1*** se estará utilizando el simulador ***Qemu***.

## Compilar PintOS

Ejecuta lo siguiente:

```bash
cd ~/pintos/threads
make
```

Con eso, ya PintOS compiló los archivos necesarios para la fase 1. Constantemente estarás ejecutando el comando ***make*** en ese directorio cuando realices cambios en algún archivo involucrado en la fase 1.

## Editar Pintos.pm

Para obligar que PintOS siempre utilice el simulador Qemu, debemos modificar el archivo ***Pintos.pm*** ubicado en el directorio ***utils/***.

Busca la siguiente línea:

```bash
$name = find_file ("loader.bin") if !defined $name;
```

Debes de reemplazar ***"loader.bin"*** por la ruta en donde se ubica ese archivo.\
Para ello, ejecuta lo siguiente:

```bash
cd ~/pintos/threads/build
pwd
```

Copia la ruta que te devuelve la consola y reemplaza ***loader.bin*** por dicha ruta y al final agrégale la referencia al archivo ***loader.bin***.

Este paso sirve para indicarle a PintOS que cuando empiece a correr, utilice ciertos archivos designados para esa fase.

{% hint style="info" %}
Este archivo lo estarás modificando otra vez en la fase 2.
{% endhint %}

## Editar Utilidades de PintOS

Ahora editaremos un archivo llamado ***pintos*** ubicado en el directorio ***utils/***.

Busca la siguiente línea:

```bash
my $name = find_file ('kernel.bin');
```

Debes de hacer lo mismo que hiciste con ***loader.bin*** pero ahora con el archivo ***kernel.bin.***\
***E***&#x6A;ecuta lo siguiente:

```bash
cd ~/pintos/threads/build
pwd
```

Copia la ruta que te devuelve la consola y reemplaza ***kernel.bin*** por dicha ruta agregándole de último la referencia a dicho archivo.

Este paso sirve para indicarle a PintOS que cuando empiece a correr, utilice el kernel que compilaste para la fase 1.

{% hint style="info" %}
Esta línea lo modificarás otra vez para la fase 2.
{% endhint %}

Luego, busca la siguiente línea y coméntala:

```bash
push (@cmd, ‘-no-kqemu’);
```

## Añadir referencia de Utils a la variable PATH

Con este paso, nos evitaremos escribir toda la ruta que referencia al directorio de ***utils/*** de PintOS cada vez que necesitamos correr una prueba.

Ejecuta lo siguiente:

```bash
cd ~/pintos/utils
pwd
```

Copia la ruta que te devuelve la consola y ejecuta este comando:

```bash
gedit ~/.bashrc
```

{% hint style="info" %}
Si no dispones del editor de texto ***gedit***, reemplaza esa parte del comando con otro editor de texto de tu preferencia
{% endhint %}

Este te abrirá un archivo. Busca el final del archivo y añade la siguiente línea de código:

```bash
export PATH=$PATH:<La ruta que copiaste anteriormente>
```

Guarda los cambios que hiciste, cierra la terminal que has usado y abre una nueva terminal.

Lo que acabamos de hacer es que ahora puedes invocar a pintos en cualquier momento y en cualquier directorio.
