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 /var/lib/tftpboot
to tftp
clients like U-Boot.
Assuming that you have copied zImage
and am335x-boneblack.dtb
into /var/lib/tftpboot
, enter these commands into U-Boot to load and boot:
setenv serverip 192.168.1.1 setenv ipaddr 192.168.1.101 tftpboot 0x80200000 zImage tftpboot 0x80f00000 am335x-boneblack.dtb setenv npath...