The above steps are really inconvenient, so we have provided some build scripts which essentially wraps those commands.

Please note that those scripts are assumed your directory structure is same with the one created by manifest.

compile kernel

build/mk-kernel.sh firefly

compile uboot

build/mk-uboot.sh firefly

pack kernel and extlinux as boot.img

`extlinux.conf` template is under `build/extlinux`.

build/mk-image.sh -c rk3288 -t boot

pack one image

`s` is size in Mbyte, `r` is your rootfs image location.

build/mk-image.sh -c rk3288 -t system -s 3000 -r rk-debian-build/linaro-rootfs.img

flash image

Please note that you must flash system image before burning the other single image. (To write gpt partitions)
`p` is the target partiton which is defined in partition.sh, `i` is your image location.

eMMC:
You must get your board into ROM boot mode.
If your board can't easily enter maskrom(e.g. firefly), you'd better use sd-card.
If your board is packed, i recommend to use ums or fastboot(issuing "reboot ums" when in linux).

build/flash_tool.sh  -c rk3288 -p system  -i  out/system.img

SD Card:
`d` is your target device

build/flash_tool.sh -c rk3288 -p loader  -i  out/u-boot.out -d /dev/sdb

Some cases

first using

build/mk-kernel.sh firefly
build/mk-uboot.sh firefly
build/mk-image.sh -c rk3288 -t boot
build/mk-image.sh -c rk3288 -t system -s 3000 -r rk-debian-build/linaro-rootfs.img
build/flash_tool.sh -p system -i out/system.img

update kernel

build/mk-kernel.sh firefly
build/mk-image.sh -c rk3288 -t boot
build/flash_tool.sh -p boot -i out/boot.img

update uboot

build/mk-uboot.sh firefly

build/flash_tool.sh -p loader -i out/u-boot.out