Skip to content

39.2.0: recomputer-robo-agx-orin-j501x massflash/flash.sh fails because board conf does not define EMMC_CFG #55

Description

@wirstrom

r39.2.0: recomputer-robo-agx-orin-j501x massflash/flash.sh fails because board conf does not define EMMC_CFG

Summary

On the r39.2.0 branch, flashing or generating massflash artifacts for recomputer-robo-agx-orin-j501x fails because the board config inherits from p3701.conf.common, but that file does not define EMMC_CFG.

As a result, flash.sh resolves the cfg path to the directory bootloader/generic/cfg instead of an actual XML file and exits with:

Error: missing cfgfile (.../bootloader/generic/cfg)

This worked in the older R36.x layout because the board config used a higher-level common config that defined EMMC_CFG.

Environment

  • Board config: recomputer-robo-agx-orin-j501x
  • Module: AGX Orin 32GB
  • BOARDID=3701
  • BOARDSKU=0004
  • FAB=500
  • BOARDREV=J.0
  • L4T branch: r39.2.0
  • Use case: generate massflash artifacts with l4t_initrd_flash.sh

Reproduction

Run a flash or massflash flow that uses:

./tools/kernel_flash/l4t_initrd_flash.sh \
  --network usb0 \
  --showlogs \
  -p "-c bootloader/generic/cfg/flash_t234_qspi.xml --no-systemimg" \
  --no-flash \
  --massflash 1 \
  recomputer-robo-agx-orin-j501x \
  internal

During the internal flash step, flash.sh fails with:

Error: missing cfgfile (.../bootloader/generic/cfg)

What I found

In the generated Linux_for_Tegra tree, the board config contains:

source "${LDK_DIR}/p3701.conf.common";

But p3701.conf.common does not define EMMC_CFG:

grep EMMC_CFG root/Linux_for_Tegra/p3701.conf.common
# no output

Also, on this branch the old intermediate common config from R36.x does not exist anymore. The available common files are:

root/Linux_for_Tegra/p3767.conf.common
root/Linux_for_Tegra/p3701.conf.common
root/Linux_for_Tegra/t264.conf.common

So the board config ends up without any EMMC_CFG, and flash.sh later does:

mkfilepath cfgfile "${CFGFILE}" "${TARGET_DIR}/cfg/${EMMC_CFG}";

which becomes just:

bootloader/generic/cfg

instead of a specific XML file.

Expected behavior

recomputer-robo-agx-orin-j501x.conf should either:

  • inherit from a common config that defines EMMC_CFG, or
  • explicitly define EMMC_CFG itself for r39.2.0

so that flash and massflash flows work out of the box.

Actual behavior

The board config does not define EMMC_CFG, causing flash.sh / l4t_initrd_flash.sh to fail before image generation.

Temporary workaround

Manually inject an EMMC_CFG line into recomputer-robo-agx-orin-j501x.conf, for example:

EMMC_CFG="flash_t234_qspi_sdmmc.xml"

after the source "${LDK_DIR}/p3701.conf.common"; line.

This allows the flash flow to get past the missing-cfgfile error.

Suggested fix

Please update recomputer-robo-agx-orin-j501x.conf on r39.2.0 so that it defines a valid EMMC_CFG for this platform, either by:

  1. sourcing the correct higher-level common config for r39, or
  2. setting EMMC_CFG directly in the board config.

Additional note

The error message shown by flash.sh is:

Error: missing cfgfile (.../bootloader/generic/cfg)

which is slightly misleading because the directory exists; the real problem is that EMMC_CFG is empty.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions