Hi everyone,

 

I’m facing an issue when U-Boot commands are sent one after another without waiting for a prompt. Obviously, device is not able to boot.

 

Excerpt from logs:

 

dhcp

=> dhcp

bootloader-commands: Wait for prompt ['=>', 'Resetting CPU', 'Must RESET board to recover', 'TIMEOUT', 'Retry count exceeded', 'ERROR: The remote end did not respond in time.'] (timeout 00:04:56)

setenv serverip 172.17.1.189

setenv serverip 172.17.1.189

bootloader-commands: Wait for prompt ['=>', 'Resetting CPU', 'Must RESET board to recover', 'TIMEOUT', 'Retry count exceeded', 'ERROR: The remote end did not respond in time.'] (timeout 00:04:56)

tftp 0x80000000 60/tftp-deploy-46_3_i9j/kernel/zImage-am335x-vcu.bin

tftp 0x80000000 60/tftp-deploy-46_3_i9j/kernel/zImage-am335x-vcu.bin

bootloader-commands: Wait for prompt ['=>', 'Resetting CPU', 'Must RESET board to recover', 'TIMEOUT', 'Retry count exceeded', 'ERROR: The remote end did not respond in time.'] (timeout 00:04:56)

tftp 0x83000000 60/tftp-deploy-46_3_i9j/ramdisk/ramdisk.cpio.gz.uboot

tftp 0x83000000 60/tftp-deploy-46_3_i9j/ramdisk/ramdisk.cpio.gz.uboot

bootloader-commands: Wait for prompt ['=>', 'Resetting CPU', 'Must RESET board to recover', 'TIMEOUT', 'Retry count exceeded', 'ERROR: The remote end did not respond in time.'] (timeout 00:04:55)

setenv initrd_size ${filesize}

setenv initrd_size ${filesize}

bootloader-commands: Wait for prompt ['=>', 'Resetting CPU', 'Must RESET board to recover', 'TIMEOUT', 'Retry count exceeded', 'ERROR: The remote end did not respond in time.'] (timeout 00:04:55)

tftp 0x82000000 60/tftp-deploy-46_3_i9j/dtb/am335x-vcu-prod1.dtb

tftp 0x82000000 60/tftp-deploy-46_3_i9j/dtb/am335x-vcu-prod1.dtb

bootloader-commands: Wait for prompt ['=>', 'Resetting CPU', 'Must RESET board to recover', 'TIMEOUT', 'Retry count exceeded', 'ERROR: The remote end did not respond in time.'] (timeout 00:04:55)

dhcp

dhcp

link up on port 0, speed 10, half duplex

BOOTP broadcast 1

setenv serverip 172.17.1.189

tftp 0x80000000 60/tftp-deploy-46_3_i9j/kernel/zImage-am335x-vcu.bin

BOOTP broadcast 2

tftp 0x83000000 60/tftp-deploy-46_3_i9j/ramdisk/ramdisk.cpio.gz.uboot

setenv initrd_size ${filesize}

tftp 0x82000000 60/tftp-deploy-46_3_i9j/dtb/am335x-vcu-prod1.dtb

BOOTP broadcast 3

BOOTP broadcast 4

BOOTP broadcast 5

Retry time exceeded

setenv bootargs 'console=ttyS2,115200n8 root=/dev/ram0 ti_cpsw.rx_packet_max=1526 ip=dhcp'

=> setenv bootargs 'console=ttyS2,115200n8 root=/dev/ram0 ti_cpsw.rx_packet_max=1526 ip=dhcp'

bootloader-commands: Wait for prompt ['=>', 'Resetting CPU', 'Must RESET board to recover', 'TIMEOUT', 'Retry count exceeded', 'ERROR: The remote end did not respond in time.'] (timeout 00:04:50)

setenv bootargs 'console=ttyS2,115200n8 root=/dev/ram0 ti_cpsw.rx_packet_max=1526 ip=dhcp'

setenv bootargs 'console=ttyS2,115200n8 root=/dev/ram0 ti_cpsw.rx_packet_max=1526 ip=dhcp'

=>

bootz 0x80000000 0x83000000 0x82000000

=> bootz 0x80000000 0x83000000 0x82000000

bootloader-commands: Wait for prompt Starting kernel (timeout 00:04:50)

bootz 0x80000000 0x83000000 0x82000000

bootz 0x80000000 0x83000000 0x82000000

Bad Linux ARM zImage magic!

=>

Bad Linux ARM zImage magic!

 

As you see, all commands that were sent between `dhcp` command and until it was able to complete or fail are simply dropped.

 

Device type config:

 

{% extends 'base-uboot.jinja2' %}

 

{% set device_type = "vcu" %}

 

{% set console_device = 'ttyS2' %}

{% set baud_rate = 115200 %}

{% set interrupt_prompt = 'Press s to abort autoboot' %}

{% set interrupt_char = 's' %}

{% set bootloader_prompt = '=>' %}

 

{% set uboot_mkimage_arch = 'arm' %}

 

{% set bootz_kernel_addr = '0x80000000' %}

{% set bootz_ramdisk_addr = '0x83000000' %}

{% set bootz_dtb_addr = '0x82000000' %}

 

{% set extra_kernel_args = 'ti_cpsw.rx_packet_max=1526' %}

 

{% set kernel_start_message = 'Welcome to' %}

 

Device config:

 

{% extends 'vcu.jinja2' %}

 

{% set connection_command = 'telnet lava-disp-1.local 7000' %}

{% set power_on_command = 'relay-ctrl --relay 1 --state on' %}

{% set power_off_command = 'relay-ctrl --relay 1 --state off' %}

{% set hard_reset_command = 'relay-ctrl --relay 1 --toggle' %}

 

Boot action block from job definition:

 

- boot:

    timeout:

      minutes: 5

    method: u-boot

    commands: ramdisk

    auto_login:

      login_prompt: 'am335x-nmhw21 login: '

      username: root

    prompts:

    - 'fct@am335x-nmhw21:~# '

 

Have I misconfigured something? What I’m missing? Thanks!

 

Best regards,

Andrejs Cainikovs.