In order for U-Boot to load the OS from an SD card it needs to be built with support for MMC storage -- you can check if the vendor loader includes that by trying the mmc
command. If so, you can modify the bootcmd
variable to load the kernel uImage from the SD card. If not you will have to replace U-Boot (which also isn't that hard, thanks to mtk_uartboot
you can easily do this by try and error).
Alternatively, you can try to modify the board so the SoC would load the bootloader from the SD card instead of from the SPI NAND flash (ie. 11 : SNAND(SNFI) -> SD instead of 01 : SPI-NAND -> SD), see