Can't mount FS from qSPI

I start to play with SoCKit and i have specific task, my first goal is to run Linux console from SoC with usage of qSPI and TFTP (goal also don’t use SDcard at all), also i don’t need to start FPGA part from HPS, so i use EPCQ and .jic file for FPGA part.
I have Quartus 18.1 with GHRD 16, virtual machine with Ubuntu 12.04.5.
For start i try TFTP part:
I made preloader which run from FPGA RAM, U-boot which run from qSPI, i succesfuly make separate zImage, device tree, and filesystem with help of linux-socfpga.git(socfpga-4.14.130-ltsi) and buildroot (2015.08.x). I did setup TFTP and NFS server, and after U-boot start, in console i run script “run get-dtb get-kernel bridge_enable_handoff bootnfs” and received “Hello” from buildroot Linux, also i see filesystem (unpacked .tar) which reside on my Host virtual machine.

Next step i load generated zImage on 0xa0000, device tree on 0x50000 and .jffs2 file to 0x800000 address of qSPI and run script “run bridge_enable_handoff qspiload qspiboot” which start to boot Linux but stop at Kernnel panic - unable to mount fs on unknown-block(0,0).

So as i understand i have working zImage, seems good device tree, but may be bad filesystem?

And may be i go wrong in my sequence of steps ?

P.S. i seems strage to me that generated .tar filesystem have size about 1.3MB and .jffs2 filesystem have size around 700kB.

Does anyone have WORKING guide(step-by-step instruction) on how-to make working Linux build and run Linux application on SoCKit with use of qSPI as main storage for Preloader, U-boot, dtb, kernel and filesystem? without using SDcard at all? All guides that i try do not give positive results.