It's really not very difficult to do this. RISC-V is deliberately quite a simple ISA. The Sail model for it is only a few thousand lines of code, and you don't need remotely that much to run Linux if you compile for a limited target ISA (no floating point, etc.).