I compiled SPE firmware source code but How to flash in jetson tx2 ?

I compiled my intel PC. How to flash in jetson tx2? You wrote this doc but I could’t find

Linux_for_Tegra/bootloader/

in local PC or jetson tx2. If I wrote code. Should I compile in Intel cpu evertime ?
and This works without ubuntu ?

I mentioned about :

https://developer.nvidia.com/embedded/dlc/l4t_rt_aux_cpu_src
# FLASH

1. Back up the original copies of `spe.bin` and `spe_t194.bin` located in the
following directory:

    Linux_for_Tegra/bootloader/

2. Copy the generated `${OUTDIR}/spe.bin` to the following locating, depending on your target.
   - For Jetson TX2, copy it to:

         Linux_for_Tegra/bootloader/spe.bin
   - For the Jetson AGX target, copy it to:

         Linux_for_Tegra/bootloader/spe_t194.bin

   The `Linux_for_Tegra` directory is part of the extracted L4T build that
   you used to flash the Jetson device.
3. Use the command below to just flash this firmware for Cortex-R5 partition:

       sudo ./flash.sh -k spe-fw jetson-<tx2 or xavier> mmcblk0p1

I couldn’t find

Linux_for_Tegra/bootloader/

directory in my PC or tx2.

I would be grateful if you could help me.
Thanks

FYI, if you’ve run JetPack/SDK Manager before, then on the host PC (you can’t run JetPack on the Jetson) you will have a directory “~/nvidia/nvidia_sdk/”. The “P3310” is a reference to the TX2, and if you had JetPack4.2 and had worked on a TX2, then this means you would also have “~/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/”. This is where you find the “Linux_for_Tegra/” directory.

Content within this is where you find the flash.sh app, and the “bootloader/” subdirectory. Content within “Linux_for_Tegra/” is pieced together to create various components the TX2 would use for flashing (there is no “extra component install” within “Linux_for_Tegra/”, this content is for flashing or organizing what would be flashed). The “bootloader/” directory has (as the name implies) content which is used to assemble the boot process, e.g., the bootloader or some device tree content related to booting.

If you were to flash on command line…a full flash and not just pieces…then you’d use flash.sh and the root filesystem would be taken from the “rootfs/” directory, but first some of the “rootfs/boot/” content would be added in from the “Linux_for_Tegra/bootloader/” and “Linux_for_Tegra/kernel/” content (actual content used depends on flash options). Many partitions which are much smaller than the rootfs would be flashed, some of which are device tree or bootloader binary content. The actual root partition would be flashed from an image of that partition which ends up in “bootloader/system.img” (which in turn is a sort of compressed version of the full “bootloader/system.img.raw”).

Note that you have JetPack/SDKM download content and leave it in place without actually flashing or adding packages…basically the “~/nvidia/nvidia_sdk/” content can be downloaded and you wouldn’t necessarily have to flash or add packages in order to see what is there.