It seems that you are dividing the flash partition in uboot and linux kernel differently, causing the kernel to misread the rootfs partition address and not be able to mount it.
The file "u-boot-sunxi-with-spl.bin" includes 2 parts SPL and uboot. Can anyone show me the address of SPL and uboot when writing to spi nand (SPL is probably at address 0x00)?