Here are some more detailed instructions.
I'm always try to work with pretty much the latest u-boot and kernel. There may be some errors here as I use scripts for a lot of my building and setup. Most of below has been taken from my bash history.
Prepare your card
(echo n; echo p; echo 1; echo 2048; echo +15M; echo n; echo p; echo 2; echo 32768; echo +240M; echo p; echo w) | fdisk /dev/<CARD_LOCATION>
mkfs.vfat /dev/<CARD_LOCATION>1
Build u-boot
In your u-boot git have the following remotes.
git remote add jemk
https://github.com/jemk/u-boot-sunxi.git (this is where the patches are)
git remote add sunxi-wip
https://github.com/jwrdegoede/u-boot-sunxi (Hans' development track for u-boot)
git fetch --all
git branch orangepi sunxi-wip/sunxi-wip (creates new branch at the latest commit from Hans)
git checkout orangepi
git cherry-pick jemk/sunxi/h3~4..jemk/sunxi/h3 (this adds jemk's h3 patches to the latest u-boot)
make ARCH=arm -j 18 CROSS_COMPILE=arm-linux-gnueabihf- xunlong_orangepi_plus_defconfig
make ARCH=arm -j 18 CROSS_COMPILE=arm-linux-gnueabihf-
dd if=u-boot-sunxi-with-spl.bin of=/dev/<CARD_LOCATION> bs=1024 seek=8
sync
At this point the card should boot to u-boot prompt
Build kernel
In your kernel git have the following remote.
git remote add linux-next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next
git fetch --all
git branch orangepi linux-next/master
Download the patches from these links
https://patchwork.kernel.org/patch/7458451/
https://patchwork.kernel.org/patch/7458441/
https://patchwork.kernel.org/patch/7458701/
https://patchwork.kernel.org/patch/7458631/
https://patchwork.kernel.org/patch/7458651/
https://patchwork.kernel.org/patch/7458661/
git am *.patch (make sure no other patches are in your repo directory)
make ARCH=arm -j 18 CROSS_COMPILE=arm-linux-gnueabihf- sunxi_defconfig
make ARCH=arm -j 18 CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x40008000 INSTALL_MOD_PATH=output uImage dtbs modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=output modules_install (can be ignored for now)
Write to card
mkdir /tmp/sdcard
mount -t vfat /dev/<CARD_LOCATION>1 /tmp/sdcard/
cp <kernel dir>/arch/arm/boot/uImage /tmp/sdcard/.
cp <kernel dir>/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dtb /tmp/sdcard/.
cat > /tmp/boot.cmd << "EOF"
#COMMON SETTINGS
setenv fdt_high ffffffff
#Settings for booting from the card.
setenv loadkernel fatload mmc 0 \$kernel_addr_r uImage
setenv loaddtb fatload mmc 0 \$fdt_addr_r sun8i-h3-orangepi-plus.dtb
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
setenv uenvcmd run loadkernel \&\& run loaddtb \&\& bootm \$kernel_addr_r - \$fdt_addr_r
run uenvcmd
EOF
mkimage -C none -A arm -T script -d /tmp/boot.cmd /tmp/sdcard/boot.scr
cat > /tmp/sdcard/uEnv.txt << EOF
setenv fdt_high ffffffff
setenv loadkernel fatload mmc 0 \$kernel_addr_r uImage
setenv loaddtb fatload mmc 0 \$fdt_addr_r sun8i-h3-orangepi-plus.dtb
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
setenv uenvcmd run loadkernel \&\& run loaddtb \&\& bootm \$kernel_addr_r - \$fdt_addr_r
run uenvcmd
EOF
cd /tmp/
wget
http://downloads.openwrt.org/sna ... wrt-sunxi-root.ext4
resize2fs /tmp/openwrt-sunxi-root.ext4 240M
dd if=/tmp/openwrt-sunxi-root.ext4 of=/dev/<CARD_LOCATION>2 bs=128k
sync
umount /tmp/sdcard
This should now boot to the openwrt prompt.