When working with real hardware such as the BeagleBone Black, it is best to load the kernel over the network, especially when the root filesystem is mounted via NFS. In this way, you are not using any local storage on the device. It saves time if you don't have to keep re-flashing the memory and means that you can get work done while the flash storage drivers are still being developed (it happens).
U-Boot has supported the Trivial File Transfer Protocol (TFTP) for many years. Firstly, you need to install a
tftp daemon on your development machine. On Ubuntu, you would install the
tftpd-hpa package, which grants read access to files in the directory
tftp clients like U-Boot.
Assuming that you have ...