Loading the u-boot-dtb.img binary via USB

Hello everyone,

I’m new to linux.

At this section: Bootloader: imx_usb_loader

I received different behavior on my local ubuntu host and ubuntu on vm(windows host, virtual box V6.1.18). Anyone knows what’s wrong with my local ubuntu?

On my vm ubuntu, it ran successfully:

  1. terminal:
    dylan@dylan-VirtualBox:~/u-boot$ sudo ~/imx_usb_loader/imx_usb SPL
    config file </home/dylan/imx_usb_loader//imx_usb.conf>
    vid=0x066f pid=0x3780 file_name=mx23_usb_work.conf
    vid=0x15a2 pid=0x004f file_name=mx28_usb_work.conf
    vid=0x15a2 pid=0x0052 file_name=mx50_usb_work.conf
    vid=0x15a2 pid=0x0054 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0061 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0063 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0071 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x007d file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0080 file_name=mx6ull_usb_work.conf
    vid=0x1fc9 pid=0x0128 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0076 file_name=mx7_usb_work.conf
    vid=0x1fc9 pid=0x0126 file_name=mx7ulp_usb_work.conf
    vid=0x15a2 pid=0x0041 file_name=mx51_usb_work.conf
    vid=0x15a2 pid=0x004e file_name=mx53_usb_work.conf
    vid=0x15a2 pid=0x006a file_name=vybrid_usb_work.conf
    vid=0x066f pid=0x37ff file_name=linux_gadget.conf
    vid=0x1b67 pid=0x4fff file_name=mx6_usb_sdp_spl.conf
    vid=0x0525 pid=0xb4a4 file_name=mx6_usb_sdp_spl.conf
    vid=0x1fc9 pid=0x012b file_name=mx8mq_usb_work.conf
    vid=0x1fc9 pid=0x0134 file_name=mx8mm_usb_work.conf
    vid=0x1fc9 pid=0x013e file_name=mx8mn_usb_work.conf
    vid=0x3016 pid=0x1001 file_name=mx8m_usb_sdp_spl.conf
    config file </home/dylan/imx_usb_loader//mx7_usb_work.conf>
    parse /home/dylan/imx_usb_loader//mx7_usb_work.conf
    Trying to open device vid=0x15a2 pid=0x0076
    Interface 0 claimed
    HAB security state: development mode (0x56787856)
    == work item
    filename SPL
    load_size 0 bytes
    load_addr 0x00000000
    dcd 1
    clear_dcd 0
    plug 1
    jump_mode 3
    jump_addr 0x00000000
    == end work item
    No DCD table

    loading binary file(SPL) to 00911400, skip=0, fsize=ac00 type=aa

    <<<44032, 44032 bytes>>>
    succeeded (security 0x56787856, status 0x88888888)
    jumping to 0x00911400
    dylan@dylan-VirtualBox:~/u-boot$ sudo ~/imx_usb_loader/imx_usb u-boot-dtb.img
    config file </home/dylan/imx_usb_loader//imx_usb.conf>
    vid=0x066f pid=0x3780 file_name=mx23_usb_work.conf
    vid=0x15a2 pid=0x004f file_name=mx28_usb_work.conf
    vid=0x15a2 pid=0x0052 file_name=mx50_usb_work.conf
    vid=0x15a2 pid=0x0054 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0061 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0063 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0071 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x007d file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0080 file_name=mx6ull_usb_work.conf
    vid=0x1fc9 pid=0x0128 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0076 file_name=mx7_usb_work.conf
    vid=0x1fc9 pid=0x0126 file_name=mx7ulp_usb_work.conf
    vid=0x15a2 pid=0x0041 file_name=mx51_usb_work.conf
    vid=0x15a2 pid=0x004e file_name=mx53_usb_work.conf
    vid=0x15a2 pid=0x006a file_name=vybrid_usb_work.conf
    vid=0x066f pid=0x37ff file_name=linux_gadget.conf
    vid=0x1b67 pid=0x4fff file_name=mx6_usb_sdp_spl.conf
    vid=0x0525 pid=0xb4a4 file_name=mx6_usb_sdp_spl.conf
    vid=0x1fc9 pid=0x012b file_name=mx8mq_usb_work.conf
    vid=0x1fc9 pid=0x0134 file_name=mx8mm_usb_work.conf
    vid=0x1fc9 pid=0x013e file_name=mx8mn_usb_work.conf
    vid=0x3016 pid=0x1001 file_name=mx8m_usb_sdp_spl.conf
    config file </home/dylan/imx_usb_loader//mx6_usb_sdp_spl.conf>
    parse /home/dylan/imx_usb_loader//mx6_usb_sdp_spl.conf
    Trying to open device vid=0x0525 pid=0xb4a4
    Interface 0 claimed
    HAB security state: development mode (0x56787856)
    == work item
    filename u-boot-dtb.img
    load_size 0 bytes
    load_addr 0x00000000
    dcd 1
    clear_dcd 0
    plug 1
    jump_mode 3
    jump_addr 0x00000000
    == end work item

    loading binary file(u-boot-dtb.img) to 877fffc0, skip=0, fsize=7a562 type=aa

    <<<501090, 501090 bytes>>>
    succeeded (security 0x56787856, status 0x88888888)
    jumping to 0x877fffc0
  1. serial console:
    U-Boot SPL 2021.01 (Feb 09 2021 - 14:45:16 +0800)
    Trying to boot from USB SDP
    SDP: initialize...
    SDP: handle requests...
    Downloading file of size 501090 to 0x877fffc0... done
    Jumping to header at 0x877fffc0
    Header Tag is not an IMX image
    �ound header at 0x877fffc0

    U-Boot 2021.01 (Feb 09 2021 - 14:45:16 +0800)

    CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
    CPU:   Commercial temperature grade (0C to 95C) at 38C
    Reset cause: POR
    Model: TechNexion PICO-IMX7D Board and PI baseboard
    Board: i.MX7D PICOSOM
    I2C:   ready
    DRAM:  1 GiB
    PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
    MMC:   FSL_SDHC: 2, FSL_SDHC: 1, FSL_SDHC: 0
    Loading Environment from MMC... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   eth0: ethernet@30be0000
    Hit any key to stop autoboot:  0 
    => env default -f -a
    ## Resetting to default environment
    ## Error: Can't force access to "bootcmd"
    ## Error: Can't force access to "bootdelay"
    ## Error: Can't force access to "baudrate"
    ## Error: Can't force access to "loadaddr"
    ## Error: Can't force access to "arch"
    ## Error: Can't force access to "cpu"
    ## Error: Can't force access to "board"
    ## Error: Can't force access to "board_name"
    ## Error: Can't force access to "vendor"
    ## Error: Can't force access to "soc"
    ## Error: Can't force access to "image"
    ## Error: Can't force access to "splashpos"
    ## Error: Can't force access to "splashimage"
    ## Error: Can't force access to "console"
    ## Error: Can't force access to "fdt_high"
    ## Error: Can't force access to "initrd_high"
    ## Error: Can't force access to "fdtfile"
    ## Error: Can't force access to "videomode"
    ## Error: Can't force access to "fdt_addr"
    ## Error: Can't force access to "fdt_addr_r"
    ## Error: Can't force access to "kernel_addr_r"
    ## Error: Can't force access to "pxefile_addr_r"
    ## Error: Can't force access to "ramdisk_addr_r"
    ## Error: Can't force access to "ramdiskaddr"
    ## Error: Can't force access to "scriptaddr"
    ## Error: Can't force access to "dfu_alt_info"
    ## Error: Can't force access to "findfdt"
    ## Error: Can't force access to "finduuid"
    ## Error: Can't force access to "partitions"
    ## Error: Can't force access to "fastboot_partition_alias_system"
    ## Error: Can't force access to "setup_emmc"
    ## Error: Can't force access to "bootmenu_0"
    ## Error: Can't force access to "bootmenu_1"
    ## Error: Can't force access to "bootmenu_2"
    ## Error: Can't force access to "bootmenu_3"
    ## Error: Can't force access to "mmc_boot"
    ## Error: Can't force access to "boot_net_usb_start"
    ## Error: Can't force access to "usb_boot"
    ## Error: Can't force access to "boot_efi_bootmgr"
    ## Error: Can't force access to "boot_efi_binary"
    ## Error: Can't force access to "load_efi_dtb"
    ## Error: Can't force access to "efi_dtb_prefixes"
    ## Error: Can't force access to "scan_dev_for_efi"
    ## Error: Can't force access to "boot_prefixes"
    ## Error: Can't force access to "boot_scripts"
    ## Error: Can't force access to "boot_script_dhcp"
    ## Error: Can't force access to "boot_targets"
    ## Error: Can't force access to "boot_syslinux_conf"
    ## Error: Can't force access to "boot_extlinux"
    ## Error: Can't force access to "scan_dev_for_extlinux"
    ## Error: Can't force access to "boot_a_script"
    ## Error: Can't force access to "scan_dev_for_scripts"
    ## Error: Can't force access to "scan_dev_for_boot"
    ## Error: Can't force access to "scan_dev_for_boot_part"
    ## Error: Can't force access to "bootcmd_mmc0"
    ## Error: Can't force access to "bootcmd_usb0"
    ## Error: Can't force access to "bootcmd_pxe"
    ## Error: Can't force access to "bootcmd_dhcp"
    ## Error: Can't force access to "distro_bootcmd"
    => setenv bootm_boot_mode nonsec
    => saveenv
    Saving Environment to MMC... Writing to MMC(0)... OK
    => mmcpartconf 0 0 7 0
    Unknown command 'mmcpartconf' - try 'help'
    => mmc partconf 0 0 7 0
    => dfu 0 mmc 0
    #DOWNLOAD ... OK
    Ctrl+C to exit ...
    #DOWNLOAD ... OK
    Ctrl+C to exit ...
    => 

On my local ubuntu, the serial console stuck after DRAM:

  1. terminal:
    user@user-P453UJ:~/u-boot$ sudo ~/imx_usb_loader/imx_usb SPL
    config file </home/user/imx_usb_loader//imx_usb.conf>
    vid=0x066f pid=0x3780 file_name=mx23_usb_work.conf
    vid=0x15a2 pid=0x004f file_name=mx28_usb_work.conf
    vid=0x15a2 pid=0x0052 file_name=mx50_usb_work.conf
    vid=0x15a2 pid=0x0054 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0061 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0063 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0071 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x007d file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0080 file_name=mx6ull_usb_work.conf
    vid=0x1fc9 pid=0x0128 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0076 file_name=mx7_usb_work.conf
    vid=0x1fc9 pid=0x0126 file_name=mx7ulp_usb_work.conf
    vid=0x15a2 pid=0x0041 file_name=mx51_usb_work.conf
    vid=0x15a2 pid=0x004e file_name=mx53_usb_work.conf
    vid=0x15a2 pid=0x006a file_name=vybrid_usb_work.conf
    vid=0x066f pid=0x37ff file_name=linux_gadget.conf
    vid=0x1b67 pid=0x4fff file_name=mx6_usb_sdp_spl.conf
    vid=0x0525 pid=0xb4a4 file_name=mx6_usb_sdp_spl.conf
    vid=0x1fc9 pid=0x012b file_name=mx8mq_usb_work.conf
    vid=0x1fc9 pid=0x0134 file_name=mx8mm_usb_work.conf
    vid=0x1fc9 pid=0x013e file_name=mx8mn_usb_work.conf
    vid=0x3016 pid=0x1001 file_name=mx8m_usb_sdp_spl.conf
    config file </home/user/imx_usb_loader//mx7_usb_work.conf>
    parse /home/user/imx_usb_loader//mx7_usb_work.conf
    Trying to open device vid=0x15a2 pid=0x0076
    Interface 0 claimed
    HAB security state: development mode (0x56787856)
    == work item
    filename SPL
    load_size 0 bytes
    load_addr 0x00000000
    dcd 1
    clear_dcd 0
    plug 1
    jump_mode 3
    jump_addr 0x00000000
    == end work item
    No DCD table

    loading binary file(SPL) to 00911400, skip=0, fsize=ac00 type=aa

    <<<44032, 44032 bytes>>>
    succeeded (security 0x56787856, status 0x88888888)
    jumping to 0x00911400
    user@user-P453UJ:~/u-boot$ sudo ~/imx_usb_loader/imx_usb u-boot-dtb.img
    config file </home/user/imx_usb_loader//imx_usb.conf>
    vid=0x066f pid=0x3780 file_name=mx23_usb_work.conf
    vid=0x15a2 pid=0x004f file_name=mx28_usb_work.conf
    vid=0x15a2 pid=0x0052 file_name=mx50_usb_work.conf
    vid=0x15a2 pid=0x0054 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0061 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0063 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0071 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x007d file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0080 file_name=mx6ull_usb_work.conf
    vid=0x1fc9 pid=0x0128 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0076 file_name=mx7_usb_work.conf
    vid=0x1fc9 pid=0x0126 file_name=mx7ulp_usb_work.conf
    vid=0x15a2 pid=0x0041 file_name=mx51_usb_work.conf
    vid=0x15a2 pid=0x004e file_name=mx53_usb_work.conf
    vid=0x15a2 pid=0x006a file_name=vybrid_usb_work.conf
    vid=0x066f pid=0x37ff file_name=linux_gadget.conf
    vid=0x1b67 pid=0x4fff file_name=mx6_usb_sdp_spl.conf
    vid=0x0525 pid=0xb4a4 file_name=mx6_usb_sdp_spl.conf
    vid=0x1fc9 pid=0x012b file_name=mx8mq_usb_work.conf
    vid=0x1fc9 pid=0x0134 file_name=mx8mm_usb_work.conf
    vid=0x1fc9 pid=0x013e file_name=mx8mn_usb_work.conf
    vid=0x3016 pid=0x1001 file_name=mx8m_usb_sdp_spl.conf
    config file </home/user/imx_usb_loader//mx6_usb_sdp_spl.conf>
    parse /home/user/imx_usb_loader//mx6_usb_sdp_spl.conf
    Trying to open device vid=0x0525 pid=0xb4a4
    Interface 0 claimed
    HAB security state: development mode (0x56787856)
    == work item
    filename u-boot-dtb.img
    load_size 0 bytes
    load_addr 0x00000000
    dcd 1
    clear_dcd 0
    plug 1
    jump_mode 3
    jump_addr 0x00000000
    == end work item

    loading binary file(u-boot-dtb.img) to 877fffc0, skip=0, fsize=7a562 type=aa

    <<<501090, 501090 bytes>>>
    succeeded (security 0x56787856, status 0x88888888)
    jumping to 0x877fffc0
  1. serial console:
    U-Boot SPL 2021.01 (Feb 16 2021 - 16:15:36 +0800)
    Trying to boot from USB SDP
    SDP: initialize...
    SDP: handle requests...
    Downloading file of size 501090 to 0x877fffc0... done
    Jumping to header at 0x877fffc0
    Header Tag is not an IMX image
    �ound header at 0x877fffc0

    U-Boot 2021.01 (Feb 16 2021 - 16:15:36 +0800)

    CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
    CPU:   Commercial temperature grade (0C to 95C) at 36C
    Reset cause: POR
    Model: TechNexion PICO-IMX7D Board and PI baseboard
    Board: i.MX7D PICOSOM
    I2C:   ready
    DRAM:  1 GiB

That’s very odd, what release version of ubuntu? I can test it in the lab here…

(normally i don’t trust VM’s, just odd it worked for you…)

Regards,

Hi Robert,

It’s very odd indeed. I create both vm and local machine recently, I am pretty sure they are running the same install. Could it be hardware/driver issue?

This is my vm ubuntu

This is my local ubuntu installation.