NPS VTP Serial Connection

From Cuawiki
Jump to navigation Jump to search

uBoot boot interruption for configuration

  • When the VME-VXS crate is power cycled, the display will show the uboot process.
Xilinx First Stage Boot Loader 
Release 2015.4	Jan 30 2017-11:51:58
Reset reason register 0x00000040
   [SWDT_RST]  = 0, System Watchdog timer
   [AWDT0_RST] = 0, CPU 0 Watch Timer
   [AWDT1_RST] = 0, CPU 1 Watch Timer
   [SLC_RST]   = 0, Write to soft reset bit
   [DBG_RST]   = 0, Debug command DAP controller
   [SRST_B]    = 0, PS_SRST_B reset signal
   [POR]       = 1, PS_POR_B reset signal
   reserved    = 0, reserved
Devcfg driver initialized 
Silicon Version 3.1
Boot mode is SD
SD: rc= 0
SD Init Done 
Flash Base Address: 0xE0100000
Reboot status register: 0x60400000
Multiboot Register: 0x0000C000
Image Start Address: 0x00000000
Partition Header Offset:0x00000C80
Partition Count: 2
Partition Number: 1
Header Dump
Image Word Len: 0x00015D85
Data Word Len: 0x00015D85
Partition Word Len:0x00015D85
Load Addr: 0x04000000
Exec Addr: 0x04000000
Partition Start: 0x000065D0
Partition Attr: 0x00000010
Partition Checksum Offset: 0x00000000
Section Count: 0x00000001
Checksum: 0xF7FB7F3F
Application
Handoff Address: 0x04000000
In FsblHookBeforeHandoff function 
SUCCESSFUL_HANDOFF
FSBL Status = 0x1


U-Boot 2016.01-00002-g46fc0b8-dirty (Oct 26 2016 - 14:24:01 -0400)

Model: Zynq Jlab VTP Board
Board: Xilinx Zynq
DRAM:  ECC disabled 1 GiB
MMC:   sdhci@e0100000: 0
reading env.bin
In:    serial@e0000000
Out:   serial@e0000000
Err:   serial@e0000000
Model: Zynq Jlab VTP Board
Board: Xilinx Zynq
Net:   ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
eth0: ethernet@e000b000
  • Boot script can be interrupted during the count down period noted by
Hit any key to stop autoboot:

Network specific environment variables

  • These are the variables that are usually tweaked to match network IPs and Paths.
  • ethaddr - MAC address for 1Gb. This is tracked by Ben Raydo
ethaddr=ce:ba:f0:03:00:ae
  • serverip - TFTP and NFS server address.
serverip=129.57.168.11
  • tftppath - TFTP path for kernel image and device tree
tftppath=linux-diskless/CentOS7-armv7-Diskless
  • - Kernel image and device tree file names
devicetree_image=devicetree.dtb
kernel_image=uImage-4.4.0-xilinx-00004-g8d932a
  • rootpath - PATH for root fs
rootpath=/diskless/CentOS7/armv7/root

setenv

  • Example environment variable modification:
setenv serverip 129.57.168.11
  • Example using single quote to preserve variable names
setenv nfsargs 'setenv bootargs ${bootargs} nfsroot=${serverip}:${rootpath},vers=3,tcp,timeo=600,retrans=10'

printenv

  • Example environment printout. Using the command
printenv
- note: some variables are updated during boot. e.g. bootargs, ipaddr, gatewayip
autoload=no
baudrate=115200
bootargs=nfsroot=129.57.195.43:/home.orig/diskless/CentOS7/armv7/root,vers=3,tcp,timeo=600,retrans=10 console=ttyPS0,115200 ip=:::::eth0:dhcp uio_pdrv_genirq.of_id=my-uio rootwait cma=384MB ro
bootcmd=run tftpboot
bootdelay=3
bootro=setenv bootargs ${bootargs} ro
bootrw=setenv bootargs ${bootargs} rw
devicetree_image=devicetree.dtb
devicetree_load_address=0x2000000
ethact=ethernet@e000b000
ethaddr=ce:ba:f0:03:00:ae
extargs=setenv bootargs ${bootargs} console=ttyPS0,115200 ip=:::::eth0:dhcp uio_pdrv_genirq.of_id=my-uio rootwait cma=384MB
fdt_high=0x20000000
fdtcontroladdr=3ffa9e30
gatewayip=129.57.168.1
initrd_high=0x20000000
ipaddr=129.57.169.141
kernel_image=uImage-4.4.0-xilinx-00004-g8d932a
kernel_load_address=0x2080000
load_devicetree=tftpboot ${devicetree_load_address} ${tftppath}/${devicetree_image}
load_kernel=tftpboot ${kernel_load_address} ${tftppath}/${kernel_image}
modeboot=sdboot
netmask=255.255.252.0
nfsargs=setenv bootargs ${bootargs} nfsroot=${serverip}:${rootpath},vers=3,tcp,timeo=600,retrans=10
rootpath=/diskless/CentOS7/armv7/root
serverip=129.57.168.11
stderr=serial@e0000000
stdin=serial@e0000000
stdout=serial@e0000000
tftp_boot_string=echo TFTPing Image to RAM
tftpboot=dhcp && run tftp_boot_string nfsargs extargs bootro load_kernel load_devicetree && bootm ${kernel_load_address} - ${devicetree_load_address}
tftpboot_rw=dhcp && run tftp_boot_string nfsargs extargs bootrw load_kernel load_devicetree && bootm ${kernel_load_address} - ${devicetree_load_address}
tftppath=linux-diskless/CentOS7-armv7-Diskless

saveenv

  • Save the current environment variables to the onboard-storage (microSD)
saveenv