Go to file
Dylan Bautista 492c540bf5
Some checks failed
CI / build:qemu-lagarto-ox (push) Has been cancelled
Add kernel arguments from host to QEMU. Enable CI functionality.
2025-02-27 11:15:05 +01:00
.gitea/workflows Add kernel arguments from host to QEMU. Enable CI functionality. 2025-02-27 11:15:05 +01:00
bootrom Update bootrom gitignore 2024-08-23 21:22:22 +02:00
dts Configure SPI addresses in header 2024-10-11 11:01:48 +02:00
fpga Switch to debug2 instead of bench2 2024-10-11 11:05:45 +02:00
patches Print a message before we drop to a shell 2024-10-11 11:06:36 +02:00
pkgs Change rvb to rvb-clang and fix benchmarks 2025-01-29 15:06:49 +01:00
tools Add more operations to plictool 2024-10-02 14:50:33 +02:00
.gitignore Add gcroots to gitignore 2024-09-25 10:22:17 +02:00
.gitlab-ci.yml Add RISC-V benchmarks to bench2 2024-12-09 10:47:01 +01:00
boot.sh Add kernel arguments from host to QEMU. Enable CI functionality. 2025-02-27 11:15:05 +01:00
configuration.nix Change rvb to rvb-clang and fix benchmarks 2025-01-29 15:06:49 +01:00
flake.lock flake.lock: Update 2024-09-25 10:24:31 +02:00
flake.nix Add rsync to shell dependencies 2025-01-24 17:47:47 +01:00
JOURNAL.md Add SPEC mini result 2024-10-11 09:40:40 +02:00
lagarto-hun.nix Move patches to its own directory 2024-09-06 08:22:14 +02:00
lagarto-ox.nix Add kernel arguments from host to QEMU. Enable CI functionality. 2025-02-27 11:15:05 +01:00
no-compressed.nix Add no compressed specific overlay 2024-03-07 12:04:05 +01:00
NOTES.md Add RISC-V benchmarks to bench2 2024-12-09 10:47:01 +01:00
overlay.nix Change rvb to rvb-clang and fix benchmarks 2025-01-29 15:06:49 +01:00
README.md Add kernel arguments from host to QEMU. Enable CI functionality. 2025-02-27 11:15:05 +01:00
verify-bench2.awk Add kernel arguments from host to QEMU. Enable CI functionality. 2025-02-27 11:15:05 +01:00
vm.nix Add qemu support for Lagarto Ox 2024-10-25 13:05:29 +02:00

NixOS on RISC-V

This repository contains NixOS configurations for different RISC-V machines.

Lagarto Ox on FPGA Alveo U55C

To build the system and boot it on an FPGA of the MEEP cluster, you can run the following:

$ nix develop -L '.#lagarto-ox' --command fpga/run-remotely.sh fpgalogin1:ci

To do it manually, you can first enter the development shell:

$ nix develop -L '.#lagarto-ox'

Then upload the files to the target machine (fpgalogin1 by default):

$ fpga/upload.sh

Then connect to the fpgalogin1 machine, allocate a FPGA node and load the environment there:

$ cd nixos
$ . env.sh

Flash the images to the FPGA:

$ ./fpgactl -w bitstream.bit -b opensbi.bin -k kernel.bin -i initrd.bin -r rootfs.img

And monitor the serial line:

$ picocom -q -b 115200 $FPGACTL_UART

It should boot without any user interaction.

Lagarto Ox on QEMU

To build the system and boot it on QEMU, you can run the following:

$ nix develop -L '.#qemu-lagarto-ox'

Then, simply run boot.sh to start the QEMU system.

$ ./boot.sh

To execute the RISC-V benchmark suite on boot stage 2, run boot.sh with the bench2 option.

$ ./boot.sh bench2

To open a debug shell on boot stage 2, run boot.sh with the debug2 option.

$ ./boot.sh debug2

Lagarto Hun

WIP