nixos-riscv/fpga/run-node.sh

39 lines
923 B
Bash
Raw Permalink Normal View History

2024-08-26 17:14:53 +02:00
#!/usr/bin/bash
#set -x
set -e
echo "Hello from $(hostname)"
path="$1"
cd "$path"
# First kill any picocom instance
killall picocom || true
# Setup the environment
. env.sh
set -x
# Then perform the boot
2024-09-18 15:14:54 +02:00
./fpgactl -w bitstream.bit -b opensbi.bin -k kernel.bin -i initrd.bin -r rootfs.img
2024-08-26 17:14:53 +02:00
2024-10-10 10:28:48 +02:00
# Normal timeouts
timeout=$((30 * 60)) # Always stop after 30 min
timeout_silent=$((3 * 60)) # Stop if 3 min without output
2024-10-10 10:28:48 +02:00
# Timeouts for SPEC benchmarks
#timeout=$((12 * 60 * 60)) # Always stop after 12 h
#timeout_silent=$((4 * 60 * 60)) # Stop if 4 h without output (some benchmarks take 1.6h)
2024-08-26 17:14:53 +02:00
# Set dead switch
sleep $timeout && killall picocom &
2024-08-26 17:14:53 +02:00
# Note: --imap igncr is broken so we replace it with LF.
# See https://github.com/npat-efault/picocom/pull/114
# It looks like picocom is abandoned, we may want to switch to minicom or
# stty+cat
picocom --imap crlf -q -x $(($timeout_silent*1000)) -b 115200 $FPGACTL_UART