Jetson TK1 Android

Hi,

I was wondering if you could help me with this whenever i try to flash the jetson tk1 with android i get:

Nvflash 4.13.0000 started
nvflash configuration file error: file not found

The command i am running is:

sudo ./nvflash --bct flash_pm358_792.cfg --setbct --configfile /home/philip/j
tk1-android-l-open-source/device/nvidia/platform/ardbeg/jetson_android_fastboot_nvtboot_dtb_emmc_full.cfg --dtbfile tegra124-jetson_tk1-pm375-000-c00-00.dtb --create --bl fastboot.bin --odmdata 0x6009C000 --go

The jetson is in forced recovery mode.

Help would be appriciated,
Thanks

I can’t answer, but some observations might be useful…

When I flash L4T under R21.6 this is the logged nvflash command (some file preparation has occurred prior to this):

./nvflash  --bct PM375_Hynix_2GB_H5TC4G63AFR_H5TC4G63CFR_RDA_924MHz.cfg --setbct --configfile flash.cfg  --create --bl fastboot.bin --odmdata 0x6009C000 --go

…putting this in multiline format:

./nvflash  \
--bct PM375_Hynix_2GB_H5TC4G63AFR_H5TC4G63CFR_RDA_924MHz.cfg \
--setbct \
--configfile flash.cfg  \
--create \
--bl fastboot.bin \
--odmdata 0x6009C000 \
--go

…your command in multiline format and path abstracted out to assume in same directory:

./nvflash \
--bct flash_pm358_792.cfg \
--setbct \
--configfile jetson_android_fastboot_nvtboot_dtb_emmc_full.cfg \
--dtbfile tegra124-jetson_tk1-pm375-000-c00-00.dtb \
--create \
--bl fastboot.bin \
--odmdata 0x6009C000 \
--go

…the two compared side by side (my case top of two lines, your case bottom of two lines…single line used if no diff):

...
--bct PM375_Hynix_2GB_H5TC4G63AFR_H5TC4G63CFR_RDA_924MHz.cfg \
--bct flash_pm358_792.cfg \
...
--configfile flash.cfg  \
--configfile jetson_android_fastboot_nvtboot_dtb_emmc_full.cfg \
...

The flash.sh script does some directory changing while running, and thus is able to use file names as if in the same directory. It is possible the missing file name is the configfile or the bct, and likely it is the one named with a relative path when the utility is expecting the program to run from a particular place. You could try to make the “–bct” file name a full path since your cfg file already is…or you could run the command with strace and dig through the last 100 lines or so to see which file is missing:

sudo -s
strace -o nvflash_trace_log.txt ./nvflash ...arguments...
exit

It may also end up being a result of something in the cfg file and not one of the obvious files at all (for example, perhaps naming and layout of partitions changes what nvflash is looking for…strace will probably be needed in that case).

Thanks Ill give it a try and get back to you on how it goes

Thanks for helping!

Ok so none of the above worked so i ran the strace with the following nvflash args:

./nvflash --bct PM375_Hynix_2GB_H5TC4G63AFR_H5TC4G63CFR_RDA_924MHz.cfg --setbct --configfile flash.cfg --create --bl fastboot.bin --odmdata 0x6009C000 --go

And the strace output was:

execve("./nvflash", ["./nvflash", “–bct”, “PM375_Hynix_2GB_H5TC4G63AFR_H5TC”…, “–setbct”, “–configfile”, “flash.cfg”, “–create”, “–bl”, “fastboot.bin”, “–odmdata”, “0x6009C000”, “–go”], [/* 16 vars /]) = 0
uname({sysname=“Linux”, nodename=“dellstation”, …}) = 0
fcntl64(0, F_GETFD) = 0
fcntl64(1, F_GETFD) = 0
fcntl64(2, F_GETFD) = 0
geteuid32() = 0
getuid32() = 0
getegid32() = 0
getgid32() = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192
1024, rlim_max=RLIM_INFINITY}) = 0
setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=RLIM_INFINITY}) = 0
getpid() = 4260
rt_sigaction(SIGRTMIN, {0x80876d0, , SA_RESTORER, 0x808ee68}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x80875dc, , SA_RESTORER, 0x808ee68}, NULL, 8) = 0
rt_sigaction(SIGRT_2, {0x808773c, , SA_RESTORER, 0x808ee68}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0
_sysctl({0x2080ebe24, -7265360, (nil), (nil), (nil), 578978049808212872}) = 0
brk(NULL) = 0x99f8000
brk(0x99f9000) = 0x99f9000
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 3), …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7f21000
write(1, “Nvflash 4.13.0000 started\n”, 26) = 26
gettimeofday({3463209746010147, 55827311108}, NULL) = 0
open(“flash.cfg”, O_RDONLY) = -1 ENOENT (No such file or directory)
write(1, “nvflash configuration file error”…, 49) = 49
munmap(0xf7f21000, 4096) = 0
exit_group(4294967295) = ?
+++ exited with 255 +++

Not sure what to do if anyone knows what to do that would be appriciated.
Thanks!

P.S

It seems like im missing the flash.cfg file.

This is the missing file:

open("flash.cfg", O_RDONLY) = -1 ENOENT (No such file or directory)

Normally flash does a cd (perhaps via pushd/popd) at certain places in the flash. Since this file was not named with a full path perhaps the app was just in the wrong directory at the moment it looked for flash.cfg. Try a full path to your flash.cfg.

ok that worked thanks!