Booting Linux from TFTP server on AMC1 with RFS on NFS

From DSignT Support Database
Revision as of 10:26, 16 November 2017 by Claus (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

1 Preparation

To boot Linux via TFTP you need to do a proper network configuration first. Either enter all necessary environment variables manually on the U-Boot command prompt or use script AMC1_NetConfig.ser to make all these settings automatically.

Required network settings:
eth1addr - own MAC address

   AMC1> setenv eth1addr c4:be:84:cb:1f:ff

ipaddr - own IP address

   AMC1> setenv ipaddr 192.168.168.197

serverip - remote server IP

   AMC1> setenv serverip 192.168.168.158




2 Load compressed Linux image from TFTP server

If all network settings are correct, a compressed Linux image can be loaded from TFTP server:

  tftpboot ${loadaddr} zImage-dsignt_amc1.bin

${loadaddr} is a pre-defined environment variable that specifies a free DDR RAM location for general purpose. We use it here as a temporary storage address for the TFTP transfer.

When the TFTP transfer succeeds, each received block (512 bytes) a '#' is printed on the terminal else a 'T' for timeout signals a problem connecting the server. A successful transmission can look like this (of course the IP addresses vary depending on your network configuration):

AMC1> tftpboot ${loadaddr} zImage-dsignt_amc1.bin
link up on port 1, speed 1000, full duplex
Using cpsw device
TFTP from server 192.168.168.158; our IP address is 192.168.168.208
Filename 'zImage-dsignt_amc1.bin'.
Load address: 0x80200000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############################################
         1.3 MiB/s
done
Bytes transferred = 3555800 (3641d8 hex)
AMC1>




3 Load DTB from TFTP server

tftpboot ${fdtaddr} amc1.dtb
AMC1> tftpboot ${fdtaddr} amc1.dtb
link up on port 1, speed 1000, full duplex
Using cpsw device
TFTP from server 192.168.168.158; our IP address is 192.168.168.208
Filename 'amc1.dtb'.
Load address: 0x88000000
Loading: #########
         663.1 KiB/s
done
Bytes transferred = 41451 (a1eb hex)
AMC1>




4 Set bootargs

The global environment variable bootargs is automatically passed to the booting Linux. Make sure nfsroot points to the valid NFS path on your NFS server:

setenv bootargs root=/dev/nfs rw rootfstype=ext4 rootwait fixrtc  nfsroot=${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.00.00.04/targetNFS,vers=3 ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:${autoconf}

In this case with installed SDK 04.00.00.04 tools on server ${serverip} the correct path is:

${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.00.00.04/targetNFS




5 boot image

Boot Linux zImage:

bootz ${loadaddr} - ${fdtaddr}





Arr u.png    back to top

6 Additional Tags

Network settings for U-Boot on AMC1


Contact Post.png Support Tool.png