Rock/make sd image
Rock/pro/lite has on board NAND flash, but can also boot from exteranl uSD card. uSD card has a higher booting priority. This page introduce how to make a completely off NAND bootable image for sd card.
To boot from uSD card and run the system on uSD card, we need the following
- bootloader for booting from uSD card - u-boot-sd.img
- parameter for uSD card layout and kernel cmdline - parameter.img
- kernel+ramdisk - boot.img
- a rootfs - rootfs.ext4
u-boot for sdcard
Follow the instruction at Make u-boot for sdcard to create the u-boot-sd.img for sd card.
get the parameter
Download the parameter from dl.radxa.com
wget http://dl.radxa.com/rock/images/parameter/parameter_linux_sd rkcrc -p parameter_linux_sd parameter.img #where to get rkcrc, refer to http://radxa.com/Rock/flash_the_image "Flash with rkflashtool"
build the kernel
make the roofts
Write to the sdcard
First, let's clean the uSD card.
sudo dd if=/dev/zero of=/dev/sdx bs=1M count=1
Then, create the partitions with fdisk
why the start sector is 65536(32MB offset) is we need reserve some sectors # for boot.img/parameter/bootloader before the filesystem starts.
sudo fdisk /dev/sdx << EOF n p 1 $START_SECTOR w EOF
Now we have a new partition for rootfs starting at START_SECTOR. It's time to write the images to the sdcard.
sudo dd if=u-boot-sd.img of=/dev/sdx conv=sync seek=64 sudo dd if=parameter.img of=/dev/sdx conv=sync seek=$((0x2000)) sudo dd if=boot.img of=/dev/sdx conv=sync seek=$((0x2000+0x2000)) sudo dd if=rootfs.ext4 of=/dev/sdx1 conv=sync
Insert the uSD card to rock/pro/lite, you can boot from uSD card now.