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:
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:
- sourcing the correct higher-level common config for
r39, or
- 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.
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.0branch, flashing or generating massflash artifacts forrecomputer-robo-agx-orin-j501xfails because the board config inherits fromp3701.conf.common, but that file does not defineEMMC_CFG.As a result,
flash.shresolves the cfg path to the directorybootloader/generic/cfginstead of an actual XML file and exits with:This worked in the older
R36.xlayout because the board config used a higher-level common config that definedEMMC_CFG.Environment
recomputer-robo-agx-orin-j501xBOARDID=3701BOARDSKU=0004FAB=500BOARDREV=J.0r39.2.0l4t_initrd_flash.shReproduction
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 \ internalDuring the internal flash step,
flash.shfails with:What I found
In the generated
Linux_for_Tegratree, the board config contains:But
p3701.conf.commondoes not defineEMMC_CFG:grep EMMC_CFG root/Linux_for_Tegra/p3701.conf.common # no outputAlso, on this branch the old intermediate common config from
R36.xdoes not exist anymore. The available common files are:So the board config ends up without any
EMMC_CFG, andflash.shlater does:which becomes just:
instead of a specific XML file.
Expected behavior
recomputer-robo-agx-orin-j501x.confshould either:EMMC_CFG, orEMMC_CFGitself forr39.2.0so that flash and massflash flows work out of the box.
Actual behavior
The board config does not define
EMMC_CFG, causingflash.sh/l4t_initrd_flash.shto fail before image generation.Temporary workaround
Manually inject an
EMMC_CFGline intorecomputer-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.confonr39.2.0so that it defines a validEMMC_CFGfor this platform, either by:r39, orEMMC_CFGdirectly in the board config.Additional note
The error message shown by
flash.shis:which is slightly misleading because the directory exists; the real problem is that
EMMC_CFGis empty.