Load image without SD Card

I have a beaglebone black placed in a sealed box. And I have two operating systems(QNX and debian). I have to switch between them by using ethernet or serial port because it is not possible to insert an SD Card since it is located in a sealed box. I succeeded loading QNX ifs file by using u-boot via tftp . Here's how:

setenv ipaddr
setenv serverip
tftp 0x81000000 if-ti-beaglebon.bin
setenv uenvcmd mmcinfo
setencv fatload mmc 0x81000000 ifs-ti-beaglebone.bin
go 0x81000000
Once the board booted up,I copy the full image of emmc(20mb) that I took before to tmp. I do this by using QNX Momentics IDE which allows me to drag and drop files(using qconn). Then I format the emmc and load the image:

mkdosfs /dev/emmc0
dd if=/tmp/my_qnx_image of=/dev/emmc0 conv=notrunc

I am not sure about if this is the right procedure to follow but it works for QNX.

My problem is I cannot do this for linux. Because the image I have is 3.7 gb. In u-boot phase, the files that are transferred via tftp are storred in RAM which is 512 mb.. I actually can load the image with sd card but when I test this with another beagle. I cannot use this approach with the final product.

Is there a way to load a big image ? For example can I use a file in a ftp server as "if" of a the dd command? Or is there a way to increase ram size up to 4 gb ? Or any other suggestions will be appreciated.