nixos-riscv/README.md
Dylan Bautista 8da3468ee2 Add qemu support for Lagarto Ox
The network is still not working automatically, but the eth0 device is
present in the host.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2024-10-25 13:05:29 +02:00

65 lines
1.1 KiB
Markdown

# 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
```
## Lagarto Hun
WIP