This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/BEAGLEBK: TFTP/NFS problem

Part Number: BEAGLEBK


Tool/software: Linux

Hello,

I work with a Beaglebone Black and ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05

I would like to boot using TFTP and NFS, but i cant get it to work.

I have made a sd card using the create-sdcard.sh, boot the Beaglebone Black holding S2 and run setup.sh.

Below is the output from setup.sh and the commands used to set up u-boot.

Please let me know if you have any ideas for how to get it to work.

Thank you,

Mikkel

-------------------------------------------------------------------------------
TISDK setup script
This script will set up your development host for SDK development.
Parts of this script require administrator priviliges (sudo access).
-------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Verifying Linux host distribution
Ubuntu 12.04 LTS, Ubuntu 14.04, or Ubuntu 14.04 LTS is being used, continuing..
--------------------------------------------------------------------------------

Starting with Ubuntu 12.04 serial devices are only accessible by members of the 'dialout' group.
A user must be apart of this group to have the proper permissions to access a serial device.

Are you running this script using sudo? The detected username is 'root'.
Verify and enter your Linux username below
[ root ]

User 'root' is already apart of the 'dialout' group

-------------------------------------------------------------------------------
setup package script
This script will make sure you have the proper host support packages installed
This script requires administrator priviliges (sudo access) if packages are to be installed.
-------------------------------------------------------------------------------
System has required packages!
--------------------------------------------------------------------------------
Package verification and installation successfully completed
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
In which directory do you want to install the target filesystem?(if this directory does not exist it will be created)
[ /home/voks/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/targetNFS ]
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
This step will extract the target filesystem to /home/voks/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/targetNFS

Note! This command requires you to have administrator priviliges (sudo access)
on your host.
Press return to continue
/home/voks/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/targetNFS already exists
(r) rename existing filesystem (o) overwrite existing filesystem (s) skip filesystem extraction
[r] s
Skipping filesystem extraction
WARNING! Keeping the previous filesystem may cause compatibility problems if you are upgrading the SDK
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
This step will set up the SDK to install binaries in to:
    /home/voks/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/targetNFS/home/root/am335x-evm

The files will be available from /home/root/am335x-evm on the target.

This setting can be changed later by editing Rules.make and changing the
EXEC_DIR or DESTDIR variable (depending on your SDK).

Press return to continue
Rules.make edited successfully..
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
This step will export your target filesystem for NFS access.

Note! This command requires you to have administrator priviliges (sudo access)
on your host.
Press return to continue
/home/voks/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/targetNFS already NFS exported, skipping..

[ ok ] Stopping nfs-kernel-server (via systemctl): nfs-kernel-server.service.
[ ok ] Starting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Which directory do you want to be your tftp root directory?(if this directory does not exist it will be created for you)
[ /tftpboot ]
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
This step will set up the tftp server in the /tftpboot directory.

Note! This command requires you to have administrator priviliges (sudo access)
on your host.
Press return to continue

/tftpboot already exists, not creating..

/tftpboot/zImage-am335x-evm.bin already exists. The existing installed file can be renamed and saved under the new name.
(r) rename (o) overwrite (s) skip copy
[r] s
Skipping copy of zImage-am335x-evm.bin, existing version will be used

/tftpboot/am335x-boneblack.dtb already exists. The existing installed file can be renamed and saved under the new name.
(o) overwrite (s) skip copy
[o] s
Skipping copy of am335x-boneblack.dtb, existing version will be used

/tftpboot/am335x-bone.dtb already exists. The existing installed file can be renamed and saved under the new name.
(o) overwrite (s) skip copy
[o] s
Skipping copy of am335x-bone.dtb, existing version will be used

/tftpboot/am335x-bonegreen.dtb already exists. The existing installed file can be renamed and saved under the new name.
(o) overwrite (s) skip copy
[o] s
Skipping copy of am335x-bonegreen.dtb, existing version will be used

/tftpboot/am335x-evm.dtb already exists. The existing installed file can be renamed and saved under the new name.
(o) overwrite (s) skip copy
[o] s
Skipping copy of am335x-evm.dtb, existing version will be used

/tftpboot/am335x-evmsk.dtb already exists. The existing installed file can be renamed and saved under the new name.
(o) overwrite (s) skip copy
[o] s
Skipping copy of am335x-evmsk.dtb, existing version will be used

/tftpboot/am335x-icev2.dtb already exists. The existing installed file can be renamed and saved under the new name.
(o) overwrite (s) skip copy
[o] s
Skipping copy of am335x-icev2.dtb, existing version will be used

/tftpboot/am335x-icev2-pru-excl-uio.dtb already exists. The existing installed file can be renamed and saved under the new name.
(o) overwrite (s) skip copy
[o] s
Skipping copy of am335x-icev2-pru-excl-uio.dtb, existing version will be used

/etc/xinetd.d/tftp already exists..
/tftpboot already exported for TFTP, skipping..

Restarting tftp server
[ ok ] Stopping xinetd (via systemctl): xinetd.service.
[ ok ] Starting xinetd (via systemctl): xinetd.service.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------"
This step will set up minicom (serial communication application) for
SDK development


For boards that contain a USB-to-Serial converter on the board such as:
    * BeagleBone
    * Beaglebone Black
    * AM335x EVM-SK
    * AM57xx EVM
    * K2H, K2L, and K2E EVMs

the port used for minicom will be automatically detected. By default Ubuntu
will not recognize this device. Setup will add a udev rule to
/etc/udev/ so that from now on it will be recognized as soon as the board is
plugged in.

For other boards, the serial will defualt to /dev/ttyS0. Please update based
on your setup.

--------------------------------------------------------------------------------


NOTE: If your using any of the above boards simply hit enter
and the correct port will be determined automatically at a
later step.  For all other boards select the serial port
that the board is connected to.
Which serial port do you want to use with minicom?
[ /dev/ttyS0 ] /dev/ttyUSB0

Copied existing /home/voks/.minirc.dfl to /home/voks/.minirc.dfl.old

Configuration saved to /home/voks/.minirc.dfl. You can change it further from inside
minicom, see the Software Development Guide for more information.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
This step will set up the U-Boot variables for booting the EVM.

Autodetected the following ip address of your host, correct it if necessary
[ 192.168.1.104
192.168.1.105 ] 192.168.1.104

Select Linux kernel location:
 1: TFTP
 2: SD card

[ 1 ]

Select root file system location:
 1: NFS
 2: SD card

[ 1 ]

Available kernel images in /tftproot:
    am335x-bone.dtb
    am335x-boneblack.dtb
    am335x-bonegreen.dtb
    am335x-evm.dtb
    am335x-evmsk.dtb
    am335x-icev2-pru-excl-uio.dtb
    am335x-icev2.dtb
    zImage-am335x-evm.bin
    zImage-am335x-evm.bin.09132018_13.12

Which kernel image do you want to boot from TFTP?
[ zImage-am335x-evm.bin ]
--------------------------------------------------------------------------------
Would you like to create a minicom script with the above parameters (y/n)?
[ y ] y

Successfully wrote /home/voks/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/bin/setupBoard.minicom

A BeagleBone (Black) or StarterKit board has been detected
Do you want to configure U-Boot for one of the boards mentioned
above? An answer of 'n' will configure U-Boot for the
General Purpose EVM instead
(y/n) y

Detecting connection to board...
Would you like to run the setup script now (y/n)? For the general purpose evm
you must now connect the RS-232 cable to your evm now. For the Beaglebone (Black)
or StarterKit this step should of already have been done. Also connect the ethernet
cable as described in the Quick Start Guide.
**Important**
Once answering 'y' on the prompt below you will have 300 seconds to turn on the
board or if it was already on reboot the board before the setup times out

After successfully executing this script, your board will be set up. You will be
able to connect to it by executing 'minicom -w' or if you prefer a windows host
you can set up Tera Term as explained in the Software Developer's Guide.
If you connect minicom or Tera Term and power cycle the board Linux will boot.

[ y ] y

I type in the commandfs from setupBoard.minicom manually:

Welcome to minicom 2.7

OPTIONS: I18n
Compiled on Feb  7 2016, 13:37:27.
Port /dev/ttyUSB0, 11:04:19

Press CTRL-A Z for help on special keys


U-Boot SPL 2017.01-gc68ed086bd (Mar 26 2018 - 15:11:14)
Trying to boot from MMC1
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

reading u-boot.img
reading u-boot.img
reading u-boot.img
reading u-boot.img


U-Boot 2017.01-gc68ed086bd (Mar 26 2018 - 15:11:14 -0400)                       
                                                                                
CPU  : AM335X-GP rev 2.1                                                        
Model: TI AM335x BeagleBone Black                                               
DRAM:  512 MiB                                                                  
NAND:  0 MiB                                                                    
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1                                           
reading uboot.env                                                               
                                                                                
** Unable to read "uboot.env" from mmc0:1 **                                    
Using default environment                                                       
                                                                                
<ethaddr> not set. Validating first E-fuse MAC                                  
Net:   cpsw, usb_ether                                                          
Hit any key to stop autoboot:  0                                                
=> env default -f -a                                                            
## Resetting to default environment                                             
=> saveenv                                                                      
Saving Environment to FAT...                                                    
writing uboot.env                                                               
done                                                                            
=> reset                                                                        
resetting ...                                                                   
                                                                                
U-Boot SPL 2017.01-gc68ed086bd (Mar 26 2018 - 15:11:14)                         
Trying to boot from MMC1                                                        
reading uboot.env                                                               
reading u-boot.img                                                              
reading u-boot.img                                                              
reading u-boot.img                                                              
reading u-boot.img                                                              
                                                                                
                                                                                
U-Boot 2017.01-gc68ed086bd (Mar 26 2018 - 15:11:14 -0400)                       
                                                                                
CPU  : AM335X-GP rev 2.1                                                        
Model: TI AM335x BeagleBone Black                                               
DRAM:  512 MiB                                                                  
NAND:  0 MiB                                                                    
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1                                           
reading uboot.env                                                               
<ethaddr> not set. Validating first E-fuse MAC                                  
Net:   cpsw, usb_ether                                                          
Hit any key to stop autoboot:  0                                                
=> setenv serverip 192.168.1.104                                                
=> setenv rootpath '/home/voks/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05'
=> setenv bootfile zImage-am335x-evm.bin                                        
=> setenv ip_method dhcp                                                        
=> setenv nfsopts 'nolock,v3,tcp,rsize=4096,wsize=4096'                         
=> setenv getuenv 'if mmc rescan; then if run loadbootenv; then run importboote'
=> setenv bootcmd 'run findfdt; run getuenv; setenv autoload no;dhcp ;tftp ${lo'
=> saveenv                                                                      
Saving Environment to FAT...                                                    
writing uboot.env                                                               
done                                                                            
=> boot                                                                         
reading uEnv.txt                                                                
** Unable to read file uEnv.txt **                                              
link up on port 0, speed 100, full duplex                                       
BOOTP broadcast 1                                                               
BOOTP broadcast 2                                                               
BOOTP broadcast 3                                                               
DHCP client bound to address 192.168.1.101 (1759 ms)                            
link up on port 0, speed 100, full duplex                                       
Using cpsw device                                                               
TFTP from server 192.168.1.1; our IP address is 192.168.1.101                   
Filename 'zImage-am335x-evm.bin'.                                               
Load address: 0x82000000                                                        
Loading: T T T T T T