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-AM62: Building tisdk-tiny-image for AM62xx EVM with initramfs

Part Number: SK-AM62

hi,

I have successfully compiled the tisdk-base-image following the instructions provided in Building the SDK. This image has been successfully burned onto an SD card and boots as expected.

Upon reading this article (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1176944/faq-linux-how-to-boot-sitara-am3x-am4x-am6x-devices-from-initramfs-cpio-archive-ram-disk), I executed the following command:


MACHINE=am62xx-evm ARAGO_RT_ENABLE=1 bitbake -k tisdk-tiny-image


The goal was to compile the tisdk-tiny-image with initramfs. But I encountered errors during this process.

$ MACHINE=am62xx-evm ARAGO_RT_ENABLE=1 bitbake -k tisdk-tiny-image
NOTE: Started PRServer with DBfile: /home/zen/Documents/embedded/soc/ti/tisdk/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 36485, PID: 2826945
WARNING: /home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/meta/external-arm-secondary-sdk-toolchain.bb: Variable key PREFERRED_PROVIDER_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} (external-arm-sdk-toolchain-${TRANSLATED_TARGET_ARCH}) replaces original key PREFERRED_PROVIDER_binutils-cross-canadian-invalid (external-arm-secondary-sdk-toolchain-${SECONDARY_TARGET_ARCH}).
WARNING: /home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/meta/external-arm-secondary-sdk-toolchain.bb: Variable key PREFERRED_PROVIDER_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} (external-arm-sdk-toolchain-${TRANSLATED_TARGET_ARCH}) replaces original key PREFERRED_PROVIDER_gcc-cross-canadian-invalid (external-arm-secondary-sdk-toolchain-${SECONDARY_TARGET_ARCH}).
WARNING: /home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/meta/external-arm-secondary-sdk-toolchain.bb: Variable key PREFERRED_PROVIDER_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} (external-arm-sdk-toolchain-${TRANSLATED_TARGET_ARCH}) replaces original key PREFERRED_PROVIDER_binutils-cross-canadian-invalid (external-arm-secondary-sdk-toolchain-${SECONDARY_TARGET_ARCH}).
WARNING: /home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/meta/external-arm-secondary-sdk-toolchain.bb: Variable key PREFERRED_PROVIDER_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} (external-arm-sdk-toolchain-${TRANSLATED_TARGET_ARCH}) replaces original key PREFERRED_PROVIDER_gcc-cross-canadian-invalid (external-arm-secondary-sdk-toolchain-${SECONDARY_TARGET_ARCH}).
WARNING: /home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/meta/external-arm-secondary-sdk-toolchain.bb: Variable key PREFERRED_PROVIDER_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} (external-arm-sdk-toolchain-${TRANSLATED_TARGET_ARCH}) replaces original key PREFERRED_PROVIDER_binutils-cross-canadian-invalid (external-arm-secondary-sdk-toolchain-${SECONDARY_TARGET_ARCH}).
WARNING: /home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/meta/external-arm-secondary-sdk-toolchain.bb: Variable key PREFERRED_PROVIDER_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} (external-arm-sdk-toolchain-${TRANSLATED_TARGET_ARCH}) replaces original key PREFERRED_PROVIDER_gcc-cross-canadian-invalid (external-arm-secondary-sdk-toolchain-${SECONDARY_TARGET_ARCH}).
Parsing recipes: 100% |###############################################################################################################################################################| Time: 0:01:38
Parsing of 3112 .bb files complete (0 cached, 3112 parsed). 17408 targets, 2589 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
NOTE: Resolving any missing task queue dependencies
ERROR: Execution of event handler 'toaster_layerinfo_dumpdata' failed
Traceback (most recent call last):
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/oe-core/meta/classes/toaster.bbclass", line 78, in _get_layer_dict(layer_path='\t/home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-openembedded/meta-oe'):
             layer_info['layer_index_url'] = layer_url.format(layer=layer_url_name)
    >        layer_info['version'] = _get_layer_version_information(layer_path)

  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/oe-core/meta/classes/toaster.bbclass", line 61, in _get_layer_version_information(layer_path='\t/home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-openembedded/meta-oe'):
             layer_version_info = {}
    >        layer_version_info['branch'] = _get_git_branch(layer_path)
             layer_version_info['commit'] = _get_git_revision(layer_path)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/oe-core/meta/classes/toaster.bbclass", line 35, in _get_git_branch(layer_path='\t/home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-openembedded/meta-oe'):
         def _get_git_branch(layer_path):
    >        branch = subprocess.Popen("git symbolic-ref HEAD 2>/dev/null ", cwd=layer_path, shell=True, stdout=subprocess.PIPE).communicate()[0]
             branch = branch.decode('utf-8')
  File "/usr/lib/python3.10/subprocess.py", line 971, in Popen.__init__(args='git symbolic-ref HEAD 2>/dev/null ', bufsize=-1, executable=None, stdin=None, stdout=-1, stderr=None, preexec_fn=None, close_fds=True, shell=True, cwd='\t/home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-openembedded/meta-oe', env=None, universal_newlines=None, startupinfo=None, creationflags=0, restore_signals=True, start_new_session=False, pass_fds=(), user=None, group=None, extra_groups=None, encoding=None, errors=None, text=None, umask=-1, pipesize=-1):

    >            self._execute_child(args, executable, preexec_fn, close_fds,
                                     pass_fds, cwd, env,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in Popen._execute_child(args=['/bin/sh', '-c', 'git symbolic-ref HEAD 2>/dev/null '], executable=b'/bin/sh', preexec_fn=None, close_fds=True, pass_fds=(), cwd='\t/home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-openembedded/meta-oe', env=None, startupinfo=None, creationflags=0, shell=True, p2cread=-1, p2cwrite=-1, c2pread=18, c2pwrite=51, errread=-1, errwrite=-1, restore_signals=True, gid=None, gids=None, uid=None, umask=-1, start_new_session=False):
                             err_msg = os.strerror(errno_num)
    >                    raise child_exception_type(errno_num, err_msg, err_filename)
                     raise child_exception_type(err_msg)
FileNotFoundError: [Errno 2] No such file or directory: '\t/home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-openembedded/meta-oe'

ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/bitbake/lib/bb/command.py", line 110, in runAsyncCommand
    commandmethod(self.cmds_async, self, options)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/bitbake/lib/bb/command.py", line 564, in buildTargets
    command.cooker.buildTargets(pkgs_to_build, task)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/bitbake/lib/bb/cooker.py", line 1469, in buildTargets
    taskdata, runlist = self.buildTaskData(targets, task, self.configuration.abort)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/bitbake/lib/bb/cooker.py", line 680, in buildTaskData
    bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/bitbake/lib/bb/event.py", line 214, in fire
    fire_class_handlers(event, d)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/bitbake/lib/bb/event.py", line 121, in fire_class_handlers
    execute_handler(name, handler, event, d)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/bitbake/lib/bb/event.py", line 93, in execute_handler
    ret = handler(event)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/oe-core/meta/classes/toaster.bbclass", line 88, in toaster_layerinfo_dumpdata
    llayerinfo[layer] = _get_layer_dict(layer)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/oe-core/meta/classes/toaster.bbclass", line 78, in _get_layer_dict
    layer_info['version'] = _get_layer_version_information(layer_path)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/oe-core/meta/classes/toaster.bbclass", line 61, in _get_layer_version_information
    layer_version_info['branch'] = _get_git_branch(layer_path)
  File "/home/zen/Documents/embedded/soc/ti/tisdk/sources/oe-core/meta/classes/toaster.bbclass", line 35, in _get_git_branch
    branch = subprocess.Popen("git symbolic-ref HEAD 2>/dev/null ", cwd=layer_path, shell=True, stdout=subprocess.PIPE).communicate()[0]
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '\t/home/zen/Documents/embedded/soc/ti/tisdk/sources/meta-openembedded/meta-oe'


Summary: There were 6 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

Could you please assist me in identifying the cause of these errors and suggest possible solutions?

Bests,

zw

  • hi,

    It seems the issue might have been caused by executing 

    source toaster start
    earlier. I reinitialized the working directory and successfully compiled tisdk-tiny-image. However, after downloading tisdk-tiny-image-am62xx-evm.wic.xz to an SD card and booting, I encountered the following error:

    U-Boot SPL 2021.01-g2ee8efd654 (Nov 20 2023 - 06:09:01 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    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 MMC... *** Warning - No MMC card found, using default environment
    
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 05:56:25, Nov 20 2023
    
    U-Boot SPL 2021.01-g2ee8efd654 (Nov 20 2023 - 05:58:37 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    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 2021.01-g2ee8efd654 (Nov 20 2023 - 05:58:37 +0000)
    
    SoC:   AM62X SR1.0 GP
    Model: Texas Instruments AM625 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Board: AM62-SKEVM rev E3
    DRAM:  2 GiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2
    Loading Environment from MMC... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    Failed to load 'boot.scr'
    1490 bytes read in 2 ms (727.5 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    Running uenvcmd ...
    1 bytes read in 3 ms (0 Bytes/s)
    Already setup.
    Failed to load '/boot/Image'
    Failed to load '/boot/k3-am625-sk.dtb'
    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!
    =>
    

    Any ideas on what might be causing this?

  • Based on the bootlog looks like you are using 8.x bootloader and not sure what version of rootfs/wic used for filesystem. Also looks like the path to where the kernel images reside is not found in your SDcard /rootfs/boot/* location.

    If you are switching between major SDK version, recomend to run "env default -f -a;saveenv" and reboot the board to ensure the boot environment is reset to defaults.

    Please try the latest release https://www.ti.com/tool/PROCESSOR-SDK-AM62X Version: 09.01.00.08 and let us know if you still see the issue. 

    There was a significant upgrade to uboot which includes usage of binman for packaging and also the path to boot images.