Raspberry Pi 3: sysupgrade fails but flash to SD card works

I am able to build image for Raspberry Pi 3 Model B. I can flash the image on SD card (using dd command) and system comes up correctly. However when I build a new image after making code changes and try to upgrade to it, system no longer comes up. If I take the same image and flash it directly on SD card, all is fine. I can't explain why sysupgrade or upgrade via Luci fails. I don't know the exact nature of failure yet (I don't have RP3 connected to monitor) but I can't ping the system.

root@LEDE:~# sysupgrade -v /tmp/lede-brcm2708-bcm2710-rpi-3-ext4-sdcard.img 
Image metadata not found
Saving config files...
etc/config/dhcp
etc/config/dropbear
etc/config/firewall
etc/config/luci
etc/config/network
etc/config/rpcd
etc/config/system
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/dropbear/dropbear_rsa_host_key
etc/group
etc/hosts
etc/inittab
etc/luci-uploads/.placeholder
etc/opkg/keys/5151f69420c3f508
etc/opkg/keys/5e773ca0481d1c2
etc/opkg/keys/72a57f2191b211e0
etc/opkg/keys/792d9d9b39f180dc
etc/opkg/keys/9ef4694208102c43
etc/opkg/keys/b5043e70f9a75cde
etc/opkg/keys/dace9d4df16896bf
etc/opkg/keys/dd6de0d06bbd3d85
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/sysctl.conf
etc/sysctl.d/local.conf
Sending TERM to remaining processes ... ubusd askfirst askfirst logd rpcd netifd odhcpd uhttpd ntpd dnsmasq 
Sending KILL to remaining processes ... askfirst askfirst 
Switching to ramdisk...
Performing system upgrade...
21+1663 records in
21+1663 records out
Upgrade completed
Rebooting system...
umount: can't unmount /dev/pts: Resource busy
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy

Some other details:

  1. I am building on Ubuntu
  2. git branch -v
  • lede-17.01 18c999a base-files: fix off-by-one in counting seconds for factory reset
    master. 9046e92 mac80211: brcmfmac: better logging of firmware api errors
  1. git remote -v
    origin https://git.openwrt.org/openwrt/openwrt.git (fetch)
    origin https://git.openwrt.org/openwrt/openwrt.git (push)