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.

SK-TDA4VM: Issue Flashing Yocto Image to SD Card for SK-TDA4VM

Part Number: SK-TDA4VM

Tool/software:

Hi,

I have been trying to build Yocto for the SK-TDA4VM using the following guides:

  1. TI SDK Documentation

  2. TI E2E Forum Guide

I have been building using the command bitbake -k tisdk-edgeai-image, and I added the line ARAGO_BRAND = "edgeai" in local.conf as well. This gave me the output images:

  • tisdk-edgeai-image-j721e-evm.rootfs-20250424134729.wic.xz

  • tisdk-edgeai-image-j721e-evm.rootfs-20250424134729.tar.xz

Now, my question is: what is the minimum SD card size required to flash any of these images? I used Balena Etcher to flash tisdk-edgeai-image-j721e-evm.rootfs-20250424134729.wic.xz on both 16GB and 32GB SD cards, but in both cases, it showed that the storage was too low and when I tried to flash using bmap-tools, it showed the image file 'tisdk-edgeai-image-j721e-evm.rootfs-20250424134729.wic' has size 34.1 GiB and it will not fit the block device '/dev/sdb' which has 14.8 GiB capacity.

How can I overcome this issue? I need the Yocto build to generate tisdk-edgeai-image-j721e-evm.wic.xz as provided here: https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-SK-TDA4VM, which I was able to flash onto a 16GB SD card without any issues.

Kindly help me with this.

Thanks.
Naveen.

  • Hi Naveen,

    I will run the 10.01 build process and see if I can recreate your issue.

    Best,
    Jared

  • Hi Naveen,

    I was unable to replicate your issue:

    bmaptool: info: block map format version 2.0
    bmaptool: info: 2943502 blocks of size 4096 (11.2 GiB), mapped 1653926 blocks (6.3 GiB or 56.2%)
    bmaptool: info: copying image 'tisdk-edgeai-image-j721e-evm.rootfs.wic.xz' to block device '/dev/sdb' using bmap file 'tisdk-edgeai-image-j721e-evm.rootfs.wic.bmap'
    bmaptool: info: 6% copied

    These are commands I executed:

    $ /oe-layertool-setup.sh -f configs/processor-sdk-analytics/processor-sdk-analytics-10.01.00-config.txt 
    $ cd build/
    $ . conf/setenv 
    # edit the local.conf to decrease the BB_NUMBER_THREADS and PARALLEL_MAKE variables
    $ vi conf/local.conf 
    $ echo 'ARAGO_BRAND = "edgeai"' >> conf/local.conf
    $ MACHINE="j721e-evm" bitbake -k tisdk-edgeai-image
    $ cd deploy-ti/images/j721e-evm/
    $ ls
    $ umount /dev/sdb?*
    $ sudo bmaptool copy --bmap tisdk-edgeai-image-j721e-evm.rootfs.wic.bmap tisdk-edgeai-image-j721e-evm.rootfs.wic.xz /dev/sdb

    Best,
    Jared

  • Hi Jared McArthur,

    I have re-initiated the build and followed the exact same steps as you provided. I have outlined the steps I followed below:

    1) sudo locale-gen en_US.UTF-8

    2) sudo dpkg-reconfigure dash
    3) git clone git.ti.com/.../oe-layersetup.git yocto-build
    Cloning into 'yocto-build'...
    remote: warning: refname 'HEAD' is ambiguous.
    remote: Enumerating objects: 3946, done.
    remote: Counting objects: 100% (3946/3946), done.
    remote: Compressing objects: 100% (1318/1318), done.
    remote: Total 3946 (delta 3129), reused 3297 (delta 2551), pack-reused 0
    Receiving objects: 100% (3946/3946), 552.76 KiB | 1.12 MiB/s, done.
    Resolving deltas: 100% (3129/3129), done.

    4) cd yocto-build
    5) ./oe-layertool-setup.sh -f configs/processor-sdk-analytics/processor-sdk-analytics-10.01.00-config.txt

    6) cd build/

    7) . conf/setenv 

    8) vi conf/local.conf -> BB_NUMBER_THREADS ?= "1" PARALLEL_MAKE ?= "-j 1"

    9) echo 'ARAGO_BRAND = "edgeai"' >> conf/local.conf

    10)
    export LC_ALL="en_US.UTF-8"
    export LC_CTYPE="en_US.UTF-8"
    export LC_NUMERIC="en_US.UTF-8"
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
    ulimit -n 4096
    11) MACHINE="j721e-evm" bitbake -k tisdk-edgeai-image

    I am now able to successfully flash the tisdk-edgeai-image-j721e-evm.rootfs-20250430070846.wic.xz image into my SD card. The .wic image size is around 1.1 GB. I used the following command to flash the image:

    sudo bmaptool copy --bmap tisdk-edgeai-image-j721e-evm.rootfs-20250430070846.wic.bmap tisdk-edgeai-image-j721e-evm.rootfs-20250430070846.wic.xz /dev/sdb
    bmaptool: info: block map format version 2.0
    bmaptool: info: 3009412 blocks of size 4096 (11.5 GiB), mapped 1686448 blocks (6.4 GiB or 56.0%)
    bmaptool: info: copying image 'tisdk-edgeai-image-j721e-evm.rootfs-20250430070846.wic.xz' to block device '/dev/sdb' using bmap file 'tisdk-edgeai-image-j721e-evm.rootfs-20250430070846.wic.bmap'
    bmaptool: WARNING: failed to enable I/O optimization, expect suboptimal speed (reason: cannot switch to the 'noop' I/O scheduler: [Errno 22] Invalid argument)
    bmaptool: info: 100% copied
    bmaptool: info: synchronizing '/dev/sdb'
    bmaptool: info: copying time: 9m 18.7s, copying speed 11.8 MiB/sec

    I am not sure what caused the extra storage size error. The only changes I made compared to my earlier build are changing the MACHINE ?= variable name in my local.conf and DL_DIR path. Earlier I set it to MACHINE ?= "j721e-evm", Now I didn't disturb that. Attached below my local.conf file used in both failure and this success builds.
    Failure Case:

    # CONF_VERSION is increased each time build/conf/ changes incompatibly
    CONF_VERSION = "2"
    
    #
    # Where to place downloads
    #
    # During a first build the system will download many different source code
    # tarballs from various upstream projects. This can take a while, particularly
    # if your network connection is slow. These are all stored in DL_DIR. When
    # wiping and rebuilding you can preserve this directory to speed up this part
    # of subsequent builds. This directory is safe to share between multiple builds
    # on the same machine too.
    DL_DIR = "/home/sebuild16/WORKSPACE/naveen/Texas_Instruments/downloads"
    
    #
    # Where to place shared-state files
    #
    # BitBake has the capability to accelerate builds based on previously built
    # output. This is done using "shared state" files which can be thought of as
    # cache objects and this option determines where those files are placed.
    #
    # You can wipe out TMPDIR leaving this directory intact and the build would
    # regenerate from these files if no changes were made to the configuration.
    # If changes were made to the configuration, only shared state files where the
    # state was still valid would be used (done using checksums).
    SSTATE_DIR = "${TOPDIR}/sstate-cache"
    
    #
    # Shared-state files from other locations
    #
    # As mentioned above, shared state files are prebuilt cache data objects which
    # can be used to accelerate build time. This variable can be used to configure
    # the system to search other mirror locations for these objects before it
    # builds the data itself.
    #
    # This can be a filesystem directory, or a remote url such as http or ftp.
    # These would contain the sstate-cache results from previous builds (possibly
    # from other machines). This variable works like fetcher MIRRORS/PREMIRRORS
    # and points to the cache locations to check for the shared objects.
    #SSTATE_MIRRORS ?= "\
    #file://.* http://someserver.tld/share/sstate/ \n \
    #file://.* file:///some/local/dir/sstate/"
    
    #
    # Where to place the build output
    #
    # This option specifies where the bulk of the building work should be done and
    # where BitBake should place its temporary files and output. Keep in mind that
    # this includes the extraction and compilation of many applications and the toolchain
    # which can use Gigabytes of hard disk space.
    TMPDIR = "${TOPDIR}/arago-tmp"
    
    # By default, DEPLOY_DIR is inside TMPDIR, but can be changed here to be outside
    #DEPLOY_DIR = "${TOPDIR}/deploy"
    
    #
    # Machine Selection
    #
    # You need to select a specific machine to target the build with. There are a selection
    # of emulated machines available which can boot and run in the QEMU emulator:
    #
    MACHINE ?= "j721e-evm"
    
    #
    # Package Management configuration
    #
    # This variable lists which packaging formats to enable. Multiple package backends
    # can be enabled at once and the first item listed in the variable will be used
    # to generate the root filesystems.
    # Options are:
    #  - 'package_deb' for debian style deb files
    #  - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
    #  - 'package_rpm' for rpm style packages
    # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
    # We default to ipk:
    PACKAGE_CLASSES ?= "package_ipk"
    
    #
    # SDK/ADT target architecture
    #
    # This variable specified the architecture to build SDK/ADT items for and means
    # you can build the SDK packages for architectures other than the machine you are
    # running the build on (i.e. building i686 packages on an x86_64 host._
    # Supported values are i686 and x86_64
    SDKMACHINE ?= "x86_64"
    
    #
    # Extra image configuration defaults
    #
    # The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
    # images. Some of these options are added to certain image types automatically. The
    # variable can contain the following options:
    #  "dbg-pkgs"       - add -dbg packages for all installed packages
    #                     (adds symbol information for debugging/profiling)
    #  "dev-pkgs"       - add -dev packages for all installed packages
    #                     (useful if you want to develop against libs in the image)
    #  "tools-sdk"      - add development tools (gcc, make, pkgconfig etc.)
    #  "tools-debug"    - add debugging tools (gdb, strace)
    #  "tools-profile"  - add profiling tools (oprofile, exmap, lttng valgrind (x86 only))
    #  "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
    #  "debug-tweaks"   - make an image suitable for development
    #                     e.g. ssh root access has a blank password
    # There are other application targets that can be used here too, see
    # meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
    # We default to enabling the debugging tweaks.
    EXTRA_IMAGE_FEATURES = "debug-tweaks"
    
    #
    # Additional image features
    #
    # The following is a list of additional classes to use when building images which
    # enable extra features. Some available options which can be included in this variable
    # are:
    #   - 'buildstats' collect build statistics
    #   - 'image-swab' to perform host system intrusion detection
    # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
    USER_CLASSES ?= "buildstats"
    
    # By default disable interactive patch resolution (tasks will just fail instead):
    PATCHRESOLVE = "noop"
    
    # By default the machine configuration file sets the IMAGE_FSTYPES.  But if you
    # would like to add additional file system types you can uncomment the
    # following line and add the additional IMAGE_FSTYPES you want created
    # as part of the build flow.  Some common types are listed below and you
    # can remove the ones you do not want.
    # IMAGE_FSTYPES += "jffs2 cramfs ext2.gz ext3.gz squashfs ubi tar.gz tar.bz2 cpio"
    
    #
    # Parallelism Options
    #
    # These two options control how much parallelism BitBake should use. The first
    # option determines how many tasks bitbake should run in parallel:
    #
    BB_NUMBER_THREADS ?= "1"
    #
    # The second option controls how many processes make should run in parallel when
    # running compile tasks:
    #
    PARALLEL_MAKE ?= "-j 1"
    #
    # For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
    # be appropriate for example
    #
    # NOTE: By default, bitbake will choose the number of processeors on your host
    # so you should not need to set this unless you are wanting to lower the number
    # allowed.
    #
    
    DISTRO   = "arago"
    
    # Set terminal types by default it expects gnome-terminal
    # but we chose xterm
    TERMCMD = "${XTERM_TERMCMD}"
    TERMCMDRUN = "${XTERM_TERMCMDRUN}"
    
    # Don't generate the mirror tarball for SCM repos, the snapshot is enough
    BB_GENERATE_MIRROR_TARBALLS = "0"
    
    # Uncomment this to remove work directory after packaging to save disk space
    #INHERIT += "rm_work"
    
    # Keep one set of images by default
    RM_OLD_IMAGE = "1"
    
    # Enable local PR service for binary feeds
    PRSERV_HOST = "localhost:0"
    
    # Enable hash equiv server
    BB_SIGNATURE_HANDLER = "OEEquivHash"
    BB_HASHSERVE = "auto"
    
    # It is recommended to activate "buildhistory" for testing the PR service
    INHERIT += "buildhistory"
    BUILDHISTORY_COMMIT = "1"
    ARAGO_BRAND = "edgeai"


    Success Case:
    # CONF_VERSION is increased each time build/conf/ changes incompatibly
    CONF_VERSION = "2"
    
    #
    # Where to place downloads
    #
    # During a first build the system will download many different source code
    # tarballs from various upstream projects. This can take a while, particularly
    # if your network connection is slow. These are all stored in DL_DIR. When
    # wiping and rebuilding you can preserve this directory to speed up this part
    # of subsequent builds. This directory is safe to share between multiple builds
    # on the same machine too.
    DL_DIR = "${TOPDIR}/../downloads"
    
    #
    # Where to place shared-state files
    #
    # BitBake has the capability to accelerate builds based on previously built
    # output. This is done using "shared state" files which can be thought of as
    # cache objects and this option determines where those files are placed.
    #
    # You can wipe out TMPDIR leaving this directory intact and the build would
    # regenerate from these files if no changes were made to the configuration.
    # If changes were made to the configuration, only shared state files where the
    # state was still valid would be used (done using checksums).
    SSTATE_DIR = "${TOPDIR}/sstate-cache"
    
    #
    # Shared-state files from other locations
    #
    # As mentioned above, shared state files are prebuilt cache data objects which
    # can be used to accelerate build time. This variable can be used to configure
    # the system to search other mirror locations for these objects before it
    # builds the data itself.
    #
    # This can be a filesystem directory, or a remote url such as http or ftp.
    # These would contain the sstate-cache results from previous builds (possibly
    # from other machines). This variable works like fetcher MIRRORS/PREMIRRORS
    # and points to the cache locations to check for the shared objects.
    #SSTATE_MIRRORS ?= "\
    #file://.* http://someserver.tld/share/sstate/ \n \
    #file://.* file:///some/local/dir/sstate/"
    
    #
    # Where to place the build output
    #
    # This option specifies where the bulk of the building work should be done and
    # where BitBake should place its temporary files and output. Keep in mind that
    # this includes the extraction and compilation of many applications and the toolchain
    # which can use Gigabytes of hard disk space.
    TMPDIR = "${TOPDIR}/arago-tmp"
    
    # By default, DEPLOY_DIR is inside TMPDIR, but can be changed here to be outside
    #DEPLOY_DIR = "${TOPDIR}/deploy"
    
    #
    # Machine Selection
    #
    # You need to select a specific machine to target the build with. There are a selection
    # of emulated machines available which can boot and run in the QEMU emulator:
    #
    #MACHINE ?= "arago"
    
    #
    # Package Management configuration
    #
    # This variable lists which packaging formats to enable. Multiple package backends
    # can be enabled at once and the first item listed in the variable will be used
    # to generate the root filesystems.
    # Options are:
    #  - 'package_deb' for debian style deb files
    #  - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
    #  - 'package_rpm' for rpm style packages
    # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
    # We default to ipk:
    PACKAGE_CLASSES ?= "package_ipk"
    
    #
    # SDK/ADT target architecture
    #
    # This variable specified the architecture to build SDK/ADT items for and means
    # you can build the SDK packages for architectures other than the machine you are
    # running the build on (i.e. building i686 packages on an x86_64 host._
    # Supported values are i686 and x86_64
    SDKMACHINE ?= "x86_64"
    
    #
    # Extra image configuration defaults
    #
    # The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
    # images. Some of these options are added to certain image types automatically. The
    # variable can contain the following options:
    #  "dbg-pkgs"       - add -dbg packages for all installed packages
    #                     (adds symbol information for debugging/profiling)
    #  "dev-pkgs"       - add -dev packages for all installed packages
    #                     (useful if you want to develop against libs in the image)
    #  "tools-sdk"      - add development tools (gcc, make, pkgconfig etc.)
    #  "tools-debug"    - add debugging tools (gdb, strace)
    #  "tools-profile"  - add profiling tools (oprofile, exmap, lttng valgrind (x86 only))
    #  "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
    #  "debug-tweaks"   - make an image suitable for development
    #                     e.g. ssh root access has a blank password
    # There are other application targets that can be used here too, see
    # meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
    # We default to enabling the debugging tweaks.
    EXTRA_IMAGE_FEATURES = "debug-tweaks"
    
    #
    # Additional image features
    #
    # The following is a list of additional classes to use when building images which
    # enable extra features. Some available options which can be included in this variable
    # are:
    #   - 'buildstats' collect build statistics
    #   - 'image-swab' to perform host system intrusion detection
    # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
    USER_CLASSES ?= "buildstats"
    
    # By default disable interactive patch resolution (tasks will just fail instead):
    PATCHRESOLVE = "noop"
    
    # By default the machine configuration file sets the IMAGE_FSTYPES.  But if you
    # would like to add additional file system types you can uncomment the
    # following line and add the additional IMAGE_FSTYPES you want created
    # as part of the build flow.  Some common types are listed below and you
    # can remove the ones you do not want.
    # IMAGE_FSTYPES += "jffs2 cramfs ext2.gz ext3.gz squashfs ubi tar.gz tar.bz2 cpio"
    
    #
    # Parallelism Options
    #
    # These two options control how much parallelism BitBake should use. The first
    # option determines how many tasks bitbake should run in parallel:
    #
    BB_NUMBER_THREADS ?= "1"
    #
    # The second option controls how many processes make should run in parallel when
    # running compile tasks:
    #
    PARALLEL_MAKE ?= "-j 1"
    #
    # For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
    # be appropriate for example
    #
    # NOTE: By default, bitbake will choose the number of processeors on your host
    # so you should not need to set this unless you are wanting to lower the number
    # allowed.
    #
    
    DISTRO   = "arago"
    
    # Set terminal types by default it expects gnome-terminal
    # but we chose xterm
    TERMCMD = "${XTERM_TERMCMD}"
    TERMCMDRUN = "${XTERM_TERMCMDRUN}"
    
    # Don't generate the mirror tarball for SCM repos, the snapshot is enough
    BB_GENERATE_MIRROR_TARBALLS = "0"
    
    # Uncomment this to remove work directory after packaging to save disk space
    #INHERIT += "rm_work"
    
    # Keep one set of images by default
    RM_OLD_IMAGE = "1"
    
    # Enable local PR service for binary feeds
    PRSERV_HOST = "localhost:0"
    
    # Enable hash equiv server
    BB_SIGNATURE_HANDLER = "OEEquivHash"
    BB_HASHSERVE = "auto"
    
    # It is recommended to activate "buildhistory" for testing the PR service
    INHERIT += "buildhistory"
    BUILDHISTORY_COMMIT = "1"
    ARAGO_BRAND = "edgeai"


    However, now I am facing a boot issue. I inserted the SD card into the kit and tried booting, but it failed. Below are the failure logs:

    U-Boot SPL 2024.04-ti-ga970f6e51043 (Nov 13 2024 - 14:26:23 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    Trying to boot from MMC2
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Loading Environment from nowhere... OK
    Starting ATF on ARM64 core...

    NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty
    NOTICE:  BL31: Built : 04:20:32, Nov  1 2024
    I/TC: 
    I/TC: OP-TEE version: 4.4.0-dev (gcc version 13.3.0 (GCC)) #1 Fri Oct 18 17:45:27 UTC 2024 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    I/TC: Activated SA2UL device
    I/TC: Fixing SA2UL firewall owner for GP device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: HUK Initialized
    I/TC: Primary CPU switching to normal world boot

    U-Boot SPL 2024.04-ti-ga970f6e51043 (Nov 13 2024 - 14:26:23 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    Trying to boot from MMC2
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted

    U-Boot 2024.04-ti-ga970f6e51043 (Nov 13 2024 - 14:26:23 +0000)

    SoC:   J721E SR1.1 GP
    Model: Texas Instruments J721e EVM
    Board: J721EX-EAIK rev B
    DRAM:  2 GiB (effective 4 GiB)
    Core:  144 devices, 35 uclasses, devicetree: separate
    Flash: 0 Bytes
    MMC:   mmc@4f80000: 0, mmc@4fb0000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1
    Net:   eth0: ethernet@46000000port@1
    Hit any key to stop autoboot:  0 
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 116
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 71
    ** Bad device specification mmc 1 **
    k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work
    k3_r5f_rproc r5f@41400000: Core 2 is already in use. No rproc commands work
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 71
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 72
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 71
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 71
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 71
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 72
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 71
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 71
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 71
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    Bad Linux ARM64 Image magic!
    Scanning for bootflows in all bootdevs
    Seq  Method       State   Uclass    Part  Name                      Filename
    ---  -----------  ------  --------  ----  ------------------------  ----------------
    Scanning global bootmeth 'efi_mgr':
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 37
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 72
    No EFI system partition
    No EFI system partition
    Failed to persist EFI variables
    Scanning bootdev 'mmc@4fb0000.bootdev':
    i2c_write: error waiting for data ACK (status=0x116)
    pca953x gpio@22: Error reading output register
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 72
    Scanning bootdev 'mmc@4f80000.bootdev':
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 38
    Bus usb@6400000: cdns-usb3-host usb@6400000: DRD version v1 (ID: 0004024e, rev: 00000200)
    Register 2000840 NbrPorts 2
    Starting the controller
    USB XHCI 1.00
    scanning bus usb@6400000 for devices... 2 USB Device(s) found
    k3-navss-ringacc ringacc@2b800000: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:235
    k3-navss-ringacc ringacc@2b800000: dma-ring-reset-quirk: disabled
    am65_cpsw_nuss_port ethernet@46000000port@1: K3 CPSW: rflow_id_base: 3
    ethernet@46000000port@1 Waiting for PHY auto negotiation to complete...... done
    link up on port 1, speed 1000, full duplex
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    BOOTP broadcast 4
    BOOTP broadcast 5
    BOOTP broadcast 6
    DHCP client bound to address 192.168.31.71 (5764 ms)
    Scanning bootdev 'port@1.bootdev':
    missing environment variable: pxeuuid
    Retrieving file: pxelinux.cfg/01-34-08-e1-5a-de-27
    am65_cpsw_nuss_port ethernet@46000000port@1: K3 CPSW: rflow_id_base: 3
    link up on port 1, speed 1000, full duplex
    Using ethernet@46000000port@1 device
    TFTP from server 192.168.30.254; our IP address is 192.168.31.71
    Filename 'pxelinux.cfg/01-34-08-e1-5a-de-27'.
    Load address: 0x80100000
    Loading: T T T 

    Kindly help me with this issue.

    Thanks,
    Naveen.

  • Hi Naveen,

    Can you try a different SD card? Perhaps a 16 GB SanDisk card. That is what I tested with recently.

    Best,
    Jared

  • Hi Jared McArthur

    As you suggested, I tested the same with a 16 GB SanDisk SD card, and the result is the same—I am still getting the same errors. The logs I posted earlier were also from tests conducted with a 32 GB SanDisk SD card. What kind of errors are those ?

    Kindly assist me with this.

    Thanks,
    Naveen.

  • Hi Naveen,

    You are building an image for the wrong MACHINE. If you are booting the SK-TDA4VM, you should build the j721e-sk.

    MACHINE=j721e-sk

    Changing that should fix the issue.

    Best,
    Jared

  • Hi Jared McArthur,

    You are building an image for the wrong MACHINE. If you are booting the SK-TDA4VM, you should build the j721e-sk.

    Yes, I am using the SK-TDA4VM kit. So the build command should be MACHINE="j721e-sk" bitbake -k tisdk-edgeai-image ?

    In which document you have mentioned these changes MACHINE=j721e-sk ? I have followed both https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1281833/faq-processor-sdk-j784s4-how-do-i-build-yocto-images-and-packages-for-j7-devices and https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/10_01_00_04/exports/docs/linux/Overview_Building_the_SDK.html. With this all I can see is j721e-evm for SK-TDA4VM and the SK-TDA4VM processor page https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda4vm/10_01_00/exports/docs/linux/Overview_Building_the_SDK.html# doesn't provide the build details.

    Kindly help me with this.

    Thanks,
    Naveen.

  • Hi Naveen,

    Yes, I am using the SK-TDA4VM kit. So the build command should be MACHINE="j721e-sk" bitbake -k tisdk-edgeai-image ?

    Yes, this is correct.

    This FAQ was written for 9.0 and 9.1 SDK releases. It needs to be updated for 9.2, 10.0, and 10.1 releases to reflect the correct steps.

    software-dl.ti.com/.../quote]

    The SDK documentation should be updated to reflect the correct MACHINE. I will work to get this fixed.

    In the meantime, if you are building for the 10.0 or 10.1 releases, please use MACHINE=j721e-sk

    Best,
    Jared