Observación:
- Tenga en cuenta que en ocaciones puede requerir permisos de SUPERUSUARIO
- Pueda que no sea suficiente con las instrucciones mostradas a continuación; le invito a abrir
issues
para sugerir ayudas.
- Litex
- Yosys
- arachne-pnr
- nextpnr [ic40hc y ecp5]
- Verilator
- Openocd
- Risc-v toolchain
- Lm-32 toolchain
- busybox
- vim
Para éste fin hay dos maneras posibles de hacerlo:
- Construyendo su propia imagen (haciendo uso del Dockerfile)
- Halando la imagen (hacer pull) desde dockerhub (imagen preconstruida)
A continuación se describe cómo hacer alguna de estas dos operaciones (no haga las dos!!!):
docker pull johnnycubides/litex
git clone https://github.com/johnnycubides/litex.git
cd litex
docker build -t litex-img -f Dockerfile .
Luego de tener la imagen en su equipo (puede comprobar ésto con docker images
),
ubíquese en el directorio que usted eligió para trabajar sus proyectos el cual
compartirá con el contenedor y luego haga lo siguiente:
docker run --privileged -v /dev/bus/usb:/dev/bus/usb -v $(pwd):/home --name litex -it -d johnnycubides/litex
Si requiere hacer uso de alguna aplicación con GUI podría hacer uso de éste comando:
docker run --privileged --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --net=host -v /dev/bus/usb:/dev/bus/usb -v $(pwd):/home --name litex -it -d johnnycubides/litex
Al ejecutar el siguiente comando debe aparecer en la lista de los contenedores el contenedor litex corriendo.
docker container ps
Los contenedores que no están iniciados se pueden ver con el siguiente comando
docker container ps -a
A partir de acá ya puede hacer uso de las herramientas instaladas; haga uso del siguiente comando:
docker exec -it litex bash
Atentamente:
Johnny Cubides