TFTP setup for the Beaglebone Black

How can I setup TFTP server for the Beaglebone Black?

This wont work with Angstrom Ubuntu or Fedora . . .but here ya go

http://www.embeddedhobbyist.com/debian-tips/beaglebone-black/beaglebone-black-network-boot/

This wont work with Angstrom Ubuntu or Fedora . . .but here ya go
http://www.embeddedhobbyist.com/debian-tips/beaglebone-black/beaglebone-black-network-boot/

You cannot TFTP boot and NFS mount on Angstrom on the BeagleBone Black? Or did you meant the link above was specific to a “How to” on Debian only?

This link below discusses TFTP and NFS boot on BeagleBone Black:

http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel

I hope it is possible as I think TFTP and NFS save me so much time during development.

-Ed

I have BB white and this is my uEnv.txt where I load kernel+fdt from tftp and rootfs from nfs:

hostname=a335bone

kernel_addr_r=0x80200000
expand_bootfile=setenv bootfile ${hostname}/uImage

fdt_addr_r=0x80F80000
expand_fdtfile=setenv fdtfile ${hostname}/am335x-bone.dtb

ipaddr=192.168.42.11
serverip=192.168.42.1
gatewayip=192.168.42.1
netmask=255.255.255.0
netdev=eth0

→ uImage from tftp

kernel_netload=tftp ${kernel_addr_r} ${bootfile}

← uImage from tftp

→ fdt from tftp

fdt_netload=tftp ${fdt_addr_r} ${fdtfile}

← fdt from tftp

→ uImage + fdt from tftp

netload=run kernel_netload fdt_netload

← uImage + fdt from tftp

→ generic bootargs

bootargs=console=ttyO0,115200n8

← generic bootargs

→ rootfs from mmcblk0p2

#mmcroot=/dev/mmcblk0p2 ro
#mmcrootfstype=ext4 rootwait
#mmc_to_bootargs=setenv bootargs ${bootargs} root=${mmcroot} rootfstype=${mmcrootfstype}

I mean, I know of at least one person who has tested this on Debian, ARCH, Busybox( custom ) and all three of those worked. Ubuntu, Fedora, and Angstrom all did not work. I am personally only interested in Debian at this moment. So this is all the testing I have done.

I have been hearing that Angstrom has some sort of bootup issue that makes network boot hard, or not possible. However, knowing what I do know about Linux in general, I would think that perhaps the kernel is not configured for NFS network boot by default. As various NFS features, including NFS network boot MUST be enabled in the kernel - AND these modules MUST be compiled statically into the kernel(e.g. compiling as modules [m] instead of <*> will not work).

Anyway, I am not an expert when it comes to Angstrom, this would just be my own first guess. I am fairly sure that the initial step ( uboot ) should work, but am guessing that loading the rootfs would be where the problem lies.

hai ,
i followed http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel site to compile a kernel for beagle bone black but when it export this line

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage-dtb.am335x-boneblack LOADADDR=0x80008000 -j4

i got no rule to make targetuImage-dtb.am335x-boneblack error message.

but when i use this step make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage dtbs LOADADDR=0x80008000 -j4
i can able to get the uImage from arch/arm/boot/uImage folder.
so i simply skip the UImage-dtb.am335x-boneblack step for building the kernel .
once the UImage creation was done , i try to boot the image from bbb.but i got error message link this

U-Boot> setenv autoload no
U-Boot> setenv ipaddr 192.168.1.61
U-Boot> setenv serverip 192.168.1.69
U-Boot> setenv bootfile uImage
U-Boot> setenv tftpblocksize 512

setenv bootargs mem=32M console=ttyO0,115200n8 root=/dev/ram0 rw initrd=0x80007FC0,4M ipaddr=192.168.1.61 serverip=192.168.1.69

U-Boot> setenv bootcmd ‘tftp 0×80200000 uImage; tftp 0x80007FC0 rootfs.img.gz;bootm 0×80200000 ‘

U-Boot> tftp 0×80200000 uImage; tftp 0x80007FC0 rootfs.img.gz;bootm 0×80200000
link up on port 0, speed 100, full duplex
Using cpsw device
TFTP from server 192.168.1.69; our IP address is 192.168.1.61
Filename ‘uImage’.
Load address: 0×80200000
Loading: #################################################################