Error "partition table is invalid, missing required information" when flashing tk1

Hi, I just received the tk1 and trying to flash with the latest image - L4T 2.1. When I run the following command:

sudo ./flash.sh -S 14580MiB jetson-tk1 mmcblk0p1

It returns error:

failed executing command 26 NvError 0x120002
command failure/warning: sync failed (bad data)
bootloader status: partition table is invalid, missing required information (code: 14) message: nverror:0x2 (0x2) Sync 5485 flags: 0
Failed flashing ardbeg.

What did I do wrong here?

Detail logs as below, any help would be much appreciated.

-- Total: -----------------------------------------------------------
1808 CHUNK 15288238080(3732480 blks) ==>  2372330716(579177 blks)

done.
system.img built successfully. 
copying dtbfile(/home/eg/Downloads/TK1/Linux_for_Tegra_tk1/kernel/dtb/tegra124-jetson_tk1-pm375-000-c00-00.dtb)... done.
copying cfgfile(/home/eg/Downloads/TK1/Linux_for_Tegra_tk1/bootloader/ardbeg/cfg/gnu_linux_fastboot_emmc_full.cfg) to flash.cfg... done.
creating gpt(ppt.img)... 

*** GPT Parameters ***
Device Sector Size ------- 512
device size -------------- 15766388736
bootpart size ------------ 8388608
userpart size ------------ 15758000128
Erase Block Size --------- 2097152
FS Buffer size ----------- 4096
Partition Config file ---- flash.cfg
Visible partition flag --- GP1
Primary GPT output ------- PPT->ppt.img
Secondary GPT output ----- GPT->gpt.img
Target device name ------- none

*** PARTITION LAYOUT(20 partitions) ***
[     BCT] BH            0        16383       8.0MiB 
[     PPT] UH            0         4095       2.0MiB ppt.img
[      PT] UH         4096         8191       2.0MiB 
[     EBT] UH         8192        16383       4.0MiB u-boot.bin
[     LNX] UH        16384        49151      16.0MiB 
[     SOS] UH        49152        61439       6.0MiB 
[     NVC] UH        61440        65535       2.0MiB 
[     MPB] UH        65536        77823       6.0MiB 
[     MBP] UH        77824        90111       6.0MiB 
[     GP1] UH        90112        94207       2.0MiB 
[     APP] UV        94208     29954047   14580.0MiB system.img
[     DTB] UV     29954048     29962239       4.0MiB tegra124-jetson_tk1-pm375-000-c00-00.dtb
[     EFI] UV     29962240     30093311      64.0MiB 
[     USP] UV     30093312     30101503       4.0MiB 
[     TP1] UV     30101504     30109695       4.0MiB 
[     TP2] UV     30109696     30117887       4.0MiB 
[     TP3] UV     30117888     30126079       4.0MiB 
[     WB0] UV     30126080     30130175       2.0MiB 
[     UDA] UV     30130176     30773247     314.0MiB 
[     GPT] UH     30773248     30777343       2.0MiB gpt.img
copying flasher(/home/eg/Downloads/TK1/Linux_for_Tegra_tk1/bootloader/ardbeg/fastboot.bin)... done.
Existing flashapp(/home/eg/Downloads/TK1/Linux_for_Tegra_tk1/bootloader/nvflash) reused.
*** Flashing target device started. ***
./nvflash  --bct PM375_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg --setbct --configfile flash.cfg  --create --bl fastboot.bin --odmdata 0x6009C000 --go
Nvflash 4.13.0000 started
BR_CID: 0x34001001741141021c00000017068380
rcm version 0X400001
Skipping BoardID read at miniloader level
System Information:
   chip name: unknown
   chip id: 0x40 major: 1 minor: 1
   chip sku: 0x0
   chip uid: 0x00000001741141021c00000017068380
   macrovision: disabled
   hdcp: disabled
   jtag: disabled
   sbk burned: false
   board id: 0
   warranty fuse: 0
   dk burned: false
   boot device: emmc
   operating mode: 3
   device config strap: 0
   device config fuse: 0
   sdram config strap: 0

RCM communication completed
BCT sent successfully
sending file: tegra124-jetson_tk1-pm375-000-c00-00.dtb
- 59637/59637 bytes sent
tegra124-jetson_tk1-pm375-000-c00-00.dtb sent successfully
odm data: 0x6009c000
downloading bootloader -- load address: 0x83d88000 entry point: 0x83d88000
sending file: fastboot.bin
- 594363/594363 bytes sent
fastboot.bin sent successfully
waiting for bootloader to initialize
bootloader downloaded successfully
ML execution and Cpu Handover took 1 Secs
Partition backup took 0 Secs
setting device: 2 3
deleting device partitions
creating partition: BCT
creating partition: PPT
creating partition: PT
creating partition: EBT
creating partition: LNX
creating partition: SOS
creating partition: NVC
creating partition: MPB
creating partition: MBP
creating partition: GP1
creating partition: APP
creating partition: DTB
creating partition: EFI
creating partition: USP
creating partition: TP1
creating partition: TP2
creating partition: TP3
creating partition: WB0
creating partition: UDA
creating partition: GPT
sending file: ppt.img
\ 2097152/2097152 bytes sent
ppt.img sent successfully
padded 12 bytes to bootloader
sending file: u-boot.bin
- 440016/440016 bytes sent
u-boot.bin sent successfully
sending file: system.img
| 2372330716/2372330716 bytes sent
system.img sent successfully
sending file: tegra124-jetson_tk1-pm375-000-c00-00.dtb
- 59637/59637 bytes sent
tegra124-jetson_tk1-pm375-000-c00-00.dtb sent successfully
sending file: gpt.img
\ 2097152/2097152 bytes sent
gpt.img sent successfully
Create, format and download  took 193 Secs
failed executing command 26 NvError 0x120002
command failure/warning: sync failed (bad data)
bootloader status: partition table is invalid, missing required information (code: 14) message: nverror:0x2 (0x2) Sync 5485 flags: 0

Failed flashing ardbeg.

The error says the packet sent was not acknowledged. The actual flash command was good, so this is not the issue.

You might try deleting your flash software and unpacking it again, being sure to use sudo during unpack of the sample rootfs and any commands after that. Before you delete though, see if you had enough disk space. cd to the flash.sh directory and run “df -H .”.

Thanks for the advice. Tried deleting and unpacking, same error, disk space is not an issue. I used the R21.4.0 L4T and the sample root filesystem comes with it. Any other idea?

Is there anything unusual about your host, e.g., running through VM?

It seems that unless something is stopping or corrupting host-side files that the Jetson hardware itself could be bad. By using the driver+rootfs directly (separate downloads versus the one from JetPack) and sudo you know that the starting data is valid. Parts of communications are definitely valid, so it isn’t a cable issue.

In the bootloader subdirectory, what is the output of:

ls -l system.img*

Output:

-rw-r–r-- 1 root root 15032385536 Apr 18 22:06 system.img.raw
-rwxr-xr-x 1 root root 2372289180 Apr 18 22:07 system.img

I start to think it could be a hardware problem, I will try to get a usb2rs232 cable and see if it gives me more information. Any other way to troubleshoot this?

The generated system.img.raw file size is correct for 14MiB. However, you gave a command above of this:

sudo ./flash.sh -S 14580MiB jetson-tk1 mmcblk0p1

Was the system.img.raw generated with “-S 14580MiB” or just a default?

system.img.raw was generated with -S 14580MiB

but run the following gives the same error:

sudo ./flash.sh jetson-tk1 mmcblk0p1

The size of system.img.raw does not match the size indicated by “-S 14580MiB”. A system.img.raw has these sizes depending on setting:

14580MiB * 1024^2 = 15288238080 bytes
14GiB * 1024^3 = 15032385536 bytes

The size you reported with “ls -l” is 15032385536 and implies something went wrong when generating the image via “-S 14580MiB”. The issue could be an old file for .raw due to a loopback issue or permissions issue. I’d actually recommend deleting both the “boot/system.img” and “boot/system.img.raw” and seeing if they regenerate. If not, then delete the entire flash driver directory and re-install this plus sample rootfs and try again.

I had a fresh install of the host ubuntu last night due to some other issue and try the run this again by following the “Tegra Linux Driver Package Development Guide”.

  1. Download the following 2 files:
    Tegra124_Linux_R21.4.0_armhf.tbz2
    Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2

  2. Extract the package:
    sudo tar -vxjf Tegra124_Linux_R21.4.0_armhf.tbz2

  3. Extract sample root file system, under /rootfs runs:
    sudo tar jxpf …/…/Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2

  4. Run sudo ./apply_binaries.sh.

  5. Flash it to eMMC, I didn’t specify the size this time, so let the script take care of it:
    sudo ./flash.sh jetson-tk1 mmcblk0p1

Unfortunately it hits the same error.

Did this last attempt regenerate both “boot/system.img” and “boot/system.img.raw”? If so, what was the exact size of the system.img.raw? From the location of the flash, does “df -H” show the partition has sufficient space still?

Ended up it’s a faulty board, requested a replacement, follow the same steps it’s all good.