I think this is a bit of an academic discussion, because Linux requires a lot of memory (relatively speaking), which in turn requires external memory in all but the largest FPGAs (for which there is no point in saving LUTs in the first place because you can fit dozens of even the largest cores). So your SoC will have to have some sort of bus interface and external memory controller. To give one data point, Petalinux (embedded Linux build which runs on Microblaze CPU) requires at least 32 MBytes of RAM. When I experimented with Petalinux on my Spartan-7 board, OS ended up consuming about 20 MBytes of RAM for itself, so for 32 MB of total RAM that doesn't leave very much for user applications. I don't know what RISC-V build of Linux requires (and I'm really curious to find out, so if someone knows - please let us know), but something tells me the requirement is in the same order of magnitude.
Sure. The assumption here is always going to be that you have external RAM of some kind -- DRAM with the FPGA vendor's DDR IP (not counted in the 10k LUT budget), or you can get 32Mx16 PSRAM for $7 that can be interfaced yourself very easily (i.e. 2 chips, 32Mx32, 128 MB).
RISC-V mainline Linux is very similar I've played around with a javascript implementation with Fedora here:
https://bellard.org/jslinux/vm.html?cpu=riscv64&url=fedora33-riscv.cfg&mem=3232 MB lets you boot into console with 15 MB free (19 available if freeing disk cache). You can use gcc to compile a small program, vi to edit it etc. It still works with 24 MB or even 20 MB.
Buildroot with 16 MB gives you 5 MB free, and is enough to let you compile and run hello.c. It even works in 15 MB, but that's the limit if you want to run gcc. If you just want to run existing undemanding binaries then 12 MB might be enough.
https://bellard.org/jslinux/vm.html?cpu=riscv64&url=buildroot-riscv64.cfg&mem=16You might be able to trim Buildroot to run in 8 MB, after some fashion.
Of course Fedora requires RV64GC, so double precision FPU etc, which is big. Buildroot or yocto/OpenEmbedded you could configure for RV32, no FPU -- not even integer multiply/divide if you wanted to.