Jetson TK1 boot and flashing questions

Hi, I downloaded L4T R21.4. I am trying to flash in a TLK image into one of the partitions. I want UBoot to boot TLK and have TLK boot L4T.

I see that there is a configuration file for defining partitions which is then modified by the script. It calls mkgpt to built the BCT and PPT sections and nvflash with fastboot.bin to download the images over according to the configuration file.

However, both nvflash and other nvidia tools are given as binary only, so I have a few questions that I was wondering if anyone can answer on here:

  1. Can we create/delete partitions as we please (e.g., flash TLK into the LNX partition)? Does nvflash look for specific partition names or fixed positions? Especially for partitions that does not seem to be flashed with anything according to the cfg file, can we just remove them? Is there set size or positions that some partitions have to be or be called?
  2. mkgpt generates new images for GPT (BCT) and PPT sections. How does it know what is the bootloader and calculate the right checksum? Does it go find the EBT section defined in the configuration file to see what image to use?
  3. UBOOT_TEXT_BASE, what is this for? The script does not seem to use it when you flash jetson-tk1 and mmcblk0p1. Is this where U-Boot loads itself into DRAM? Is this the start of DRAM?
  4. L4T kernel args do not seem to be documented. It is unclear what each parameter specifies. Is there documentation on this? Specifically how L4T gets its carve-out in DRAM?
  5. What is the GIC_DIST and GIC_CPU addresses for? Is that interrupt peripherals? How does that work? Why does TLK care? Is the control of those registers how peripherals are partitioned?

Thank you!

Hi quantumlight

For general flash questions, please refer to Tegra Linux Driver Package Development Guide, the ‘Ger started’ -> ‘Flashing the Boot Loader and Kernel’ section.

And, The TLK is not supported on current L4T.


Does it support upstream kernels? What does TLK support right now?

Some of the upstream kernels seem to work, but you’d lose some hardware accelerated functions. Don’t know if upstream would make any difference with TLK, it’s probably a trial and error just to find out.