diff --git a/.gitignore b/.gitignore index 8981efca..d2c1b921 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,7 @@ src/-lstdc++.res # Neural network for the NNUE evaluation **/*.nnue +# Cartesi binaries +cartesi/img/stockfish +cartesi/stockfish.ext2 + diff --git a/README.md b/README.md index 6ad35cf0..c14e5a11 100644 --- a/README.md +++ b/README.md @@ -20,14 +20,40 @@ riscv64-cartesi-linux-gnu-gcc # Build Note, the Makefile kludge disables things like "tests". -Run: +Run this to build stockfish binary for riscv64 using Cartesi GCC toolchain: ``` +cd src make -j build ARCH=riscv64 COMP=riscv64-cartesi-linux-gnu-gcc COMPCXX=riscv64-cartesi-linux-gnu-g++ ``` +# Build Disk Images for Cartesi Emulator + +``` +# Go back to top level directory in this git repo: +cd .. + +# Copy newly built stockfish for cartesi disk image: +cp -p src/stockfish cartesi/img/stockfish + +# Make 64 megabyte ext2 disk image with stockfish and shell script +genext2fs -b 65536 -d cartesi/img cartesi/stockfish.ext2 +``` + # Run Stockfish in Emulator -TODO XXX +To run the disk images, using upstream rootfs: + +``` +# XXX too much memory, but default 64 megs isn't enough. +# Lower it & test. + +cartesi-machine \ + --ram-length=512Mi \ + --flash-drive=label:stockfish,filename:cartesi/stockfish.ext2 \ + --flash-drive=label:root,filename:/opt/cartesi/share/images/rootfs.ext2 \ + -- /mnt/stockfish/stockfish.sh + +``` # Upstream See: @@ -47,3 +73,10 @@ See: # Copying Same as upstream Stockfish, GPL v3. + +# Contact +``` +# y@deepcrayon.fish or jebba in Cartesi/Stockfish discord + +``` + diff --git a/cartesi/img/stockfish.sh b/cartesi/img/stockfish.sh new file mode 100755 index 00000000..05109800 --- /dev/null +++ b/cartesi/img/stockfish.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +echo +echo "Stockfish running under Cartesi virtual machine" +echo + +echo uci | /mnt/stockfish/stockfish + +exit +