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.

AM3352: U-boot Not Recognizing "TFTP", "DHCP", or "PXE" Commands During NFS Boot

Part Number: AM3352

We're running into some problems when trying to configure U-boot 2017.01 for booting an AM335x from a network file system over ethernet using tftp. From what we can tell, u-boot has been configured to have the necessary networking capabilities enabled, we've tried adding #error messages into the TFTP command code and saw that it was getting compiled. However, it is missing from u-boot once it is actually running.

 

We are trying to use uenv.txt (attached) to setup our tftp commands for boot, and we can see u-boot importing the environment that we set up with the file. However, when U-boot tries to execute the tftp commands to load the kernel over the network, it complains that it doesn't recognize the "tftp" command (see attached screenshot of console during boot).

 

We've tried many different configuration options within our u-boot build configuration file, but nothing seems to have an effect. The "tftp" command is never recognized. From what we can tell based on internet searches and looking through the u-boot source, the tftp command should be enabled by default. When looking at the code where the tftp command is actually defined, it isn't surrounded by any configuration checking like the "tftpput" and "tfptsrv" options are. I attached our latest attempt at the configuration.

 

The tftp command isn't the only command that isn't being recognized, U-boot also complains about not recognizing the "dhcp" and "pxe" commands. This made it seem that there might be something wrong with our configuration that would disable most of the u-boot commands, but after searching for an appropriate config option, the "CONFIG_CMDLINE" option seemed to be the only one relevant and had already been enabled.

 

Some of the config options that we thought would be relevant and had been enabled are:

CONFIG_CMD_NET,  CONFIG_CMDLINE, CONFIG_CMD_DHCP, CONFIG_CMD_PXE, and CONFIG_CMD_NFS

 

If this isn't a problem with the way we are configuring u-boot, could this be caused by something else?

2021.uenv.txt
ipaddr=169.254.1.1
serverip=169.254.1.2
HOME=/home/root
netmask=255.255.255.248
hostname=RouterE
device=eth0
rootpath=/home/user/ng5/b5/fr7/107-00/nfsroot
fdtfile=am335x-alc_ngzn.dtb
#bootfile=zImage-107-00.bin
bootfile=zImage-4.9.59-alc.bin
nfsopts=nolock,udp,rsize=1024,wsize=1024,timeo=1,retrans=1
netloadimage=tftp ${loadaddr} ${bootfile};
netloadfdt=tftp ${fdtaddr} ${fdtfile};
net_args=setenv bootargs console=${console} ${optargs} root=/dev/nfs rw nfsroot=${serverip}:${rootpath},${nfsopts} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:off 
tftp_nfs_boot=echo Booting from network ...; setenv autoload no; run netloadimage; run netloadfdt; run net_args; bootz ${loadaddr} - ${fdtaddr};
uenvcmd=run tftp_nfs_boot;
am335x_alc_dev_defconfig.txt
#
# Automatically generated file; DO NOT EDIT.
# U-Boot 2017.01 Configuration
#
CONFIG_CREATE_ARCH_SYMLINK=y
# CONFIG_ARC is not set
CONFIG_ARM=y
# CONFIG_AVR32 is not set
# CONFIG_BLACKFIN is not set
# CONFIG_M68K is not set
# CONFIG_MICROBLAZE is not set
# CONFIG_MIPS is not set
# CONFIG_NDS32 is not set
# CONFIG_NIOS2 is not set
# CONFIG_OPENRISC is not set
# CONFIG_PPC is not set
# CONFIG_SANDBOX is not set
# CONFIG_SH is not set
# CONFIG_SPARC is not set
# CONFIG_X86 is not set
# CONFIG_XTENSA is not set
CONFIG_SYS_ARCH="arm"
CONFIG_SYS_CPU="armv7"
CONFIG_SYS_SOC="am33xx"
CONFIG_SYS_VENDOR="ti"
CONFIG_SYS_BOARD="alc_ngc"
CONFIG_SYS_CONFIG_NAME="am335x_alc_ngc"

#
# ARM architecture
#
CONFIG_HAS_VBAR=y
CONFIG_HAS_THUMB2=y
CONFIG_CPU_V7=y
CONFIG_SYS_ARM_ARCH=7
CONFIG_SYS_CACHE_SHIFT_6=y
CONFIG_SYS_CACHELINE_SIZE=64
# CONFIG_SEMIHOSTING is not set
# CONFIG_SYS_L2CACHE_OFF is not set
# CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set
CONFIG_USE_ARCH_MEMCPY=y
CONFIG_USE_ARCH_MEMSET=y
CONFIG_ARCH_OMAP2=y
# CONFIG_ARM64_SUPPORT_AARCH32 is not set
# CONFIG_ARCH_AT91 is not set
# CONFIG_TARGET_EDB93XX is not set
# CONFIG_TARGET_ASPENITE is not set
# CONFIG_TARGET_GPLUGD is not set
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_KIRKWOOD is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_TARGET_DEVKIT3250 is not set
# CONFIG_TARGET_WORK_92105 is not set
# CONFIG_TARGET_MX25PDK is not set
# CONFIG_TARGET_ZMX25 is not set
# CONFIG_TARGET_APF27 is not set
# CONFIG_TARGET_APX4DEVKIT is not set
# CONFIG_TARGET_XFI3 is not set
# CONFIG_TARGET_M28EVK is not set
# CONFIG_TARGET_MX23EVK is not set
# CONFIG_TARGET_MX28EVK is not set
# CONFIG_TARGET_MX23_OLINUXINO is not set
# CONFIG_TARGET_BG0900 is not set
# CONFIG_TARGET_SANSA_FUZE_PLUS is not set
# CONFIG_TARGET_SC_SPS_1 is not set
# CONFIG_ORION5X is not set
# CONFIG_TARGET_SPEAR300 is not set
# CONFIG_TARGET_SPEAR310 is not set
# CONFIG_TARGET_SPEAR320 is not set
# CONFIG_TARGET_SPEAR600 is not set
# CONFIG_TARGET_STV0991 is not set
# CONFIG_TARGET_X600 is not set
# CONFIG_TARGET_IMX31_PHYCORE is not set
# CONFIG_TARGET_MX31ADS is not set
# CONFIG_TARGET_MX31PDK is not set
# CONFIG_TARGET_WOODBURN is not set
# CONFIG_TARGET_WOODBURN_SD is not set
# CONFIG_TARGET_FLEA3 is not set
# CONFIG_TARGET_MX35PDK is not set
# CONFIG_ARCH_BCM283X is not set
# CONFIG_TARGET_VEXPRESS_CA15_TC2 is not set
# CONFIG_TARGET_VEXPRESS_CA5X2 is not set
# CONFIG_TARGET_VEXPRESS_CA9X4 is not set
# CONFIG_TARGET_BRXRE1 is not set
# CONFIG_TARGET_BRPPT1 is not set
# CONFIG_TARGET_DRACO is not set
# CONFIG_TARGET_THUBAN is not set
# CONFIG_TARGET_RASTABAN is not set
# CONFIG_TARGET_ETAMIN is not set
# CONFIG_TARGET_PXM2 is not set
# CONFIG_TARGET_RUT is not set
# CONFIG_TARGET_TI814X_EVM is not set
# CONFIG_TARGET_TI816X_EVM is not set
# CONFIG_TARGET_BCM23550_W1D is not set
# CONFIG_TARGET_BCM28155_AP is not set
# CONFIG_TARGET_BCMCYGNUS is not set
# CONFIG_TARGET_BCMNSP is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_S5PC1XX is not set
# CONFIG_ARCH_HIGHBANK is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_MESON is not set
# CONFIG_ARCH_MX7 is not set
# CONFIG_ARCH_MX6 is not set
# CONFIG_ARCH_MX5 is not set
# CONFIG_TARGET_M53EVK is not set
# CONFIG_TARGET_MX51EVK is not set
# CONFIG_TARGET_MX53ARD is not set
# CONFIG_TARGET_MX53EVK is not set
# CONFIG_TARGET_MX53LOCO is not set
# CONFIG_TARGET_MX53SMD is not set
# CONFIG_OMAP34XX is not set
# CONFIG_OMAP44XX is not set
# CONFIG_OMAP54XX is not set
# CONFIG_AM43XX is not set
CONFIG_AM33XX=y
# CONFIG_ARCH_RMOBILE is not set
# CONFIG_TARGET_S32V234EVB is not set
# CONFIG_ARCH_SNAPDRAGON is not set
# CONFIG_ARCH_SOCFPGA is not set
# CONFIG_TARGET_CM_T43 is not set
# CONFIG_ARCH_SUNXI is not set
# CONFIG_TARGET_TS4600 is not set
# CONFIG_TARGET_TS4800 is not set
# CONFIG_TARGET_VF610TWR is not set
# CONFIG_TARGET_COLIBRI_VF is not set
# CONFIG_TARGET_PCM052 is not set
# CONFIG_TARGET_BK4R1 is not set
# CONFIG_ARCH_ZYNQ is not set
# CONFIG_ARCH_ZYNQMP is not set
# CONFIG_TEGRA is not set
# CONFIG_TARGET_VEXPRESS64_AEMV8A is not set
# CONFIG_TARGET_VEXPRESS64_BASE_FVP is not set
# CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM is not set
# CONFIG_TARGET_VEXPRESS64_JUNO is not set
# CONFIG_TARGET_LS2080A_EMU is not set
# CONFIG_TARGET_LS2080A_SIMU is not set
# CONFIG_TARGET_LS2080AQDS is not set
# CONFIG_TARGET_LS2080ARDB is not set
# CONFIG_TARGET_HIKEY is not set
# CONFIG_TARGET_LS1012AQDS is not set
# CONFIG_TARGET_LS1012ARDB is not set
# CONFIG_TARGET_LS1012AFRDM is not set
# CONFIG_TARGET_LS1021AQDS is not set
# CONFIG_TARGET_LS1021ATWR is not set
# CONFIG_TARGET_LS1021AIOT is not set
# CONFIG_TARGET_LS1043AQDS is not set
# CONFIG_TARGET_LS1043ARDB is not set
# CONFIG_TARGET_LS1046AQDS is not set
# CONFIG_TARGET_LS1046ARDB is not set
# CONFIG_TARGET_H2200 is not set
# CONFIG_TARGET_ZIPITZ2 is not set
# CONFIG_TARGET_COLIBRI_PXA270 is not set
# CONFIG_ARCH_UNIPHIER is not set
# CONFIG_STM32 is not set
# CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_TARGET_THUNDERX_88XX is not set
CONFIG_SPL_GPIO_SUPPORT=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x400
CONFIG_TI_I2C_BOARD_DETECT=y
CONFIG_EEPROM_BUS_ADDRESS=0
CONFIG_EEPROM_CHIP_ADDRESS=0x51
CONFIG_SPL_ENV_SUPPORT=y
# CONFIG_SPL_EXT_SUPPORT is not set
# CONFIG_SPL_FAT_SUPPORT is not set
CONFIG_SPL_I2C_SUPPORT=y
# CONFIG_SPL_LIBDISK_SUPPORT is not set
# CONFIG_SPL_MMC_SUPPORT is not set
# CONFIG_SPL_NAND_SUPPORT is not set
CONFIG_SPL_POWER_SUPPORT=y
CONFIG_SPL_SERIAL_SUPPORT=y
# CONFIG_TI_SECURE_DEVICE is not set
# CONFIG_SPL_DISPLAY_PRINT is not set
CONFIG_CONS_INDEX=1
CONFIG_TARGET_AM335X_ALC_NGC=y
# CONFIG_TARGET_AM335X_EVM is not set
# CONFIG_TARGET_AM335X_BALTOS is not set
# CONFIG_TARGET_AM335X_IGEP0033 is not set
# CONFIG_TARGET_AM335X_SHC is not set
# CONFIG_TARGET_AM335X_SL50 is not set
# CONFIG_TARGET_BAV335X is not set
# CONFIG_TARGET_CM_T335 is not set
# CONFIG_TARGET_PCM051 is not set
# CONFIG_TARGET_PENGWYN is not set
# CONFIG_TARGET_PEPPER is not set
CONFIG_ISW_ENTRY_ADDR=0x402F0400
CONFIG_PUB_ROM_DATA_SIZE=0x8400
CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
# CONFIG_SPL_SPI_FLASH_SUPPORT is not set
# CONFIG_SPL_SPI_SUPPORT is not set
CONFIG_SPL_WATCHDOG_SUPPORT=y
# CONFIG_ARMV7_LPAE is not set
CONFIG_IDENT_STRING=""
# CONFIG_PRE_CONSOLE_BUFFER is not set
CONFIG_MMC=y
# CONFIG_VIDEO is not set
CONFIG_SPL_STACK_R_ADDR=0x82000000
# CONFIG_SPL_YMODEM_SUPPORT is not set
# CONFIG_NOR is not set
CONFIG_INIT_SDRAM_USING_EEPROM=y
CONFIG_SYS_I2C_EEPROM_SIZE=1024
CONFIG_SYS_I2C_CORE_EEPROM_ADDR=0x51
CONFIG_SYS_I2C_BASE_EEPROM_ADDR=0x50
CONFIG_SYS_I2C_RTC32K_ADDR=0x68
CONFIG_SYS_I2C_EXPANDER_ADDR=0x22
CONFIG_SYS_I2C_RTC32K=y
CONFIG_STATUS_LED=y
CONFIG_BOARD_SPECIFIC_LED=y
# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set
CONFIG_RESTORE_FLASH=y
# CONFIG_DEBUG_WITH_LAUTERBACH is not set

#
# ARM debug
#
# CONFIG_DEBUG_LL is not set
CONFIG_DEFAULT_DEVICE_TREE="am335x-alc_router"
# CONFIG_AHCI is not set

#
# General setup
#
CONFIG_LOCALVERSION=" ALC"
CONFIG_LOCALVERSION_AUTO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_DISTRO_DEFAULTS=y
CONFIG_SYS_MALLOC_F=y
CONFIG_EXPERT=y
CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y
# CONFIG_TOOLS_DEBUG is not set
# CONFIG_PHYS_64BIT is not set

#
# Boot images
#
CONFIG_FIT=y
# CONFIG_SPL_FIT is not set
# CONFIG_FIT_VERBOSE is not set
# CONFIG_FIT_SIGNATURE is not set
# CONFIG_FIT_BEST_MATCH is not set
CONFIG_OF_BOARD_SETUP=y
# CONFIG_OF_SYSTEM_SETUP is not set
# CONFIG_OF_STDOUT_VIA_ALIAS is not set
CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
# CONFIG_SPL_LOAD_FIT is not set
CONFIG_SPL_RAW_IMAGE_SUPPORT=y
CONFIG_SPL_LEGACY_IMAGE_SUPPORT=y
CONFIG_ARCH_FIXUP_FDT_MEMORY=y

#
# Boot timing
#
# CONFIG_BOOTSTAGE is not set
CONFIG_BOOTSTAGE_USER_COUNT=20
CONFIG_BOOTSTAGE_STASH_ADDR=0
CONFIG_BOOTSTAGE_STASH_SIZE=4096

#
# Boot media
#
# CONFIG_NAND_BOOT is not set
# CONFIG_ONENAND_BOOT is not set
# CONFIG_QSPI_BOOT is not set
# CONFIG_SATA_BOOT is not set
# CONFIG_SD_BOOT is not set
# CONFIG_SPI_BOOT is not set
CONFIG_BOOTDELAY=2

#
# Console
#
CONFIG_MENU=y
# CONFIG_CONSOLE_RECORD is not set
# CONFIG_SILENT_CONSOLE is not set
# CONFIG_CONSOLE_MUX is not set
# CONFIG_SYS_CONSOLE_IS_IN_ENV is not set
# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set
CONFIG_SYS_CONSOLE_INFO_QUIET=y
# CONFIG_SYS_STDIO_DEREGISTER is not set
# CONFIG_FIT_EMBED is not set
CONFIG_DEFAULT_FDT_FILE=""
# CONFIG_SYS_NO_FLASH is not set
CONFIG_VERSION_VARIABLE=y
CONFIG_DISPLAY_CPUINFO=y
CONFIG_DISPLAY_BOARDINFO=y

#
# SPL / TPL
#
CONFIG_SUPPORT_SPL=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x100000
CONFIG_SPL_SEPARATE_BSS=y
# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
# CONFIG_SPL_CRYPTO_SUPPORT is not set
# CONFIG_SPL_HASH_SUPPORT is not set
# CONFIG_SPL_DMA_SUPPORT is not set
# CONFIG_SPL_SAVEENV is not set
CONFIG_SPL_ETH_SUPPORT=y
# CONFIG_SPL_FPGA_SUPPORT is not set
# CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT is not set
# CONFIG_SPL_MTD_SUPPORT is not set
CONFIG_SPL_MUSB_NEW_SUPPORT=y
CONFIG_SPL_NET_SUPPORT=y
CONFIG_SPL_NET_VCI_STRING="AM335x U-Boot SPL"
# CONFIG_SPL_NO_CPU_SUPPORT is not set
# CONFIG_SPL_NOR_SUPPORT is not set
# CONFIG_SPL_ONENAND_SUPPORT is not set
# CONFIG_SPL_OS_BOOT is not set
# CONFIG_SPL_POST_MEM_SUPPORT is not set
# CONFIG_SPL_RAM_SUPPORT is not set
# CONFIG_SPL_SATA_SUPPORT is not set
# CONFIG_SPL_USB_HOST_SUPPORT is not set
CONFIG_SPL_USB_GADGET_SUPPORT=y
CONFIG_SPL_USBETH_SUPPORT=y

#
# Command line interface
#
CONFIG_CMDLINE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="=> "

#
# Autoboot options
#
CONFIG_AUTOBOOT=y
# CONFIG_AUTOBOOT_KEYED is not set

#
# FASTBOOT
#
# CONFIG_FASTBOOT is not set

#
# Commands
#

#
# Info commands
#
CONFIG_CMD_BDI=y
CONFIG_CMD_CONSOLE=y
# CONFIG_CMD_CPU is not set
# CONFIG_CMD_LICENSE is not set

#
# Boot commands
#
CONFIG_CMD_BOOTD=y
CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_BOOTMENU is not set
CONFIG_CMD_ELF=y
CONFIG_CMD_FDT=y
CONFIG_CMD_GO=y
CONFIG_CMD_RUN=y
CONFIG_CMD_IMI=y
# CONFIG_CMD_IMLS is not set
CONFIG_CMD_XIMG=y

#
# Environment commands
#
CONFIG_CMD_ASKENV=y
CONFIG_CMD_EXPORTENV=y
CONFIG_CMD_IMPORTENV=y
CONFIG_CMD_EDITENV=y
# CONFIG_CMD_GREPENV is not set
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_ENV_EXISTS=y

#
# Memory commands
#
CONFIG_CMD_MEMORY=y
CONFIG_CMD_CRC32=y
# CONFIG_LOOPW is not set
# CONFIG_CMD_MEMTEST is not set
# CONFIG_CMD_MX_CYCLIC is not set
# CONFIG_CMD_MEMINFO is not set

#
# Device access commands
#
CONFIG_CMD_DM=y
# CONFIG_CMD_DEMO is not set
CONFIG_CMD_LOADB=y
CONFIG_CMD_LOADS=y
# CONFIG_CMD_FLASH is not set
# CONFIG_CMD_ARMFLASH is not set
CONFIG_CMD_MMC=y
# CONFIG_CMD_NAND is not set
# CONFIG_CMD_SF is not set
# CONFIG_CMD_SPI is not set
CONFIG_CMD_I2C=y
CONFIG_CMD_USB=y
CONFIG_CMD_DFU=y
# CONFIG_CMD_USB_MASS_STORAGE is not set
# CONFIG_CMD_FPGA is not set
CONFIG_CMD_GPIO=y
# CONFIG_CMD_RIO is not set

#
# Shell scripting commands
#
CONFIG_CMD_ECHO=y
CONFIG_CMD_ITEST=y
CONFIG_CMD_SOURCE=y
# CONFIG_CMD_SETEXPR is not set

#
# Network commands
#
CONFIG_CMD_NET=y
CONFIG_CMD_TFTPPUT=y
CONFIG_CMD_TFTPSRV=y
# CONFIG_CMD_RARP is not set
CONFIG_CMD_DHCP=y
CONFIG_CMD_PXE=y
CONFIG_CMD_NFS=y
CONFIG_CMD_MII=y
CONFIG_CMD_PING=y
# CONFIG_CMD_CDP is not set
# CONFIG_CMD_SNTP is not set
# CONFIG_CMD_DNS is not set
# CONFIG_CMD_LINK_LOCAL is not set

#
# Misc commands
#
# CONFIG_CMD_BKOPS_ENABLE is not set
# CONFIG_CMD_CACHE is not set
# CONFIG_CMD_TIME is not set
CONFIG_CMD_MISC=y
# CONFIG_CMD_TIMER is not set
# CONFIG_CMD_QFW is not set

#
# Power commands
#

#
# Security commands
#

#
# Firmware commands
#

#
# Filesystem commands
#
CONFIG_CMD_EXT2=y
CONFIG_CMD_EXT4=y
# CONFIG_CMD_EXT4_WRITE is not set
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
# CONFIG_CMD_UBI is not set
CONFIG_SUPPORT_OF_CONTROL=y

#
# Device Tree Control
#
CONFIG_OF_CONTROL=y
# CONFIG_SPL_OF_CONTROL is not set
CONFIG_OF_SEPARATE=y
# CONFIG_OF_EMBED is not set
CONFIG_NET=y
# CONFIG_NET_RANDOM_ETHADDR is not set
# CONFIG_NETCONSOLE is not set
CONFIG_NET_TFTP_VARS=y
CONFIG_BOOTP_PXE_CLIENTARCH=0x15
CONFIG_BOOTP_VCI_STRING="U-Boot.armv7"

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_DM=y
# CONFIG_SPL_DM is not set
CONFIG_DM_WARN=y
CONFIG_DM_DEVICE_REMOVE=y
CONFIG_DM_STDIO=y
CONFIG_DM_SEQ_ALIAS=y
# CONFIG_SPL_DM_SEQ_ALIAS is not set
# CONFIG_REGMAP is not set
# CONFIG_SPL_REGMAP is not set
# CONFIG_DEVRES is not set
CONFIG_SIMPLE_BUS=y
CONFIG_OF_TRANSLATE=y
# CONFIG_ADC is not set
# CONFIG_ADC_EXYNOS is not set
# CONFIG_ADC_SANDBOX is not set
# CONFIG_BLK is not set
# CONFIG_BLOCK_CACHE is not set

#
# SATA/SCSI device support
#

#
# Clock
#
# CONFIG_CLK is not set
# CONFIG_CPU is not set

#
# Hardware crypto devices
#
# CONFIG_FSL_CAAM is not set
# CONFIG_SYS_FSL_SEC_BE is not set
# CONFIG_SYS_FSL_SEC_LE is not set

#
# Demo for driver model
#
# CONFIG_DM_DEMO is not set

#
# DFU support
#
CONFIG_USB_FUNCTION_DFU=y
CONFIG_DFU_TFTP=y
CONFIG_DFU_MMC=y
# CONFIG_SPL_DFU_MMC is not set
# CONFIG_DFU_NAND is not set
CONFIG_DFU_RAM=y
# CONFIG_DFU_SF is not set

#
# DMA Support
#
# CONFIG_DMA is not set
# CONFIG_TI_EDMA3 is not set

#
# FPGA support
#
# CONFIG_FPGA_ALTERA is not set
# CONFIG_FPGA_XILINX is not set

#
# GPIO Support
#
CONFIG_DM_GPIO=y
# CONFIG_ALTERA_PIO is not set
# CONFIG_DWAPB_GPIO is not set
# CONFIG_ATMEL_PIO4 is not set
# CONFIG_INTEL_BROADWELL_GPIO is not set
# CONFIG_LPC32XX_GPIO is not set
# CONFIG_MSM_GPIO is not set
# CONFIG_PCF8575_GPIO is not set
# CONFIG_ROCKCHIP_GPIO is not set
# CONFIG_TEGRA_GPIO is not set
# CONFIG_TEGRA186_GPIO is not set
# CONFIG_VYBRID_GPIO is not set
# CONFIG_DM_74X164 is not set
# CONFIG_DM_PCA953X is not set
# CONFIG_MPC85XX_GPIO is not set

#
# I2C support
#
CONFIG_DM_I2C=y
# CONFIG_DM_I2C_COMPAT is not set
# CONFIG_DM_I2C_GPIO is not set
# CONFIG_SYS_I2C_FSL is not set
# CONFIG_SYS_I2C_DW is not set
# CONFIG_SYS_I2C_INTEL is not set
# CONFIG_SYS_I2C_ROCKCHIP is not set
# CONFIG_SYS_I2C_MVTWSI is not set
# CONFIG_I2C_MUX is not set
# CONFIG_DM_KEYBOARD is not set
# CONFIG_CROS_EC_KEYB is not set

#
# LED Support
#
# CONFIG_LED is not set

#
# Mailbox Controller Support
#
# CONFIG_DM_MAILBOX is not set

#
# Memory Controller drivers
#

#
# Multifunction device drivers
#
CONFIG_MISC=y
# CONFIG_ALTERA_SYSID is not set
# CONFIG_CROS_EC is not set
# CONFIG_FSL_SEC_MON is not set
# CONFIG_MXC_OCOTP is not set
# CONFIG_NUVOTON_NCT6102D is not set
# CONFIG_PWRSEQ is not set
# CONFIG_PCA9551_LED is not set
# CONFIG_WINBOND_W83627 is not set
# CONFIG_I2C_EEPROM is not set

#
# MMC Host controller Support
#
CONFIG_DM_MMC=y
# CONFIG_DM_MMC_OPS is not set
# CONFIG_SPL_MMC_TINY is not set
# CONFIG_ROCKCHIP_DWMMC is not set
# CONFIG_MMC_SDHCI is not set

#
# MTD Support
#
# CONFIG_MTD is not set

#
# NAND Device Support
#
# CONFIG_DM_NAND is not set
# CONFIG_NAND_DENALI is not set
# CONFIG_NAND_VF610_NFC is not set
# CONFIG_NAND_PXA3XX is not set
# CONFIG_NAND_ARASAN is not set
# CONFIG_NAND_ZYNQ is not set

#
# Generic NAND options
#
# CONFIG_SYS_NAND_U_BOOT_LOCATIONS is not set
# CONFIG_SPL_NAND_DENALI is not set

#
# SPI Flash Support
#
# CONFIG_SPI_FLASH is not set

#
# UBI support
#
# CONFIG_MTD_UBI is not set
# CONFIG_DM_ETH is not set
# CONFIG_PHYLIB is not set
# CONFIG_NETDEVICES is not set
# CONFIG_PCI is not set
# CONFIG_MVEBU_COMPHY_SUPPORT is not set

#
# Pin controllers
#
# CONFIG_PINCTRL is not set

#
# Power
#

#
# Power Domain Support
#
# CONFIG_POWER_DOMAIN is not set
# CONFIG_DM_PMIC is not set
# CONFIG_DM_REGULATOR is not set
# CONFIG_DM_PWM is not set
# CONFIG_RAM is not set
# CONFIG_DM_RIO is not set

#
# Remote Processor drivers
#

#
# Reset Controller Support
#
# CONFIG_DM_RESET is not set

#
# Real Time Clock
#
# CONFIG_DM_RTC is not set

#
# Serial drivers
#
CONFIG_REQUIRE_SERIAL_CONSOLE=y
CONFIG_SERIAL_PRESENT=y
CONFIG_SPL_SERIAL_PRESENT=y
CONFIG_DM_SERIAL=y
# CONFIG_DEBUG_UART is not set
# CONFIG_DEBUG_UART_SKIP_INIT is not set
# CONFIG_ALTERA_JTAG_UART is not set
# CONFIG_ALTERA_UART is not set
# CONFIG_ATMEL_USART is not set
# CONFIG_FSL_LPUART is not set
# CONFIG_MVEBU_A3700_UART is not set
CONFIG_SYS_NS16550=y
# CONFIG_MSM_SERIAL is not set
# CONFIG_PXA_SERIAL is not set

#
# Sound support
#
# CONFIG_SOUND is not set

#
# SPI Support
#
# CONFIG_DM_SPI is not set
# CONFIG_FSL_ESPI is not set
# CONFIG_FSL_QSPI is not set
# CONFIG_TI_QSPI is not set

#
# SPMI support
#
# CONFIG_SPMI is not set

#
# System reset device drivers
#
# CONFIG_SYSRESET is not set
# CONFIG_DM_THERMAL is not set

#
# Timer Support
#
CONFIG_TIMER=y
# CONFIG_TIMER_EARLY is not set
# CONFIG_ALTERA_TIMER is not set
CONFIG_OMAP_TIMER=y

#
# TPM support
#
CONFIG_USB=y
CONFIG_DM_USB=y

#
# USB Host Controller Drivers
#
# CONFIG_USB_XHCI_HCD is not set
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_EHCI is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_DWC3 is not set

#
# MUSB Controller Driver
#
CONFIG_USB_MUSB_HOST=y
CONFIG_USB_MUSB_GADGET=y
CONFIG_USB_MUSB_TI=y

#
# ULPI drivers
#

#
# USB peripherals
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_KEYBOARD is not set
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_ATMEL_USBA is not set
# CONFIG_USB_GADGET_BCM_UDC_OTG_PHY is not set
# CONFIG_USB_GADGET_DWC2_OTG is not set
# CONFIG_CI_UDC is not set
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
CONFIG_G_DNL_VENDOR_NUM=0x0451
CONFIG_G_DNL_PRODUCT_NUM=0xd022
CONFIG_USBNET_DEVADDR="de:ad:be:ef:00:01"

#
# Graphics support
#
# CONFIG_DM_VIDEO is not set

#
# TrueType Fonts
#
# CONFIG_VIDEO_VESA is not set
# CONFIG_VIDEO_LCD_ANX9804 is not set
# CONFIG_VIDEO_LCD_SSD2828 is not set
# CONFIG_VIDEO_MVEBU is not set
# CONFIG_I2C_EDID is not set
# CONFIG_DISPLAY is not set
# CONFIG_VIDEO_TEGRA20 is not set
# CONFIG_VIDEO_BRIDGE is not set
# CONFIG_LCD is not set
# CONFIG_PHYS_TO_BUS is not set

#
# File systems
#

#
# Library routines
#
# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
CONFIG_HAVE_PRIVATE_LIBGCC=y
CONFIG_USE_PRIVATE_LIBGCC=y
CONFIG_SYS_HZ=1000
CONFIG_USE_TINY_PRINTF=y
CONFIG_REGEX=y
# CONFIG_LIB_RAND is not set
# CONFIG_CMD_DHRYSTONE is not set
CONFIG_RSA=y
# CONFIG_SPL_RSA is not set
CONFIG_RSA_SOFTWARE_EXP=y
# CONFIG_TPM is not set

#
# Hashing Support
#
# CONFIG_SHA1 is not set
# CONFIG_SHA256 is not set
# CONFIG_SHA_HW_ACCEL is not set

#
# Compression Support
#
# CONFIG_LZ4 is not set
# CONFIG_ERRNO_STR is not set
CONFIG_OF_LIBFDT=y
# CONFIG_OF_LIBFDT_OVERLAY is not set
CONFIG_SPL_OF_LIBFDT=y
# CONFIG_FDT_FIXUP_PARTITIONS is not set

#
# System tables
#
# CONFIG_EFI_LOADER is not set
# CONFIG_UNIT_TEST is not set

  • Hi,

    Does tftp, dhcp resolve when typed in on the u-boot command line? There maybe a subtle definition problem here.

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Unfortunately no, I get the same "Unknown command" error when using the u-boot command line.

    Thanks,

    Bryan

  • Hi Bryan,

    Which version of the TI SDK did you start with? I don't have an old 2017.01 running at the moment so I can't directly replicate what you have. The config issue you have highlighted about may be correct. I would recommend looking at the map file for any symbols that have tftp, dhcp in them. If they are not there then perhaps the config file being used to build is not the one intended. If this was Linux the kernel config could be dumped, I don't know of an equivalent for u-boot. I would try using the default TI defconfig and verify that the tftp can be built in.

    It could be that while you have the configs necessary to enable tftp there could be a dependent config requirement that is not enabled and that is why tftp is not showing up in the build.

    Also please note that the 2017 is out of the 2 year support window. 

    Best Regards,

    Schuyler

  • We are using version 04.02.00.09 of the SDK for this build.
    Looking at the map file, I see symbols that have dhcp in them, but none that have tftp.

    I double checked that the .config used in the build is the same as the one shown above, then tried out the default TI defconfig.

    With the default defconfig, U-boot still complained about not recognizing the "tftp" command, but when using the help command, I could see that the "tftpboot" command was present (see attached log). So I changed the two references in uenv.txt from "tftp" to "tftpboot" as I have seen in some examples. After rebuilding and flashing the board with the new uenv.txt, it still wouldn't recognize the commands, but it also no longer listed the tftpboot, dhcp, or pxe commands in the help menu.

    I've been trying both boot.scr and uenv.txt with the same results. Another odd thing that I'm noticing is that the boot.scr seems to be executed twice.

    Thanks,

    Bryan

    2146.TI_log_1.txt
    U-Boot SPL 2017.01 ALC (Jun 01 2021 - 07:46:23)
    Trying to boot from MMC2
    MMC: ****** RCA is set to 1 ****** 
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    
    
    U-Boot 2017.01 ALC (Jun 01 2021 - 07:46:23 -0400)
    
    CPU  : AM335X-GP rev 2.1
    Model: TI AM335x ALC
    DRAM:  256 MiB
    MMC:   OMAP SD/MMC **** : 0
    MMC Device 1 not found
    *** Warning - No MMC card found, using default environment
    
    Device tree fdtfile: am335x-alc_ngzn.dtb
    Press and hold recovery switch to enter Recovery Mode
    Recovery Switch Set to OFF
    Write Ethernet Bypass Relay is a2 86 fd
    Configure Ethernet Bypass Relay is a2 8e fd
    Hit any key to stop autoboot:  2  1  0 
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    reading boot.scr
    1561 bytes read in 6 ms (253.9 KiB/s)
    Running bootscript from mmc0 ...
    ## Executing script at 82000000
    Preparing to boot from TFTP/NFS
    ipaddr=169.254.1.1
    serverip=169.254.1.2
    HOME=/home/root
    netmask=255.255.255.248
    hostname=RouterE
    device=eth0
    rootpath=/home/user/ng5/b5/fr7/107-00/nfsroot
    fdtfile=devicetree-zImage-am335x-alc_ngzn.dtb
    bootfile=zImage-4.9.59-alc
    nfsopts=nolock,udp,rsize=1024,wsize=1024,timeo=1,retrans=1
    net_args=setenv bootargs console=${console} ${optargs} root=/dev/nfs rw nfsroot=${serverip}:${rootpath},${nfsopts} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:off loginShell=allow;
    tftp_nfs_boot=echo Booting from network ...; setenv autoload no; tftp ${loadaddr} ${bootfile}; tftp ${fdtaddr} ${fdtfile}; run net_args; bootz ${loadaddr} - ${fdtaddr};
    bootcmd=run tftp_nfs_boot;
    Booting from network ...
    Unknown command 'tftp' - try 'help'
    Unknown command 'tftp' - try 'help'
    switch to partitions #0, OK
    mmc0(part 0) is current device
    Scanning mmc 0:1...
    Found U-Boot script /boot.scr
    reading /boot.scr
    1561 bytes read in 5 ms (304.7 KiB/s)
    ## Executing script at 80000000
    Preparing to boot from TFTP/NFS
    ipaddr=169.254.1.1
    serverip=169.254.1.2
    HOME=/home/root
    netmask=255.255.255.248
    hostname=RouterE
    device=eth0
    rootpath=/home/user/ng5/b5/fr7/107-00/nfsroot
    fdtfile=devicetree-zImage-am335x-alc_ngzn.dtb
    bootfile=zImage-4.9.59-alc
    nfsopts=nolock,udp,rsize=1024,wsize=1024,timeo=1,retrans=1
    net_args=setenv bootargs console=${console} ${optargs} root=/dev/nfs rw nfsroot=${serverip}:${rootpath},${nfsopts} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:off loginShell=allow;
    tftp_nfs_boot=echo Booting from network ...; setenv autoload no; tftp ${loadaddr} ${bootfile}; tftp ${fdtaddr} ${fdtfile}; run net_args; bootz ${loadaddr} - ${fdtaddr};
    bootcmd=run tftp_nfs_boot;
    Booting from network ...
    Unknown command 'tftp' - try 'help'
    Unknown command 'tftp' - try 'help'
    SCRIPT FAILED: continuing...
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    4333472 bytes read in 492 ms (8.4 MiB/s)
    40982 bytes read in 47 ms (850.6 KiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8df3e000, end 8df4b015 ... OK
    
    Starting kernel ...
    
    ......
    
    > power cycle
    
    U-Boot SPL 2017.01 ALC (May 17 2021 - 11:23:01)
    Trying to boot from eth device
    Using default environment
    
    <ethaddr> not set. Validating first E-fuse MAC
    Enable RMII mode on Ethernet PHY
    cpsw, usb_ether
    cpsw Waiting for PHY auto negotiation to complete....... done
    link up on port 0, speed 100, full duplex
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    DHCP client bound to address 169.254.1.6 (758 ms)
    Using cpsw device
    TFTP from server 169.254.1.2; our IP address is 169.254.1.6
    Filename 'u-boot-restore.img'.
    Load address: 0x807fffc0
    Loading: *#################################################################
    	 ##################
    	 857.4 KiB/s
    done
    Bytes transferred = 420921 (66c39 hex)
    
    
    U-Boot 2017.01 ALC (Nov 30 2020 - 16:35:59 -0500)
    
    CPU  : AM335X-GP rev 2.1
    Model: TI AM335x ALC
    DRAM:  256 MiB
    MMC:   OMAP SD/MMC: 0
    MMC Device 1 not found
    *** Warning - No MMC card found, using default environment
    
    Device tree fdtfile: am335x-alc_ngzn.dtb
    <ethaddr> not set. Validating first E-fuse MAC
    Press and hold recovery switch to enter Recovery Mode
    Recovery Switch Set to OFF
    Net:   Enable RMII mode on Ethernet PHY
    cpsw, usb_ether
    Hit any key to stop autoboot:  1  0 
    U-Boot!> help
    ?       - alias for 'help'
    askenv  - get environment variables from stdin
    base    - print or set address offset
    bdinfo  - print Board Info structure
    boot    - boot default, i.e., run 'bootcmd'
    bootd   - boot default, i.e., run 'bootcmd'
    bootelf - Boot from an ELF image in memory
    bootm   - boot application image from memory
    bootp   - boot image via network using BOOTP/TFTP protocol
    bootvx  - Boot vxWorks from an ELF image
    bootz   - boot Linux zImage image from memory
    cmp     - memory compare
    coninfo - print console devices and information
    cp      - memory copy
    crc32   - checksum calculation
    dfu     - Device Firmware Upgrade
    dhcp    - boot image via network using DHCP/TFTP protocol
    dm      - Driver model low level access
    echo    - echo args to console
    editenv - edit environment variable
    eeprom  - EEPROM sub-system
    env     - environment handling commands
    exit    - exit script
    ext2load- load binary file from a Ext2 filesystem
    ext2ls  - list files in a directory (default /)
    ext4load- load binary file from a Ext4 filesystem
    ext4ls  - list files in a directory (default /)
    ext4size- determine a file's size
    false   - do nothing, unsuccessfully
    fatinfo - print information about filesystem
    fatload - load binary file from a dos filesystem
    fatls   - list files in a directory (default /)
    fatsize - determine a file's size
    fatwrite- write file into a dos filesystem
    fdt     - flattened device tree utility commands
    fstype  - Look up a filesystem type
    go      - start application at address 'addr'
    gpio    - query and control gpio pins
    gpt     - GUID Partition Table
    help    - print command description/usage
    i2c     - I2C sub-system
    iminfo  - print header information for application image
    imxtract- extract a part of a multi-image
    itest   - return true/false on integer compare
    load    - load binary file from a filesystem
    loadb   - load binary file over serial line (kermit mode)
    loads   - load S-Record file over serial line
    loadx   - load binary file over serial line (xmodem mode)
    loady   - load binary file over serial line (ymodem mode)
    loop    - infinite loop on address range
    ls      - list files in a directory (default /)
    md      - memory display
    mdio    - MDIO utility commands
    mii     - MII utility commands
    mm      - memory modify (auto-incrementing address)
    mmc     - MMC sub system
    mmcinfo - display MMC info
    mw      - memory write (fill)
    nfs     - boot image via network using NFS protocol
    nm      - memory modify (constant address)
    part    - disk partition related commands
    ping    - send ICMP ECHO_REQUEST to network host
    printenv- print environment variables
    pxe     - commands to get and boot from pxe files
    reset   - Perform RESET of the CPU
    run     - run commands in an environment variable
    save    - save file to a filesystem
    saveenv - save environment variables to persistent storage
    setenv  - set environment variables
    showvar - print local hushshell variables
    size    - determine a file's size
    sleep   - delay execution for some time
    source  - run script from memory
    sysboot - command to get and boot from syslinux files
    test    - minimal test like /bin/sh
    tftpboot- boot image via network using TFTP protocol
    time    - run commands and summarize execution time
    true    - do nothing, successfully
    usb     - USB sub-system
    usbboot - boot from USB device
    version - print monitor, compiler and linker version
    U-Boot!> 
    Timeout waiting for command
    resetting ...
    

  • Hi,

    I ran a TI 2020 U-boot on the gp-evm and tftp is in the executable and tftp seems to resolve to tftpboot when looking at the command. 

    Looking through the latest log I see 3 possible different u-boot builds in the latest log posting.  Are these images all built with the same config?

    U-Boot SPL 2017.01 ALC (Jun 01 2021 - 07:46:23)

    U-Boot 2017.01 ALC (Jun 01 2021 - 07:46:23 -0400)

    U-Boot SPL 2017.01 ALC (May 17 2021 - 11:23:01) 

    U-Boot 2017.01 ALC (Nov 30 2020 - 16:35:59 -0500) 

    Best Regards,

    Schuyler