boot from SD card on Radxa Rock

RK3188 can boot from SD card without on-board NAND flash at all. bootloader, kernel, and ramdisk can be loaded from SD card.

this is not the thing which boots from NAND and uses SD card just for root file system. don't assume, don't talk this as something else.

how to make bootable SD card

sdboot_rk3188_miniroot.zip (slightly outpudated. please refer U-Boot for Rockchip too.)

dd if=sdboot_rk3188.img of=/dev/XXX conv=sync,fsync
dd if=parameter.img of=/dev/XXX conv=sync,fsync seek=$((0x2000))
dd if=kernel.img of=/dev/XXX conv=sync,fsync seek=$((0x2000+0x4000))
dd if=boot.img of=/dev/XXX conv=sync,fsync seek=$((0x2000+0xc000))

replace /dev/XXX with correct path for SD card on your machine.

you can use kernel.img for your device.

first 81920 sectors (40MiB) are reserved for boot loader, kernel, and ramdisk. you can make partition(s) after 81920 sector. (reserved size can be modified by mtdparts information in parameter)

detail

the most important part is in sdboot_rk3188.img. it consists 3 parts, a magic header (at 0x8000), FlashData (at 0x8800), and FlashBoot (at 0xb800).

rest of files in zip are just an example. they are usual images for Rockchip device, you can replace them as usual. you can use rkcrc in rkutils to make parameter.img, kernel.img, and ramdisk-only boot.img. you may use kernel+ramdisk image which can be made by mkbootimg for Rockchip.

if you can see logo and/or any message from kernel, kernel is loaded properly, i.e. "boot from SD card" is working. if you can see any error at/after mounting root file system, you need to fix ramdisk and/or root file system.

see also