Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Unexpected U-Boot behavior when building Boot2Qt distro with Yocto



  • I am working with NXP i.MX 8QuadXPlus Multisensory Enablement Kit (MEK) and I'd like to use Boot2Qt so I created Boot2Qt distro using this guide, the steps I did are:

    $ git clone -b thud git://code.qt.io/yocto/meta-boot2qt.git
    $ cd meta-boot2qt
    $ ./b2qt-init-build-env init --device imx8qxpmek
    $ export MACHINE=imx8qxpmek
    $ source ./setup-environment.sh
    $ bitbake -k b2qt-automotive-qt5-image.bb
    

    After a while the image is generated, then I use the NXP manufacturing tool to flash it to the eMMC that MEK board includes:

    sudo ./uuu -v -b emmc_all imx-boot-imx8qxpmek-sd.bin b2qt-automotive-qt5-image-imx8qxpmek.img
    

    Finally Boot2Qt boots fine and I can see Neptune starting, but when I try to modify the U-Boot enviroment variables, somehow the boot partition gets corrupted.
    Here is my U-Boot output

    U-Boot 2018.03-imx_v2018.03_4.14.98_2.0.0_ga+g0d6d880779 (Jan 29 2020 - 17:15:28 +0000)
    
    CPU:   Freescale i.MX8QXP revB A35 at 1200 MHz at 22C
    Model: Freescale i.MX8QXP MEK
    Board: iMX8QXP MEK
    Boot:  MMC0
    DRAM:  2.8 GiB
    VService: Connection is ok on MU mu@5d230000
    TCPC:  Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C1 0x50]
    MMC:   FSL_SDHC: 0, FSL_SDHC: 1
    Loading Environment from MMC... OK
    [pcie_ctrlb_sata_phy_init_rc] LNK DOWN 8600000
    In:    serial
    Out:   serial
    Err:   serial
    
     BuildInfo:
      - SCFW f83a2bed, SECO-FW 92ef1143, IMX-MKIMAGE dd023400, ATF 1cb68fa
      - U-Boot 2018.03-imx_v2018.03_4.14.98_2.0.0_ga+g0d6d880779
    
    switch to partitions #0, OK
    mmc0(part 0) is current device
    flash target is MMC:0
    Net:   eth0: ethernet@5b040000 [PRIME]
    Warning: ethernet@5b050000 (eth1) using random MAC address - 5a:51:06:58:75:ab
    , eth1: ethernet@5b050000
    Fastboot: Normal
    Normal Boot
    Hit any key to stop autoboot:  0
    => setenv serverip '172.17.44.150'
    => saveenv
    Saving Environment to MMC... Writing to MMC(0)... OK
    => boot
    switch to partitions #0, OK
    mmc0(part 0) is current device
    ** Unrecognized filesystem type **
    ** Unrecognized filesystem type **
    Booting from net ...
    BOOTP broadcast 1
    BOOTP broadcast 2
    DHCP client bound to address 172.17.44.45 (280 ms)
    Using ethernet@5b040000 device
    TFTP from server 172.17.44.150; our IP address is 172.17.44.45
    Filename 'Image'.
    Load address: 0x80280000
    Loading: *
    Abort
    BOOTP broadcast 1
    DHCP client bound to address 172.17.44.45 (35 ms)
    Using ethernet@5b040000 device
    TFTP from server 172.17.44.150; our IP address is 172.17.44.45
    Filename 'fsl-imx8qxp-mek-rpmsg.dtb'.
    Load address: 0x83000000
    Loading: *
    Abort
    WARN: Cannot load the DT
    => fatls mmc 0
    ** Unrecognized filesystem type **
    =>
    

    Any tip of what I need to do to get to the modify the environment variables in U-Boot without corrupting my boot partition? or maybe I need to modify something in my recipes?

    Thanks