diff --git a/Makefile b/Makefile index 4d62846..2a4646f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ .PHONY: images f4pga buildroot litex clone help attach hardware-image \ - buildroot-image litex-f4pga-image hardware-container \ - upsilon.tar.gz upsilon-opensbi.tar.gz + buildroot-image litex-f4pga-image \ + upsilon-hardware.tar.gz upsilon-opensbi.tar.gz upsilon-buildroot.tar.gz ###### Images @@ -20,48 +20,68 @@ opensbi-image: opensbi.tar.gz ### Hardware container hardware-container: - docker run -d --name upsilon-hardware-container upsilon-litex-f4pga-env /bin/sh -c 'while true; do sleep 2; done' -hardware-container-copy: upsilon-hardware.tar.gz + docker run -d --name upsilon-hardware upsilon-litex-f4pga-env /bin/sh -c 'while true; do sleep 2; done' +hardware-copy: upsilon-hardware.tar.gz # XXX: this always fails if there are very high UIDs, but the # file is copied successfully. - -docker cp upsilon-hardware.tar.gz upsilon-hardware-container:/home/user/upsilon-hardware.tar.gz -hardware-container-shell: - docker exec -ti upsilon-hardware-container /bin/bash -l -hardware-container-clean: - -docker container stop upsilon-hardware-container - -docker container rm upsilon-hardware-container + -docker cp upsilon-hardware.tar.gz upsilon-hardware:/home/user/upsilon-hardware.tar.gz +hardware-execute: + docker exec -ti upsilon-hardware /bin/bash -lc ' \ + tar -xvf upsilon-hardware.tar.gz && \ + cd upsilon/firmware && \ + source ~/conda/xc7/conda/etc/profile.d/conda.sh && \ + conda activate xc7 && \ + make clean && make' +hardware-shell: + docker exec -ti upsilon-hardware /bin/bash -l +hardware-get: + docker cp upsilon-hardware:/home/user/upsilon/firmware/build/digilent_arty/gateware/digilent_arty.bit upsilon/boot/ + docker cp upsilon-hardware:/home/user/upsilon/firmware/arty.dtb upsilon/boot/ +hardware-clean: + -docker container stop upsilon-hardware + -docker container rm upsilon-hardware ### OpenSBI Container opensbi-container: - docker run -d --name upsilon-opensbi-container upsilon-opensbi-env /bin/sh -c 'while true; do sleep 2; done' -opensbi-container-copy: upsilon-opensbi.tar.gz - -docker cp upsilon-opensbi.tar.gz upsilon-opensbi-container:/home/user/upsilon-opensbi.tar.gz -opensbi-container-execute: - docker exec -ti upsilon-opensbi-container /bin/bash -c ' \ + docker run -d --name upsilon-opensbi upsilon-opensbi-env /bin/sh -c 'while true; do sleep 2; done' +opensbi-copy: upsilon-opensbi.tar.gz + -docker cp upsilon-opensbi.tar.gz upsilon-opensbi:/home/user/upsilon-opensbi.tar.gz +opensbi-get: + docker cp upsilon-opensbi:/home/user/opensbi/build/platform/litex/vexriscv/firmware/fw_jump.bin upsilon/boot/ +opensbi-shell: + docker exec -ti upsilon-opensbi /bin/bash -l +opensbi-execute: + docker exec -ti upsilon-opensbi /bin/bash -c ' \ tar -xvf upsilon-opensbi.tar.gz && \ cd opensbi && \ + make clean && \ make CROSS_COMPILE=riscv64-linux-gnu- PLATFORM=litex/vexriscv \ ' -opensbi-container-clean: - -docker container stop upsilon-opensbi-container - -docker container rm upsilon-opensbi-container +opensbi-clean: + -docker container stop upsilon-opensbi + -docker container rm upsilon-opensbi ### Buildroot Container buildroot-container: - docker run -d --name upsilon-buildroot-container upsilon-buildroot-env /bin/sh -c 'while true; do sleep 2; done' -buildroot-container-copy: upsilon-buildroot.tar.gz - -docker cp upsilon-buildroot.tar.gz upsilon-buildroot-container:/home/user/upsilon-buildroot.tar.gz -buildroot-container-execute: - docker exec -ti upsilon-buildroot-container /bin/bash -c ' \ + docker run -d --name upsilon-buildroot upsilon-buildroot-env /bin/sh -c 'while true; do sleep 2; done' +buildroot-copy: upsilon-buildroot.tar.gz + -docker cp upsilon-buildroot.tar.gz upsilon-buildroot:/home/user/upsilon-buildroot.tar.gz +buildroot-shell: + docker exec -ti upsilon-buildroot /bin/bash -l +buildroot-get: + docker cp upsilon-buildroot:/home/user/buildroot/output/images/Image upsilon/boot/ + docker cp upsilon-buildroot:/home/user/buildroot/output/images/rootfs.cpio upsilon/boot/ +buildroot-execute: + docker exec -ti upsilon-buildroot /bin/bash -c ' \ tar -xvf upsilon-buildroot.tar.gz && \ cd buildroot && \ make BR2_EXTERNAL=../upsilon/buildroot litex_vexriscv_defconfig && \ make ' -buildroot-container-clean: - -docker container stop upsilon-buildroot-container - -docker container rm upsilon-buildroot-container +buildroot-clean: + -docker container stop upsilon-buildroot + -docker container rm upsilon-buildroot ###### External projects